Komendy Linux: Wyświetlanie zawartości folderu

Wyświetlanie zawartości katalogu

 

Wyświetlanie katalogów, zwane inaczej listowaniem ich zawartości, można wykonać w systemie Linux za pomocą kilku poleceń. System udostępnia bardzo rozbudowane polecenie służące do wykonywania tego typu zadań - jest nim ls.

 

  • Polecenie dir

 

Polecenie to może przypominać jedno z poleceń systemu operacyjnego MS-DOS - wszyscy użytkownicy, którzy znają to środowisko, zapewne poczuli się jak w domu. Jednak wynik działania tego polecenia w Linuksie różni się od tego z systemu DOS. W Linuksie wyświetlana po wykonaniu tego polecenia lista plików

i katalogów jest prezentowana w postaci linii, a nie w kolumnie. Trzeba przyznać, że taki zapis utrudnia nieco odczytanie drzewa katalogów i orientację w nim, szczególnie w przypadku gdy użytkownik przyzwyczajony jest do prezentowania go w postaci znanej z MS-DOS. Oto przykład wykonania polecenia dir w systemie Linux:

 

[email protected]:~$ dir

 

 

 

 

 

 

  • Polecenie vdir

 

Wykonanie polecenia vdir powoduje wyświetlenie szczegółowych informacji o zawartości bieżącego katalogu; oprócz nazw plików i katalogów podawane są informacje o typie elementu, prawach

dostępu do niego, jego właścicielu oraz kilka innych.

 

[email protected]:~$ vdir

 

 

 

 

  • Polecenie Is

 

Program ten jest bardzo rozbudowany i posiada wiele parametrów, które pokrótce omówię. Wykonanie samego polecenia ls (bez dodatkowych parametrów) da efekt identyczny z tym, jaki powodowało wykonanie polecenia dir. Aby uzyskać więcej informacji na temat zawartości katalogu, powinniśmy zastosować polecenie ls wraz z parametrem - l. Wykonanie tego polecenia w takiej postaci daje wynik identyczny z wynikiem działania polecenia vdir. Jako parametr można podać ścieżkę dostępu do katalogu, którego zawartość chcemy wyświetlić. Jeżeli jej nie podamy, zawsze wyświetlona zostanie zawartość katalogu bieżącego - tego, w którym się obecnie znajdujemy. Najbardziej przydatnym parametrem polecenia ls jest -l; dzięki jego wykonaniu otrzymamy kompletny zestaw informacji na temat

zawartości katalogu i typów zawartych w nim elementów. Wyświetlone w poniższym przykładzie informacje, zdobyte wskutek wykonania polecenia z parametrem -1, zinterpretujemy na podstawie pierwszej linii wyniku:

 

drwxr-xr-x 2 root root 4096 lis 28 17:47 bin

 

  • kolumna 1.: typ elementu i prawa dostępu do niego (drwxr-.-xr-x),

  • kolumna 2.: liczba powiązań do tego elementu (2),

  • kolumna 3.: właściciel pliku (root),

  • kolumna 4.: grupa, która została przypisana do tego pliku (root),

  • kolumna 5.: rozmiar elementu (4096),

  • kolumna 6.: data modyfikacji (lis 28 17:47),

  • kolumna 7.: nazwa elementu (bin).

 

Zapis drwxr-xr-x z kolumny pierwszej składa się z czterech zasadniczych elementów. Pierwsza litera zawsze określa typ elementu. Oto symbole oznaczające typy elementów:

 

  • - - zwykły plik,

  • b - specjalny plik blokowy,

  • c - specjalny plik znakowy,

  • d - katalog,

  • 1 - dowiązanie symboliczne,

  • p - nazwany potok,

  • s - gniazdo.

 

A zatem, jak można wnioskować na podstawie zapisu d rwxr+xr-x, rozpatrywany obiekt jest katalogiem.

 

 

 

 

 

  • Parametry polecenia (ls):

 

-a Zastosowanie polecenia ls wykonanego z parametrem -a doprowadzi do wyświetlenia wszystkich plików i katalogów w danej lokalizacji. Pokazane zostaną także pliki ukryte, które w przypadku wywołania ls bez tego parametru nie są widoczne.

 

[email protected]:~$ ls -a

. .. katalog plik1 plik2 plik_kopii- .ukryty_plik

 

 

 

 

 

 

-A Zastosowanie tego parametru pozwoli zobaczyć wszystkie elementy w podanej lokalizacji, wraz z plikami ukrytymi, jednak w tym przypadku w wyniku nie będą widoczne symbole „ . " i „ . . ", które oznaczają katalog bieżący i nadrzędny:

 

[email protected]:~$ ls -A

katalog plik1 plik2 plik_kopii- .ukryty_plik

 

 

 

 

 

 

-B Użycie parametru - B spowoduje ukrycie plików kopii zapasowych, które znajdują się w danym katalogu. Pliki te można rozpoznać po znaku tyldy (-) występującym na końcu nazwy.

 

[email protected]:~$ ls -B

katalog plik1 plik2

 

 

 

 

 

 

-d Jeżeli w danym katalogu zawarte są pliki i katalogi podrzędne, zastosowanie polecenia ls wykonanego bez parametru -d spowoduje wyświetlenie ich wszystkich. Jeżeli jednak zastosujemy parametr -d, zostaną wypisane tylko elementy rozpoznane jako katalogi:

 

[email protected]:~$ ls -d

katalog

 

-I [wzorzec] , --ignore=[wzorzec]

Dzięki temu parametrowi możemy nie pokazywać plików, których nazwy zawierają zdefiniowany przez nas wzorzec. Podobnie jak w systemie MS-DOS, także i tu możemy używać znaków ogólnych, takich jak gwiazdka (*), która zastępuje dowolny ciąg znaków (również pusty), oraz znak zapytania (?), który zastępuje dowolny pojedynczy znak.W zaprezentowanym tu przykładzie wyświetlona została zawartość katalogu, z wyłączeniem tych elementów, których nazwy zaczynają się na literę „p", na przykład:

 

[email protected]:~$ ls --ignore='p*'

katalog

 

Po podaniu wzorca nazwy elementu można wyświetlić tylko te elementy znajdujące się w danym katalogu, które pasują do tego wzorca. Wzorce tworzy się w taki sam sposób jak w systemie MS-DOS. W tym przypadku chcemy, aby wyświetlane były elementy, których nazwa rozpoczyna się od litery „p":

 

[email protected]:~$ ls p*

plik1 plik2 plik_kopii

 

 

 

 

 

 

 

Taki zapis pozwala na wyświetlenie wszystkich elementów, których nazwa zaczyna się od litery „p" i składa się z pięciu znaków:

 

[email protected]:~$ ls p?????

plik1 plik2

 

 

 

 

 

 

-R , --recursive

Zastosowanie tych parametrów powoduje rekurencyjne wyświetlenie zawartości katalogu i jego podkatalogów. W bieżącym katalogu z naszego przykładu mamy także podkatalog o nazwie katalog. Jak widać, po wydaniu polecenia ls z parametrem -R wyświetlona została także jego zawartość:

 

[email protected]:~$ ls -R

katalog plik1 plik2 plik_kopii

 

./katalog:

plik1_w_katalogu

 

-r , --reverse

Użycie tych parametrów powoduje odwrócenie kolejności wyświetlania zawartości katalogu. Opcja ta przydaje się najbardziej w przypadku sortowania, podczas którego możemy odwrócić domyślną kolejność wypisywanych elementów.

 

[email protected]:~$ ls -r

plik_kopii plik2 plik1 katalog

 

 

 

 

 

 

-S , --sort= size [rozmiar pliku]

Użycie tych parametrów powoduje posortowanie wyniku według wielkości plików. Największe pliki są wyświetlane jako pierwsze na liście, zaraz za katalogami:

 

[email protected]:~$ ls -S

katalog_duzy plik plik1 plik1.1 plik_kopii

 

 

 

 

 

 

-t , --sort=time [czas utworzenia pliku]

Za pomocą tego parametru sortuje się wyniki według zasu ich modyfikacji. Najnowsze pliki są wyświetlane jako ierwsze:

 

[email protected]:~$ ls -t

duzy_plik katalog plik_kopii plik2 plik1

 

 

 

 

 

 

-u , --time=atime , --time=access , --time=use

W tym przypadku wyniki sortowane są według czasu ostatniego dostępu do pliku. Pliki, do których odwołano się ostatnio, są wyświetlane jako pierwsze.

 

[email protected]:~$ ls -u

duzy_plik plik1 plik2 katalog plik_kopii

 

-U , --sort=none

Użycie tego parametru zapewni, że zawartość katalogu nie będzie sortowana. Elementy wyświetlone na liście wystąpią na niej dokładnie w takiej kolejności, w jakiej znajdują się w katalogu.

 

[email protected]:~$ ls -U

plik1 plik2 katalog duzy_plik plik_kopii

 

 

 

 

 

 

 

 

 

-X , --sort=extension [roszszerzenie pliku]

Użycie tego parametru powoduje posortowanie plików według ich rozszerzeń. Pliki, które takowych nie posiadają, zawsze są wypisywane jako pierwsze.

 

[email protected]:~$ ls -X

duzy_plik katalog plik1 plik2 plik.exe plik1.jpg plik2.mov plik.zip