Program ls - listowanie zawartości katalogu

Jerzy Biernacki
20.08.2015

W Linuksie dosyć często używa się poleceń tekstowych. W obsłudze systemu niezbędna jest zatem znajomość tych poleceń. Jednym z nich jest ls - narzędzie do listowania zawartości w danym katalogu. Jest to jeden z programów, który warto poznać bliżej.

Podobne polecenie można znaleźć chyba w każdym innym systemie operacyjnym. Przykładowo w DOS-ie taki program nosił nazwę dir. Można było dokładać mu pewne parametry, dzięki którym wyświetlała się zawartość odpowiednio zdefiniowanych nazw plików (np. wszystkie zaczynajace się na literę a).
W Linuksie również istnieje polecenie dir oraz rozszerzone vdir. Mogą one stanowić dowiązanie symboliczne do programu ls (z odpowiednimi parametrami). Ich działanie jest bardzo podobne do ls, z resztą zostały wszystkie napisane przez tych samych autorów - Richarda Stallmana i Davida MacKenzie.


Program wywołany bez specjalnych parametrów wyswietli tylko katalogi i pliki (w obecnym katalogu lub podanym), np.:
ja@home:/$ ls /usr

bin doc games include info lib local sbin share src X11R6


- dostajemy to samo co dzięki dir
Jest możliwość podania bardziej szczegółowych informacyji, wtedy musimy wpisać:


ls -l
    (małe "L")
ja@home:/$ ls -l /usr
razem 108
drwxr-xr-x
drwxr-xr-x
drwxr-xr-x
drwxr-xr-x
lrwxrwxrwx
drwxr-xr-x
drwxrwsr-x
drwxr-xr-x
drwxr-xr-x
drwxrwsr-x
drwxr-xr-x
2
2
2
53
1
109
9
2
207
2
6
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
staff
root
root
src
root
32768
4096
4096
4096
10
45056
4096
4096
4096
4096
4096
2006-04-22 19:37
2006-04-13 23:46
2006-04-13 17:43
2006-04-13 23:46
2006-04-13 15:00
2006-04-23 19:37
2006-04-13 15:00
2006-04-13 23:46
2006-04-23 19:37
2004-12-15 23:55
2006-04-13 17:38
bin
doc
games
include
info -> share/info
lib
local
sbin
share
src
X11R6


- efekt jak w przypadku vdir


Dzieki takiej postaci otrzymujemy informacje takie jak (kolejno):
typ pliku (katalog, dowiązanie, plik wykonywalny itp., np. d) i prawa dostępu - rwxr-xr-x, następnie liczba powiązań, właściciel, grupa przypisana do pliku, rozmiar, data modyfikacji i nazwa elementu.

 

ls -a

Parametr umożliwia wyświetlenie także ukrytych plików (poprzedzonych kropką) oraz symbole "." lub "..", które oznaczają odpowiednio katalog aktualny i nadrzędny.


ja@home:/temp$ ls -a
.  ..  katalog  kopia_zapas~  plik  .ukryty
Jeżeli, nie chcesz widzieć tych pierwszych kropek użyj ls -A.

 

ls -B

Parametr określa ukrycie pliku kopii zapasowej (w moim katalogu temp jest to kopia_zapas~) - nie wyświetla plików oznaczonych znakiem tyldy:
ja@home:/temp$ ls -B
katalog  plik


ls -d

Pokazuje tylko katalogi w obecnym lub wskazanym katalogu:
ja@home:/temp$ ls -d
katalog


ls -I wzorzec
      (duże "i")

Ignoruje pliki i katalogi, których nazwy odpowiadają wzorcowi:

ja@home:/temp$ ls -I p???
katalog  kopia_zapas~


Wzorzec można określić np. że zaczyna sie od litery "p", wtedy użyjemy gwiazdki: ls -I p*; lub że po "p" są jeszcze 3 znaki: ls -I p???; albo konkretny wyraz: ls -I plik
Jezeli chcemy natomiast wyświetlić odwrotne działanie powyższej komendy, wywołujemy wszystko tak samo tylko bez parametru -I - zamiast ignorować pliki określone wzorcem, wyświetli pliki spełniające określone kryteria.

ls -R


Umożliwia wyświetlanie zawartości katalogów podrzędnych (ang. recursive):
ja@home:/temp/katalog$ ls -R
.:
katalog_w_katalogu  plik_w_katalogu

./katalog_w_katalogu:
ls -r
Polecenie spowoduje odwrócenie kolejności wyświetlania plików (ang. reverse):
ja@home:/temp$ ls -r
plik  kopia_zapas~  katalog
ls -S
Sortowanie plików wg. rozmiarów - największy będzie pierwszy.
ls -t
Sortowanie plików wg. czasu modyfikacji.
ls -u
Sortuje wg. ostatniego dostępu do pliku (nie ostatniej modyfikacji).
ls -U
Powoduje niesortowanie zawartości katalogu.
ls -x
Opcja spowoduje posortowanie plików wg. ich rozszerzeń (alfabetycznie).
ls -i
Pokazuje, po lewej stronie nazwy pliku, numer indeksowy (seryjny) tego pliku:


ja@home:/temp$ ls -i


915899  katalog  507908  kopia_zapas~  507907  plik
ls -o
Szczegółowy format listowania (jak z -l - małe "L"), ale nie wyświetla informacji o grupie:


ja@home:/temp$ ls -o
razem 4
drwxr-xr-x
3
root
4096
2006-04-29 17:27
katalog
-rw-r--r--
1
root
0
2006-04-29 17:13
kopia_zapas~
-rw-r--r--
1
root
0
2006-04-29 17:13
plik

itd...


ls -s


Pokazuje rozmiar (ang. size) pliku po lewej stronie jego nazwy.
Wymienione wyżej opcje wydają mi się najbardziej przydatne. Najczęsciej jednak używa się parametrów wzorcowych (z ignorowaniem wzorca lub bez), pokazywanie plików ukrytych i długiej listy plików.
Warto wiedzieć, że parametry możemy ze sobą łączyć, np. ls -la. Kolejność parametrów raczej nie ma znaczenia (chyba, że przy sortowaniu), ścieżkę również można podać za lub przed parametrami (odzielone spacją).

Zgłoś swój pomysł na artykuł

Więcej w tym dziale Zobacz wszystkie