Jak używać polecenia ls do wyświetlania listy plików i katalogów w systemie Linux

Jak używać polecenia ls do wyświetlania listy plików i katalogów w systemie Linux

Kluczowe dania na wynos

  • Polecenie ls to potężne narzędzie, którego można używać do wyświetlania listy plików i katalogów.
  • Istnieje wiele przydatnych opcji i parametrów ls, które mogą zwiększyć jego funkcjonalność i uczynić go wygodniejszym w użyciu.
  • ls -la to dobre polecenie, którego można użyć, jeśli chcesz zobaczyć wszystko w folderze.

lsCodziennie używamy polecenia Linuksa, nie myśląc o tym. Szkoda. Poświęć temu trochę uwagi, a znajdziesz wiele przydatnych opcji — w tym takie, które powinieneś dodać do swojego arsenału wiersza poleceń.

ls Wyświetla listę plików i katalogów

To lspolecenie jest prawdopodobnie pierwszym poleceniem, z którym spotyka się większość użytkowników Linuksa. Ci z nas, którzy kręcą się przy wierszu poleceń, używają go codziennie, nawet o tym nie myśląc. To może wyjaśniać, dlaczego to polecenie kryje w sobie coś więcej, niż większość użytkowników zdaje sobie sprawę. Wyświetlamy za jego pomocą listę plików, aby zobaczyć, co znajduje się w katalogu. Jeśli chcemy sprawdzić uprawnienia do pliku, wyświetlamy listę plików w długim formacie. Poza tym nie zwraca się na to uwagi.

Polecenie lsjest jednym z tych poleceń, które oferują mnóstwo opcji. Być może to jest część problemu. Jest tak wiele opcji, jak je przeglądać, aby znaleźć te przydatne? A skoro je znalazłeś, jak je pamiętasz?

Przydatne permutacje polecenia lswraz z ciągami opcji i parametrów są idealnymi kandydatami na aliasy . Tak naprawdę w większości dystrybucji to, co myślisz o „nagim” lspoleceniu, jest w rzeczywistości aliasem. Między innymi typ lstype command can be used to show the underlying definition of aliases. Let's look at the definition of ls:

wpisz ls w oknie terminala

Parametry --color=auto są dołączane automatycznie przy każdym użyciu lspolecenia. To właśnie zapewnia różne kolory dla różnych typów plików na listach.

Proste listy ls

Każdy, kto spędził trochę czasu korzystając z terminala Linux, wie, że domyślnie lswyświetla listę plików i katalogów w bieżącym katalogu.

ls

znajduje się w oknie terminala

Jeśli chcesz, aby Twój wpis był wyświetlany w jednej kolumnie, użyj -1opcji (jeden plik w wierszu):

ls -1

ls -1 w oknie terminala

Za chwilę omówimy tę dziwnie wyglądającą nazwę pliku na górze listy.

Używanie ls w różnych katalogach

Aby lswyświetlić listę plików w katalogu innym niż bieżący, podaj ścieżkę do katalogu w lswierszu poleceń. Możesz także przekazać więcej niż jeden katalog do lsi wyświetlać je jeden po drugim. W tym przypadku prosimy lso umieszczenie plików w dwóch katalogach, jednym o nazwie „Help”, a drugim o nazwie „gc_help”.

ls Help gc_help

ls Pomoc gc_help w oknie terminala

Kiedy lswyświetli zawartość pierwszego katalogu, wyświetli zawartość drugiego. Wypisuje nazwę każdego katalogu podczas jego przetwarzania:

Nazwa katalogu wyświetlana przez ls przed wyświetleniem zawartości.

Korzystanie ze wzorców plików

Aby wybiórczo wyświetlić listę zestawu plików, użyj dopasowywania wzorców. Znak zapytania „ ?” będzie reprezentował dowolny pojedynczy znak, a gwiazdka „ *„ będzie reprezentować dowolny ciąg znaków. Aby wyświetlić listę plików lub katalogów, których nazwy zaczynają się od „ip_”, użyj tego formatu:

ls ip_*

ls ip_* w oknie terminala

Aby wyświetlić listę plików z rozszerzeniem „.c”, użyj tego formatu:

ls *.c

ls *.c w oknie terminala

Możesz także używać funkcji lswith grepi wykorzystywać możliwości dopasowywaniagrep wzorców . Poszukajmy plików, które mają w nazwie ciąg „_pin_”:

ls | grep _pin_

jest |  grep _pin_ w oknie terminala

Działa to prawie tak samo, jak lssamo użycie, z dwoma symbolami wieloznacznymi:

ls | grep _pin_ ls *_pin_*

jest |  grep _pin_ w oknie terminala

Dlaczego prawie tak samo? Zwróć uwagę na różne układy. grepwymusza na wyjściu pojedynczą nazwę pliku w formacie linii.

Znaki niedrukowalne

Może się zdarzyć, że nazwa pliku zawiera znak niedrukowalny lub kontrolny . Zwykle może się to zdarzyć, gdy rozszerzasz archiwum pobrane z Internetu lub pobrałeś repozytorium git , a oryginalny autor popełnił błąd podczas tworzenia pliku, ale go nie zauważył.

Nasz dziwny plik to jeden z następujących:

Nazwa pliku ze znakiem kontrolnym w oknie terminala

Jeśli spojrzymy na to w przeglądarce plików i naciśniemy „F2”, aby zmienić jego nazwę, znaki niedrukowalne są reprezentowane przez dziwny symbol.

Nazwa pliku ze znakiem kontrolnym w oknie dialogowym zmiany nazwy

Możesz użyć -bopcji (escape), aby zobaczyć, co faktycznie zawiera nazwa pliku. Opcja ta powoduje lsużycie sekwencji specjalnych języka programowania C do reprezentowania znaków kontrolnych.

ls -b a*

ls -ba* w oknie terminala

Okazuje się, że tajemniczy znak to znak nowej linii, reprezentowany w C jako „\n”.

Ignorowanie plików

Aby pominąć określone pliki na liście, użyj --hideopcji. Załóżmy, że nie chcesz widzieć na liście plików kopii zapasowych „.bak”. Możesz użyć tego polecenia:

ls ls --hide=*.bak

ls --hide=*.bak w oknie terminala

Pliki „.bak” nie są uwzględnione na drugiej liście.

Lista w długim formacie

Opcja -l(długie zestawienie) powoduje lswyświetlenie szczegółowych informacji o każdym pliku.

ls -l

ls -l w oknie terminala

Jest tu wiele informacji, więc przejdźmy przez nie.

Pierwszą rzeczą, lsktóra się wyświetla, jest całkowity rozmiar wszystkich plików na liście. Następnie każdy plik lub katalog jest wyświetlany w osobnym wierszu.

Pierwszy zestaw dziesięciu liter i myślników to typ pliku oraz uprawnienia właściciela, grupy i innych plików.

Już pierwszy znak reprezentuje typ pliku. Będzie to jeden z:

  • : Zwykły plik.
  • b : Specjalny plik bloku.
  • c : Specjalny plik znakowy.
  • d : Katalog.
  • l : Łącze symboliczne.
  • n : plik sieciowy.
  • p : Nazwany potok.
  • s : Gniazdko.

Następnych dziewięć znaków to trzy grupy po trzy znaki wyświetlane w sposób ciągły. Każda grupa trzech reprezentuje uprawnienia do odczytu, zapisu i wykonywania, w tej kolejności. Jeśli pozwolenie zostanie udzielone, pojawi się r, wlub xprezent. Jeśli zezwolenie nie zostało przyznane, -wyświetlany jest łącznik.

Pierwszy zestaw trzech znaków to uprawnienia właściciela pliku. Drugi zestaw trzech uprawnień jest przeznaczony dla członków grupy, a ostatni zestaw trzech uprawnień jest przeznaczony dla innych osób.

Czasami pozwolenie na wykonanie dla właściciela jest reprezentowane przez plik s. To jest setuid . Jeśli jest obecny, oznacza to, że plik jest wykonywany z uprawnieniami właściciela pliku, a nie użytkownika wykonującego plik.

Uprawnieniem do wykonywania dla grupy może być również plik s. To jest bit setgid . Gdy zostanie to zastosowane do pliku, oznacza to, że plik zostanie wykonany z uprawnieniami grupy właściciela. W przypadku użycia z katalogiem wszelkie pliki utworzone w nim będą pobierać uprawnienia grupowe z katalogu, w którym są tworzone, a nie od użytkownika, który tworzy plik.

Zezwolenie na wykonanie dla innych może być czasami reprezentowane przez plik t. To jest ten lepki kawałek . Zwykle stosuje się go do katalogów. Jeśli ta opcja jest ustawiona, niezależnie od uprawnień do zapisu i wykonywania plików ustawionych dla plików w katalogu, tylko właściciel pliku, właściciel katalogu lub użytkownik root może zmieniać nazwy plików w katalogu lub je usuwać.

Powszechnym zastosowaniem lepkiego bitu są foldery takie jak „/tmp”. Zapis mogą mieć wszyscy użytkownicy komputera. Przyklejony bit w katalogu zapewnia, że ​​użytkownicy — i procesy przez nich uruchamiane — mogą zmieniać nazwy lub usuwać jedynie własne pliki tymczasowe.

Widzimy lepki bit w katalogu „/tmp”. Zwróć uwagę na użycie -dopcji (katalog). Powoduje to lsraportowanie szczegółów katalogu. Bez tej opcji lsraport będzie dotyczył plików znajdujących się w katalogu.

ls -l -d /tmp

ls -l -d /tmp w oknie terminala

Liczba występująca po uprawnieniach to liczba twardych dowiązań do pliku lub katalogu. W przypadku pliku jest to zwykle jeden, ale jeśli zostaną utworzone inne twarde łącza, liczba ta wzrośnie. Katalog ma zazwyczaj co najmniej dwa twarde łącza. Jeden jest łączem do samego siebie, a drugi jest jego wpisem w katalogu nadrzędnym.

Następnie zostanie wyświetlona nazwa właściciela i grupy. Po nich następuje rozmiar pliku i data ostatniej modyfikacji pliku. Na końcu podana jest nazwa pliku.

Rozmiary plików czytelne dla człowieka

Podawanie rozmiarów plików w bajtach nie zawsze jest wygodne. Aby zobaczyć rozmiary plików w najbardziej odpowiednich jednostkach (kilobajty, megabajty itp.), użyj -hopcji (czytelnej dla człowieka):

ls -l -h

ls -l -h w oknie terminala

Wyświetlanie ukrytych plików

Aby zobaczyć ukryte pliki, użyj -aopcji (wszystkie):

ls -l -a

ls -l -a w oknie terminala

Dwa wpisy „.” i „..” reprezentują odpowiednio katalog bieżący i katalog nadrzędny. Plik o nazwie „.base_settings” jest teraz widoczny po raz pierwszy.

Pomijanie. I. . z zestawień

Jeśli nie chcesz, aby Twój wpis był zaśmiecony wpisami „.” i „..”, ale chcesz widzieć ukryte pliki, użyj opcji ( -Aprawie wszystkich):

ls -l -A

ls -l -A w oknie terminala

Ukryty plik jest nadal wyświetlany, ale wpisy „.” i „..” są pomijane.

Rekurencyjne wyświetlanie katalogów

Aby wyświetlić lslistę plików we wszystkich podkatalogach, użyj -Ropcji (rekurencyjnej).

ls -l -R

ls -l -R w oknie terminala

lsprzechodzi przez całe drzewo katalogów poniżej katalogu początkowego i wyświetla listę plików w każdym podkatalogu.

dane wyjściowe ls rekurencyjnie wyświetlające katalogi

Wyświetlanie UID i GID

Aby zamiast nazwy użytkownika i grupy wyświetlić identyfikator użytkownika i grupę, użyj -nopcji (numeryczny uid i gid).

ls -n

ls -n w oknie terminala

Sortowanie ofert

Listę możesz sortować według rozszerzenia, rozmiaru pliku lub czasu modyfikacji. Tych opcji nie trzeba używać w przypadku długiego formatu listy, ale zazwyczaj ma to sens. Jeśli sortujesz według rozmiaru pliku, warto sprawdzić rozmiary plików na liście. Podczas sortowania według typu rozszerzenia długi format listy nie jest tak ważny.

Aby posortować według rozszerzenia, użyj -Xopcji (sortuj według rozszerzenia).

ls -X -1

ls -X -1 w oknie terminala

Katalogi są wymienione jako pierwsze (bez żadnych rozszerzeń), a następnie pozostałe w kolejności alfabetycznej, zgodnie z rozszerzeniami.

Aby posortować według rozmiaru pliku, użyj -Sopcji (sortuj według rozmiaru pliku).

ls -l -h -S

ls -l -h -S w oknie terminala

Kolejność sortowania jest od największego do najmniejszego.

Aby posortować ogłoszenie według czasu modyfikacji należy skorzystać z -topcji (sortuj według czasu modyfikacji).

ls -l -t

ls -l -t w oknie terminala

Lista jest sortowana według czasu modyfikacji.

Jeśli czas modyfikacji pliku przypada na bieżący rok, wyświetlane informacje to miesiąc, dzień i godzina. Jeżeli data modyfikacji nie przypadała na bieżący rok, wyświetlane informacje to miesiąc, dzień i rok.

Szybkim sposobem uzyskania najnowszych i najstarszych plików w katalogu jest użycie lspoleceń headi tail.

Aby uzyskać najnowszy plik lub katalog, użyj tego polecenia:

ls -t | head -1

Aby uzyskać najstarszy plik lub katalog, użyj tego polecenia:

ls -t | tail -1

ls -t |  head -1 w oknie terminala

Aby odwrócić kolejność sortowania

Aby odwrócić dowolną kolejność sortowania, użyj -ropcji (odwróć).

ls -l -h -S -r

ls -l -h -S -r w oknie terminala

Lista jest teraz uporządkowana od najmniejszego pliku do największego.

I jest jeszcze więcej

Sprawdź stronę podręcznika ls, jest o wiele więcej opcji . Niektóre z nich spełniają nieco niejasne przypadki użycia, ale od czasu do czasu będziesz zadowolony, że o nich wiesz.

Czy potrzebujesz zobaczyć znaczniki czasu plików z maksymalną precyzją, jaką może zapewnić Linux? Skorzystaj z opcji pełnego etatu:

ls --full-time

Być może chcesz zobaczyć numer i-węzła plików? Użyj opcji i-węzła:

ls -i

Czy pracujesz na wyświetlaczu monochromatycznym i chcesz wyeliminować ryzyko pomylenia plików z katalogami i łączami? Użyj opcji klasyfikacji i lsdołącz jedną z nich do każdego wpisu na aukcji:

  • / : Katalog.
  • @ : Dowiązanie symboliczne.
  • | : Nazwana rura.
  • = : Gniazdo.
  • * : Pliki wykonywalne

ls -F

Pokop trochę. Przekonasz się, że lsto bogata żyła, i będziesz nadal znajdować klejnoty.

Polecenia Linuksa

Akta

tar · pv · cat · tac · chmod · grep · diff · sed · ar · człowiek · pushd · popd · fsck · dysk testowy · seq · fd · pandoc · cd · $PATH · awk · dołącz · jq · złóż · uniq · journalctl · ogon · stat · ls · fstab · echo · mniej · chgrp · chown · rev · wygląd · ciągi znaków · wpisz · zmień nazwę · zip · rozpakuj · montuj · umount · zainstaluj · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · łata · konwertuj · rclone · shred · srm · scp · gzip · chattr · wytnij · znajdź · umask · wc · tr

Procesy

alias · ekran · góra · ładny · renice · postęp · strace · systemd · tmux · chsh · historia · w · partia · darmowy · który · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · limit czasu · ściana · tak · zabij · uśpienie · sudo · su · czas · groupadd · usermod · grupy · lshw · zamknięcie · ponowne uruchomienie · zatrzymanie · wyłączenie · hasło · lscpu · crontab · data · bg · fg · pidof · nohup · pmap

Sieć

netstat · ping · traceroute · ip · ss · whois · fall2ban · bmon · dig · palec · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw · arping · zapora sieciowa

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *