Jedą z podstawowych funkcji systemu operacyjnego w komputerze jest zapewnienie dostępu do danych. Z punktu widzenia użytkownika potrzebne są do tego narzędzia które pozwalają tworzyć i listować pliki, przeglądać je, zmieniać ich nazwy i atrybuty, grupować w logiczne struktury, archiwizować i w końcu usuwać.
W Linuksie operowanie na plikach można wykonywać, podobnie jak i inne rzeczy, na wiele różnych sposobów. Tu zajmiemy się podstawowymi narzędziami do operacji plikowych w wierszu poleceń i w terminalu. Zakładamy, że czytelnik posiada podstową wiedzę o plikach i katalogach w systemach plików. Omawiamy krótko polecenia, ich główne funkcje oraz pokazujemy praktyczne użycie.
ls
Podstawowe polecenie do listowania plików w katalogach to ls.
Bez żadnych dodatkowych opcji polecenie 'ls' listuje pliki znajdujące się w bieżącym katalogu:
$ ls
dokumenty filmy obrazek.png plik-testowy skrypt1.sh zupa-pomidorowa-przepis.txt
Widać kilka nazw. Jak zobaczymy dalej, są to nazwy plików i katalogów. Niekiedy
obiekty na liście z programu ls są oznaczone kolorami w zależności od
typu:
Główne funkcje polecenia ls
Szczegółowa forma listy plików
Z opcją -l pliki są wyświetlane w postaci tabeli,
widoczne są dodatkowe informacje takie jak atrybuty pliku, właściciel,
rozmiar, data modyfikacji, np.
$ ls -l
total 88
drwxrwxr-x 2 libran libran 4096 Nov 11 20:45 dokumenty
drwxrwxr-x 2 libran libran 4096 Nov 11 20:45 filmy
-rw-r--r-- 1 libran libran 72100 Nov 11 20:30 obrazek.png
-rw-rw-r-- 1 libran libran 0 Nov 11 20:43 plik-testowy
-rwxrwxr-x 1 libran libran 198 Nov 11 20:44 skrypt1.sh
-rw-rw-r-- 1 libran libran 2129 Nov 11 20:28 zupa-pomidorowa-przepis.txt
Pliki ukryte
Z przełącznikiem -a pokazywane są ukryte pliki. Pliki których nazwa zaczyna się od .
(kropka) w Linuksie są umownie traktowane jako pliki ukryte. Opcja -a
wyłącza ignorowanie tych plików. Wyświetlane jest wszystko w bieżącym
katalogu, np.
$ ls -a
. .applrc dokumenty obrazek.png skrypt1.sh
.. .config filmy plik-testowy zupa-pomidorowa-przepis.txt
Zauważmy, że dodatkowo widoczne są pliki .applrc oraz .config zaczynające
się kropką, a także dwa obiekty . i ... Ich znaczenie zostanie
objaśnione w dalszej części.
Sortowanie według rozmiaru;
ls pozwala posortować wyświetlane pliki według rozmiaru, największe
znajdują się na początku listy.
$ ls -lS
total 88
-rw-r--r-- 1 libran libran 72100 Nov 11 20:30 obrazek.png
drwxrwxr-x 2 libran libran 4096 Nov 11 20:45 dokumenty
drwxrwxr-x 2 libran libran 4096 Nov 11 20:45 filmy
-rw-rw-r-- 1 libran libran 2129 Nov 11 20:28 zupa-pomidorowa-przepis.txt
-rwxrwxr-x 1 libran libran 198 Nov 11 20:44 skrypt1.sh
-rw-rw-r-- 1 libran libran 0 Nov 11 20:43 plik-testowy
Sortowanie według czas modyfikacji; najnowsze na początku
$ ls -lt
total 88
drwxrwxr-x 2 libran libran 4096 Nov 11 20:45 filmy
drwxrwxr-x 2 libran libran 4096 Nov 11 20:45 dokumenty
-rwxrwxr-x 1 libran libran 198 Nov 11 20:44 skrypt1.sh
-rw-rw-r-- 1 libran libran 0 Nov 11 20:43 plik-testowy
-rw-r--r-- 1 libran libran 72100 Nov 11 20:30 obrazek.png
-rw-rw-r-- 1 libran libran 2129 Nov 11 20:28 zupa-pomidorowa-przepis.txt
Sortowanie odwrotne
Danie przełącznika -r powoduje, że sortowanie według rozmiaru albo daty
jest wykoywane w odwrotnym porządku. o najstarszych do najnowszych, i od
najmniejszych do największych.
$ ls -lSr
total 88
-rw-rw-r-- 1 libran libran 0 Nov 11 20:43 plik-testowy
-rwxrwxr-x 1 libran libran 198 Nov 11 20:44 skrypt1.sh
-rw-rw-r-- 1 libran libran 2129 Nov 11 20:28 zupa-pomidorowa-przepis.txt
drwxrwxr-x 2 libran libran 4096 Nov 11 20:45 filmy
drwxrwxr-x 2 libran libran 4096 Nov 11 20:45 dokumenty
-rw-r--r-- 1 libran libran 72100 Nov 11 20:30 obrazek.png
Informacja o katalogu
Jeśli argumentem polecenia ls jest katalog, to listuje ono jego
zawartość:
$ ls -l filmy
total 8
-rw-rw-r-- 1 libran libran 5 Nov 29 21:10 big_buck_bunny_1080p_h264.mov
-rw-rw-r-- 1 libran libran 5 Nov 29 21:17 FourHorsemenOfTheApocalypse.mp4
Jednak jeśli dodamy przełącznik -d to zostanie wylistowana tylko
informajca o samym katalogu:
$ ls -ld filmy
drwxrwxr-x 2 libran libran 4096 Nov 29 21:17 filmy
Listowanie rekurencyjne
Przełącznik -R powoduje rekurencyje listowanie zawartości wszystkich
podkatalogów we wskazanym lub bieżącym katalogu.
$ ls -lR
total 88
drwxrwxr-x 2 libran libran 4096 Nov 11 20:45 dokumenty
drwxrwxr-x 2 libran libran 4096 Nov 29 21:17 filmy
-rw-r--r-- 1 libran libran 72100 Nov 11 20:30 obrazek.png
-rw-rw-r-- 1 libran libran 0 Nov 11 20:43 plik-testowy
-rwxrwxr-x 1 libran libran 198 Nov 11 20:44 skrypt1.sh
-rw-rw-r-- 1 libran libran 2129 Nov 11 20:28 zupa-pomidorowa-przepis.txt
./dokumenty:
total 0
./filmy:
total 8
-rw-rw-r-- 1 libran libran 5 Nov 29 21:10 big_buck_bunny_1080p_h264.mov
-rw-rw-r-- 1 libran libran 5 Nov 29 21:17 FourHorsemenOfTheApocalypse.mp4
Polcenie ls ma jeszcze więcej przełączników, które pozwalają wybierać jaki
informacje mają być wyświetlone. Ich omówienie wykracza poza ten artykuł.
Zainteresowanych odsyłamy od podręcznika użytkownika man ls lub do sieci.
pwd
Pracując w powłoce Bash w Linuksie zawsze mamy do dyspozycji pewien domyślny
katalog. Mówimy, że znajdujemy się w bieżącym katalogu roboczym.
Za raz po zalogowaniu się jest to katalog domowy. Katalog tej jest
przeszukiwany i listowany przez polecenia takie jak ls ale nie tylko.
Są w nim zapisywane pliki z różnych programoów jeżeli nie wskazana
konkretnej ścieżki.
Bieżący katalog można wyświetlić poleceniem pwd.
$ pwd
/home/libran/lxw
cd
Wskazanie bieżącego katalogu roboczego w powłoce można zmieniać, można
poruszać się między katalogami. Służy do tego polecenie cd:
$ pwd
/home/libran/lxw
$ cd filmy
$ pwd
/home/libran/lxw/filmy
Komenda cd zmienia bieżący katalog na ten wskazany jako argument.
Argumentem może być katalog będący podkatalogiem bieżącego katalogu,
katalog położony w pełnej ścieżce jeśli argument zaczyna się znaku '/'.
Jak argument mogą również zostać podane specjalne symbole: . - oznaczający
bieżący katalog, oraz .. - oznaczający katalog nadrzędny. Katalogi można
łączyć za pomocą znaku / tworząc ścieżkę katalogów. Pojedynczy,
samodzielny znak / oznacza główny katalog systemowy (ang. root).
cd użyte bez żadnego argumentu przenosi do katalogu domowego użytkownika.
Przykłady zastosowania:
$ pwd
/home/libran/lxw/filmy
$ cd ..
$ pwd
/home/libran/lxw
$ cd
$ pwd
/home/libran
$ cd /var/log
$ pwd
/var/log
$ cd ../lib/man-db
$ pwd
/var/lib/man-db
Powłoka Bash może wyświetlać bieżący katalog w znaku zachęty (prompt):
libran@libran:/var/lib/man-db $ pwd
/var/lib/man-db
W przykładach, dla większej czytelności pomijamy ten aspekt pracy w powłoce.
Powiązane polecenia i narzędzia
tree- listowanie zawartości katalog w formie rozgałęzionej struktru - drzewa katalogówezarealpathmc