Core utilities (Polski)
Narzędzia podstawowe to fundamentalne narzędzia systemu GNU/Linux. Ten artykuł zawiera niepełny przegląd tych narzędzi, podaje odnośniki do dokumentacji oraz opisuje przydatne alternatywy. Zakres artykułu obejmuje między innymi GNU Coreutils. Większość narzędzi podstawowych to tradycyjne narzędzia Uniksa, wiele z nich zostało znormalizowanych przez POSIX i rozwiniętych o dodatkowe funkcje.
Większość narzędzi wiersza poleceń jest opisana na stronach podręcznika man page, zaś narzędzia GNU Project mają dokumentację głównie w podręcznikach Info. Niektóre powłoki udostępniają polecenie help dla wbudowanych poleceń. Dodatkowo większość narzędzi wyświetla informacje o użyciu po uruchomieniu z flagą --help
.
Niezbędne narzędzia
Poniższa tabela zawiera listę ważnych narzędzi, które użytkownicy Arch Linux powinni znać. Zobacz także info(1.pl).
Pakiet | Narzędzie | Opis | Dokumentacja | Alternatywy |
---|---|---|---|---|
shell built-ins | cd | zmienia katalog roboczy | cd(1p) | #Alternatywy dla cd |
GNU coreutils | ls | wyświetla zawartość katalogu | ls(1.pl), info | tree, #Alternatywy dla ls |
cat | wyświetla zawartość plików | cat(1.pl), info | tac(1), #Alternatywy dla cat | |
mkdir | tworzy katalog | mkdir(1.pl), info | ||
rmdir | usuwa pusty katalog | rmdir(1.pl), info | ||
rm | usuwa pliki lub katalogi | rm(1.pl), info | shred unlink(1) | |
cp | kopiuje pliki lub katalogi | cp(1.pl), info | #Alternatywy dla cp | |
mv | przenosi lub zmienia nazwy plików lub katalogów | mv(1.pl), info | ||
ln | tworzy dowiązania twarde lub symboliczne | ln(1.pl), info | sln(8) (przywracanie nazw so) | |
chown | zmienia właściciela i grupę pliku | chown(1.pl), info | chgrp(1) | |
chmod | zmienia uprawnienia pliku | chmod(1.pl), info | ||
dd | konwertuje i kopiuje pliki | dd(1.pl), info | #Alternatywy dla dd | |
df | wyświetla zajętość dysku systemu plików | df(1.pl), info | #Alternatywy dla df | |
du | szacuje zużycie przestrzeni dyskowej przez pliki i katalogi | du(1.pl), info | #Alternatywy dla du | |
GNU tar | tar | archiwizator tar | tar(1.pl), info | archivers |
GNU less | less | przeglądarka tekstu w terminalu | less(1.pl) | terminal pagers |
GNU findutils | find | wyszukuje pliki lub katalogi | find(1.pl), info, GregsWiki | #Alternatywy dla find |
GNU diffutils | diff | porównuje pliki linia po linii | diff(1.pl), info | #Alternatywy dla diff |
GNU grep | grep | wyszukuje i wypisuje linie pasujące do wzorca | grep(1.pl), info | #Alternatywy dla grep |
GNU sed | sed | edytor strumieniowy | sed(1.pl), info, przykłady[dead link 2025-08-15—HTTP 404] | sad, sd |
GNU AWK (gawk) | AWK | język skanowania i przetwarzania tekstu | gawk(1.pl), info | AWK#Alternative implementations |
util-linux | dmesg | wypisuje lub kontroluje pierścieniowy bufor jądra | dmesg(1.pl) | systemd journal |
lsblk | wyświetla urządzenia blokowe | lsblk(8.pl) | ||
mount | montuje system plików | mount(8.pl) | ||
umount | odmontowuje system plików | umount(8.pl) | ||
su | przełącza na innego użytkownika | su(1.pl) | sudo, doas | |
kill | kończy proces | kill(1.pl) | pkill(1.pl), killall(1.pl) | |
procps-ng | pgrep | wyszukuje procesy po nazwie lub atrybutach | pgrep(1.pl) | pidof(1.pl) |
ps | wyświetla informacje o procesach | ps(1.pl) | top(1.pl), menedżery zadań | |
free | wyświetla ilość wolnej i używanej pamięci | free(1.pl) |
Zapobieganie utracie danych
Polecenia rm
, mv
, cp
oraz przekierowania w powłoce usuwają lub nadpisują pliki bez pytania o potwierdzenie. Wszystkie trzy programy rm
, mv
i cp
obsługują opcję -i
, która przed każdym usunięciem lub nadpisaniem zadaje pytanie o potwierdzenie. Niektórzy użytkownicy ustawiają -i
domyślnie za pomocą aliasów. Jednak poleganie na tej metodzie może być niebezpieczne, ponieważ łatwo się do niej przyzwyczaić, a następnie stracić dane, pracując na systemie lub koncie, gdzie aliasy te nie są ustawione. Najlepszym sposobem ochrony przed utratą danych jest tworzenie kopii zapasowych.
Dodatkowe narzędzia
W tej tabeli wymieniono narzędzia, które często się przydają.
Pakiet | Narzędzie | Opis | Dokumentacja | Alternatywy |
---|---|---|---|---|
shell built-ins | alias | definiuje lub wyświetla aliasy | alias(1p) | |
type | wyświetla typ polecenia | type(1p) | command(1.pl), whereis(1.pl), which(1.pl) | |
time | mierzy czas wykonania polecenia | time(1p) | ||
GNU coreutils | tee | kopiuje dane ze stdin do stdout i do plików | tee(1.pl), info | pee(1.pl) |
mktemp | tworzy tymczasowy plik lub katalog | mktemp(1.pl), info | ||
mknod | tworzy nazwany potok lub węzeł urządzenia | mknod(1.pl), mkfifo(1.pl), info | ||
truncate | zmniejsza lub zwiększa rozmiar pliku | truncate(1.pl), info | fallocate(1.pl) | |
basenc | koduje dane wejściowe i wypisuje wynik | basenc(1.pl), base64(1.pl), info | ||
cut | wyświetla wybrane części linii | cut(1.pl), info | colrm(1.pl), hck, choose | |
tr | zastępuje lub usuwa znaki | tr(1), info | uconv(1) | |
od | wypisuje pliki w formatach ósemkowym i innych | od(1.pl), info | hexdump(1.pl), vim, xxd(1.pl) | |
sort | sortuje wiersze | sort(1.pl), info | ||
uniq | usuwa powtarzające się wiersze | uniq(1.pl), info | anewer, runiqAUR, huniq-gitAUR | |
comm | porównuje dwa posortowane pliki linia po linii | comm(1.pl), info | zetAUR | |
head | wyświetla początkową część pliku | head(1.pl), info | ||
join | łączy wiersze z dwóch plików według wspólnego pola | join(1.pl), info | combine(1.pl), zetAUR | |
md5sum | oblicza sumy kontrolne (hashe) plików | sha256sum(1.pl), sha512sum(1.pl), info | shasum(1.pl), rhash(1.pl) | |
tail | wyświetla końcową część pliku | tail(1.pl), info | ||
wc | zlicza linie, słowa i bajty | wc(1.pl), info | ||
GNU binutils | strings | wyodrębnia czytelne znaki z plików binarnych | strings(1.pl), info | stringsextAUR |
util-linux | column | rozdziela tekst na kolumny (opcjonalnie wyświetla tabelę z siatką) | column(1.pl) | paste(1.pl), csviewAUR |
GNU findutils | xargs | tworzy listę argumentów ze stdin i wywołuje z nimi polecenie | xargs(1.pl) | parallel(1.pl) (parallel_alternatives(7.pl)) |
GNU glibc | iconv | konwertuje kodowanie znaków | iconv(1.pl) | recode, uconv(1.pl) |
GNU sharutils | uudecode | koduje plik do formatu przyjaznego poczcie e-mail | uuencode(1.pl), uudecode(1.pl), info | uudeview(1.pl) |
file | file | rozpoznaje typ pliku | file(1.pl) |
Pakiet moreutils zapewnia dodatkowe przydatne narzędzia (np. sponge(1.pl)), których nie ma w GNU coreutils.
Alternatywy
- 9base — Port różnych oryginalnych narzędzi Plan 9 na systemy Unix.
- BusyBox — Zestaw narzędzi dla systemów ratunkowych i wbudowanych.
- Heirloom Toolchest — Tradycyjne implementacje standardowych narzędzi Uniksa.
- sbase — Minimalistyczna implementacja podstawowych narzędzi *nix (suckless).
- Toybox — Wszechstronny zestaw narzędzi w wierszu poleceń dla Linuksa.
- ubase — Rozszerzony zestaw narzędzi sbase.
- uutils — Wieloplatformowa implementacja narzędzi GNU coreutils w języku Rust.
Alternatywy dla cat
- bat — Klon cat z kolorowaniem składni i integracją z Gitem.
Alternatywy dla cd
- autojump — Szybszy sposób nawigacji po systemie plików z linii poleceń.
- zoxide — Inteligentne polecenie cd, które uczy się twoich nawyków, umożliwiając poruszanie się zaledwie kilkoma naciśnięciami klawiszy.
Zobacz też Bash#Auto "cd" when entering just a path oraz Zsh#Remembering recent directories.
Alternatywy dla date
- dateutils — Przydatne narzędzia CLI do pracy z datą i czasem; szybkie obliczenia na datach i konwersje w powłoce.
- pdd — Małe narzędzie do obliczania różnicy między datami/czasami.
Alternatywy dla cp
Użycie rsync zamiast cp
lub mv
pozwala wznawiać przerwane transfery, wyświetlać postęp, pomijać już istniejące pliki oraz sprawdzać sumy kontrolne plików docelowych, aby zapewnić ich integralność.
Alternatywy dla ls
- broot — Nowy sposób przeglądania i nawigacji po drzewach katalogów.
- clifm — Menedżer plików z trybem wypisywania, oferujący kolory i ikony.
- eza — Zamiennik ls z obsługą kolorów, widokiem drzewem, integracją z Git i innymi funkcjami. Oparty na exa.
- lsd — Nowoczesny ls z kolorowaniem i ikonkami.
Alternatywy dla find
- fd — Prosta, szybka alternatywa dla find; domyślnie ignoruje ukryte pliki i wpisy z
.gitignore
.
- fuzzy-find — Interaktywne rozmyte (fuzzy) wyszukiwanie plików.
- plocate — Znacznie szybsze lokalizowanie.
- rawhide — Wyszukiwanie plików w wierszu poleceń przez użytkownika w mini języku inspirowanym C.
- uutils-findutils — Implementacja findutils w języku Rust.
Zobacz też Narzędzia wyszukiwania plików.
Alternatywy dla diff
- uutils-diffutils — Implementacja diffutils w języku Rust.
Program diffutils nie oferuje porównania na poziomie słów, ale można użyć:
- cwdiff — Nakładka na GNU wdiff z kolorowaniem wyników.
- dwdiff — Front-end do porównywania słów; obsługuje kolory.
- git diff — z opcją
--color-words
porównuje słowa; z--no-index
działa poza repozytorium Git. - git-delta — Pager z kolorowaniem składni dla wyjścia git, diff i grep.
- icdiff — Kolorowy diff w Pythonie. "Improved color diff".
- wdiff — Porównuje pliki słowo po słowie (bez kolorowania).
Zobacz też Porównywanie, scalanie.
Alternatywy dla grep
- mgrep — Grep dla wzorców wielowierszowych.
- pdfgrep — Wyszukiwanie tekstu w plikach PDF.
- ripgrep-all — Przeszukiwanie tekstu w wielu formatach (PDF, e-booki, Office, archiwa).
Narzędzia do przeszukiwania kodu
Narzędzia te mają na celu zastąpienie programu grep w wyszukiwaniu kodu. Domyślnie wykonują one wyszukiwanie rekurencyjne, pomijają pliki binarne i uwzględniają plik .gitignore
.
- ack — Narzędzie w Perlu, alternatywa dla grep, skierowane do programistów z dużymi drzewami kodu.
- https://beyondgrep.com/ || ackAUR
- pcre2grep — Grep zgodny z PCRE2.
- ripgrep (rg) — Narzędzie do przeszukiwania łączące zalety ack z szybkością grep.
- The Silver Searcher (ag) — Przeszukiwarka kodu podobna do ack, ale szybsza.
- ugrep (ug) — Bardzo szybki grep z interaktywnym UI, obsługą fuzzy, zapytań boolowskich, hexdumpów i innych.
Zobacz też cscope.
Filtry interaktywne
- fnf — Interaktywny fuzzy finder dla terminala.
- fzf — Interaktywny fuzzy finder ogólnego przeznaczenia (domyślnie używa find).
- fzy — Szybki, prosty fuzzy finder z zaawansowanym algorytmem oceny.
- peco — Prosty filtr interaktywny.
- percol — Dodaje interaktywne filtrowanie do potoków w powłoce.
- skim — Fuzzy finder w Rust, podobny do fzf.
Alternatywy dla dd
Alternatywne implementacje dd
W tej podsekcji wymieniono implementacje programu dd, których interfejs i domyślne zachowanie są w większości zgodne ze specyfikacją POSIX programu dd(1p).
- ddpt — Przenośna wersja sg_dd(8.pl), napisana przez opiekuna podsystemu SCSI w jądrze Linuksa, z opcjonalną, lecz bardzo wyspecjalizowaną obsługą sprzętowego wejścia/wyjścia (I/O) (zestaw komend SCSI), plus wiele innych funkcji.
- sdd — Przenośna implementacja dd dla środowisk UNIX autorstwa Joerga Schillinga, która może sprawdzać sumy kontrolne skopiowanych danych i ponawiać odczyt uszkodzonych bloków.
Odmiany GNU dd
Implementacja GNU programu dd znajdująca się w pakiecie coreutils również jest zgodna z POSIX. W niniejszym podrozdziale wymieniono jego rozgałęzienia.
- dc3dd — Zmodyfikowany dd z DC3 (Cyber Crime Center), z ulepszeniami podobnymi do dcfldd.
- dcfldd — Zmodyfikowany dd dla zastosowań kryminalistycznych i bezpieczeństwa, z hashowaniem w locie, elastycznym wymazywaniem, weryfikacją zapisu, wyjściem do wielu miejsc jednocześnie, dzieleniem wyjścia itp.
Nowoczesne zamienniki dd
W tej podsekcji wymieniono alternatywy dla polecenia dd, które nie są zgodne z POSIX (pod względem składni wiersza poleceń przypominającej JCL oraz domyślnego zachowania).
- dd_rescue — Rozbudowana alternatywa dd przydatna w skryptach, do klonowania dysków i odzyskiwania danych.
- rw — Minimalna, przenośna alternatywa dd z konwencjonalnymi opcjami.
- https://sortix.org/rw/ || rwAUR
Odmiany buffer
W tej podsekcji wymieniono rozgałęzienia bufferAUR, uniwersalnego narzędzia do buforowania operacji wejścia/wyjścia, podobnego do dd, ale posiadającego bufor o dynamicznej wielkości. Obsługuje ono operacje wejścia/wyjścia blokowego i może być używane podczas zrzutu z/na taśmę LTO w celu uniknięcia „szlifowania butów”.
- mbuffer — Kontynuacja narzędzia buffer z obsługą wątków i dodatkowymi funkcjami.
Alternatywy dla df
- duf — Narzędzie do wyświetlania użycia i wolnego miejsca na dysku.
Alternatywy dla du
- cdu — Nakładka na du z kolorami i estetycznym histogramem.
- dua — Szybki analizator przestrzeni dyskowej, pozwalający usuwać pliki, napisany w Rust.
- dust — Intuicyjniejsza wersja du, napisana w Rust.
- gdu — Analizator użycia dysku z interfejsem konsolowym, napisany w Go.
- ncdu — Lekki analizator przestrzeni dyskowej w ncurses, napisany w Zig.
Zobacz też Dyski.
Narzędzia powłoki POSIX
Wiele popularnych pakietów instaluje już najpopularniejsze narzędzia POSIX jako zależności, ale można zainstalować metapakiet posix, aby mieć pewność, że wszystkie one będą zawsze dostępne.
Oprócz obowiązkowych narzędzi istnieją również metapakiety dla niektórych opcjonalnych kategorii:
Zobacz też
- Dokumentacja GNU Coreutils
- FAQ GNU Coreutils
- Pułapki GNU Coreutils: uwagi maintenera coreutils o mylących zachowaniach poszczególnych narzędzi
- Lista narzędzi POSIX