Bash
Pliki list
Szukaj…
Składnia
- ls [OPCJA] ... [PLIK] ...
Parametry
| Opcja | Opis |
|---|---|
-a , --all | Wyświetl wszystkie wpisy, w tym te zaczynające się od kropki |
-A , - --almost-all | Wyświetl wszystkie wpisy oprócz . i .. |
-c | Sortuj pliki według czasu zmiany |
-d , --directory | Wyświetl listę pozycji w katalogu |
-h , --human-readable | Pokaż rozmiary w formacie czytelnym dla człowieka (tj. K , M ) |
-H | To samo co powyżej tylko z mocami 1000 zamiast 1024 |
-l | Pokaż zawartość w formacie długiej listy |
-o | Format długiej listy bez informacji o grupie |
-r , --reverse | Pokaż zawartość w odwrotnej kolejności |
-s , --size | Rozmiar wydruku każdego pliku w blokach |
-S | Sortuj według rozmiaru pliku |
--sort=WORD | Sortuj zawartość według słowa. (tj. rozmiar, wersja, status) |
-t | Sortuj według czasu modyfikacji |
-u | Sortuj według czasu ostatniego dostępu |
-v | Sortuj według wersji |
-1 | Wyświetl jeden plik w wierszu |
Lista plików
Polecenie ls wyświetla zawartość określonego katalogu, z wyjątkiem plików dotfiles. Jeśli nie określono żadnego katalogu, domyślnie wyświetlana jest zawartość bieżącego katalogu.
Pliki z listy są domyślnie sortowane alfabetycznie i wyrównane w kolumnach, jeśli nie mieszczą się w jednym wierszu.
$ ls
apt configs Documents Fonts Music Programming Templates workspace
bin Desktop eclipse git Pictures Public Videos
Lista plików w formacie długiej listy
Opcja -l polecenia ls drukuje zawartość określonego katalogu w formacie długiego listowania. Jeśli nie określono żadnego katalogu, domyślnie wyświetlana jest zawartość bieżącego katalogu.
ls -l /etc
Przykładowe dane wyjściowe:
total 1204
drwxr-xr-x 3 root root 4096 Apr 21 03:44 acpi
-rw-r--r-- 1 root root 3028 Apr 21 03:38 adduser.conf
drwxr-xr-x 2 root root 4096 Jun 11 20:42 alternatives
...
Wyjście najpierw wyświetla total , która wskazuje całkowity rozmiar w blokach wszystkich plików w wymienionym katalogu. Następnie wyświetla osiem kolumn informacji dla każdego pliku w wymienionym katalogu. Poniżej znajdują się szczegóły dotyczące każdej kolumny w danych wyjściowych:
| Nr kolumny | Przykład | Opis |
|---|---|---|
| 1.1 | d | Typ pliku (patrz tabela poniżej) |
| 1.2 | rwxr-xr-x | Ciąg uprawnień |
| 2) | 3 | Liczba twardych linków |
| 3) | root | Imię właściciela |
| 4 | root | Grupa właścicieli |
| 5 | 4096 | Rozmiar pliku w bajtach |
| 6 | Apr 21 03:44 | Czas modyfikacji |
| 7 | acpi | Nazwa pliku |
Typ pliku
Typ pliku może być jednym z następujących znaków.
| Postać | Typ pliku |
|---|---|
- | Zwykły plik |
b | Zablokuj plik specjalny |
c | Plik specjalny znaków |
C | Plik o wysokiej wydajności („dane ciągłe”) |
d | Informator |
D | Drzwi (specjalny plik IPC tylko w Solarisie 2.5+) |
l | Link symboliczny |
M | Plik off-line („migrowany”) (Cray DMF) |
n | Plik specjalny sieci (HP-UX) |
p | FIFO (nazwany potok) |
P | Port (specjalny plik systemowy tylko w systemie Solaris 10+) |
s | Gniazdo elektryczne |
? | Inny typ pliku |
Lista plików posortowana według rozmiaru
Opcja -S polecenia ls sortuje pliki w kolejności malejącej według rozmiaru pliku.
$ ls -l -S ./Fruits
total 444
-rw-rw-rw- 1 root root 295303 Jul 28 19:19 apples.jpg
-rw-rw-rw- 1 root root 102283 Jul 28 19:19 kiwis.jpg
-rw-rw-rw- 1 root root 50197 Jul 28 19:19 bananas.jpg
W przypadku użycia z opcją -r kolejność sortowania jest odwrócona.
$ ls -l -S -r /Fruits
total 444
-rw-rw-rw- 1 root root 50197 Jul 28 19:19 bananas.jpg
-rw-rw-rw- 1 root root 102283 Jul 28 19:19 kiwis.jpg
-rw-rw-rw- 1 root root 295303 Jul 28 19:19 apples.jpg
Lista plików bez użycia `ls`
Użyj funkcji rozwijania nazw plików i rozwijania nawiasów powłoki Bash, aby uzyskać nazwy plików:
# display the files and directories that are in the current directory
printf "%s\n" *
# display only the directories in the current directory
printf "%s\n" */
# display only (some) image files
printf "%s\n" *.{gif,jpg,png}
Aby przechwycić listę plików do zmiennej w celu przetworzenia, zwykle dobrą praktyką jest użycie tablicy bash :
files=( * )
# iterate over them
for file in "${files[@]}"; do
echo "$file"
done
Wyświetl dziesięć ostatnio zmodyfikowanych plików
Poniżej wymieniono do dziesięciu ostatnio zmodyfikowanych plików w bieżącym katalogu, używając długiego formatu list ( -l ) i posortowano według czasu ( -t ).
ls -lt | head
Wyświetl wszystkie pliki, w tym pliki Dotfiles
Plik kropkowy to plik, którego nazwy zaczynają się od . . Są one zwykle ukryte przez ls i nie są wymienione, chyba że o to poproszony.
Na przykład następujące dane wyjściowe ls :
$ ls
bin pki
Opcja -a lub --all wyświetli wszystkie pliki, w tym pliki kropkowe.
$ ls -a
. .ansible .bash_logout .bashrc .lesshst .puppetlabs .viminfo
.. .bash_history .bash_profile bin pki .ssh
Opcja -A lub --almost-all wyświetla wszystkie pliki, w tym pliki kropkowe, ale nie sugeruje listy . i .. Zauważ, że . to katalog bieżący, a .. to katalog nadrzędny.
$ ls -A
.ansible .bash_logout .bashrc .lesshst .puppetlabs .viminfo
.bash_history .bash_profile bin pki .ssh
Lista plików w formacie drzewiastym
Polecenie tree wyświetla zawartość określonego katalogu w formacie drzewiastym. Jeśli nie określono żadnego katalogu, domyślnie wyświetlana jest zawartość bieżącego katalogu.
Przykładowe dane wyjściowe:
$ tree /tmp
/tmp
├── 5037
├── adb.log
└── evince-20965
└── image.FPWTJY.png
Użyj opcji -L polecenia tree , aby ograniczyć głębokość wyświetlania, a opcji -d , aby wyświetlić tylko katalogi.
Przykładowe dane wyjściowe:
$ tree -L 1 -d /tmp
/tmp
└── evince-20965