11 sposobów listowania i sortowania plików w systemie Linux

istnieje wiele sposobów listowania plików i wyświetlania informacji o nich w systemach Linux. Ten post zawiera przegląd wielu poleceń, które zawierają szczegóły dotyczące plików i oferuje opcje dostosowywania ofert plików do swoich potrzeb.

wiÄ ™ kszoĹ „Ä ‡ poleceĺ” zawiera listÄ ™ plikĂłw w poszczegĂłlnych katalogach, podczas gdy inne docierajÄ … tak gĹ ’ Ä ™ boko do systemu plikĂłw, jak tylko chcesz.

podstawowym poleceniem do listowania plików jest oczywiście ls. To polecenie ma jednak wiele opcji wyszukiwania i wyświetlania tylko tych plików, które chcesz zobaczyć. Ponadto zawsze można znaleźć pomoc w bardzo specyficznych wyszukiwaniach plików.

Lista plików po nazwie

najprostszym sposobem na listę plików po nazwie jest po prostu lista za pomocą polecenia ls. Wyświetlanie plików po nazwie (kolejność alfanumeryczna) jest przecież domyślne. Możesz wybrać ls (brak szczegółów) lub ls-l (wiele szczegółów), aby określić swój widok.

$ ls | head -68pgs.pdfAesthetics_Thank_You.pdfalien.pdfAnnual_Meeting_Agenda-20190602.pdfbigfile.bz2bin$ ls -l | head -6-rw-rw-r-- 1 shs shs 10886 Mar 22 2019 8pgs.pdf-rw-rw-r-- 1 shs shs 284003 May 11 2019 Aesthetics_Thank_You.pdf-rw-rw-r-- 1 shs shs 38282 Jan 24 2019 alien.pdf-rw-rw-r-- 1 shs shs 97358 May 19 2019 Annual_Meeting_20190602.pdf-rw-rw-r-- 1 shs shs 18115234 Apr 16 17:36 bigfile.bz2drwxrwxr-x 4 shs shs 8052736 Jul 10 13:17 bin

Wyjście ls do polecenia więcej, jeśli chcesz przejrzeć listę ekranu na raz.

wyświetlanie plików w odwrotnej kolejności nazw

aby odwrócić listę plików po nazwie, Dodaj opcję-R (reverse). To będzie jak przewracanie normalnej oferty do góry nogami.

$ ls -r$ ls -lr

Lista plików według rozszerzenia

polecenie ls nie analizuje typów plików według zawartości, ale działa z nazwami plików. Istnieje jednak opcja polecenia, która może wyświetlać pliki według rozszerzenia. Jeśli dodasz opcję-X, ls posortuje pliki według nazwy w ramach każdej kategorii rozszerzenia. Na przykład najpierw wyświetli listę plików bez rozszerzeń (w kolejności alfanumerycznej), a następnie pliki z rozszerzeniami takimi jak .1, .bz2,.c i tak dalej.

wyświetlanie tylko katalogów

domyślnie polecenie ls wyświetli zarówno pliki, jak i katalogi. Jeśli chcesz wyświetlać tylko katalogi, możesz użyć opcji – D. Otrzymasz listę taką jak ta:

$ ls -d */1/ backups/ modules/ projects/ templates/2/ html/ patches/ public/ videos/bin/ new/ private/ save/

Lista plików według rozmiaru

Jeśli chcesz wyświetlić listę plików w kolejności rozmiaru, Dodaj opcję-s. Zauważ jednak, że w rzeczywistości nie pokaże Ci rozmiarów (wraz z innymi szczegółami pliku), chyba że dodasz również opcję-l (długa lista). Podczas wyświetlania listy plików według rozmiaru, ogólnie pomocne jest sprawdzenie, czy polecenie robi to, o co prosiłeś. Zauważ, że domyślnie wyświetlane są największe pliki jako pierwsze. Dodaj opcję-r, aby to odwrócić (np. ls-lSr).

$ ls -lStotal 959492-rw-rw-r-- 1 shs shs 357679381 Sep 19 2019 sav-linux-free-9.tgz-rw-rw-r-- 1 shs shs 103270400 Apr 16 17:38 bigfile-rw-rw-r-- 1 shs shs 79117862 Oct 5 2019 Nessus-8.7.1-ubuntu1110_amd64.deb

Lista plików według właściciela

Jeśli chcesz wyświetlić listę plików według właściciela (np., we współdzielonym katalogu), możesz przekazać wyjście polecenia ls do sortowania i wybrania kolumny właściciela, dodając-k3 do sortowania w trzecim polu.

$ ls -l | sort -k3 | moretotal 56-rw-rw-r-- 1 dory shs 0 Aug 23 12:27 tasklistdrwx------ 2 gdm gdm 4096 Aug 21 17:12 tracker-extract-files.121srwxr-xr-x 1 root root 0 Aug 21 17:12 ntf_listenerc0c6b8b4567drwxr-xr-x 2 root root 4096 Aug 21 17:12 hsperfdata_root
^
|

w rzeczywistości można sortować w dowolnym polu w ten sposób (np. rok). Po prostu uważaj, aby dodać „n” – -k5n – jeśli sortujesz w polu numerycznym lub będziesz sortować w kolejności alfanumerycznej. Ta technika sortowania jest przydatna do sortowania zawartości plików, a nie tylko listowania plików.

wyświetlanie plików według wieku

użyj opcji-t, aby wyświetlić pliki według wieku – jak nowe są. Dodaj opcję-r, aby uzyskać ostatnio zaktualizowane pliki wyświetlane jako ostatnie na liście. Używam tego aliasu, aby pokazać mi listę ostatnio zaktualizowanych plików:

$ alias recent='ls -ltr | tail -8'

zauważ, że czasy zmian i modyfikacji plików są różne. Opcje – C (change) i-t (modification) nie zawsze dają takie same wyniki. Jeśli zmienisz uprawnienia do pliku i nic więcej,- c umieści te pliki na górze wyjścia ls, podczas gdy-T nie. Jeśli jesteś ciekawy różnicy, spójrz na wynik polecenia stat.

$ stat ckacct File: ckacct Size: 200 Blocks: 8 IO Block: 4096 regular fileDevice: 801h/2049d Inode: 829041 Links: 1Access: (0750/-rwxr-x---) Uid: ( 1000/ shs) Gid: ( 1000/ shs)Access: 2020-08-20 16:10:11.063015008 -0400Modify: 2020-08-17 07:26:34.579922297 -0400 <== content changesChange: 2020-08-24 09:36:51.699775940 -0400 <== content or permissions changes Birth: -

Lista plików według grup

aby sortować pliki według powiązanych grup, możesz przekazać wyjście z długiej listy do polecenia sortowania i powiedzieć mu, aby sortował w kolumnie 4.

$ ls -l | sort -k4

Listowanie plików według daty dostępu

aby wyświetlić listę plików według daty dostępu (ostatnio pobrane jako pierwsze), użyj opcji-ltu. „U „wymusza kolejność wyświetlania” według daty dostępu”.

$ ls -ltutotal 959500-rwxr-x--- 1 shs shs 200 Aug 24 09:42 ckacct <== most recently used-rw-rw-r-- 1 shs shs 1335 Aug 23 17:45 lte

Listowanie wielu plików w jednej linii

czasami skondensowana Lista plików jest bardziej odpowiednia dla danego zadania. Polecenie ls ma nawet opcje do tego. Aby wyświetlić listę plików w jak najmniejszej liczbie linii, możesz użyć opcji –format=przecinek, aby oddzielić nazwy plików przecinkami, tak jak w tym poleceniu:

$ ls --format=comma1, 10, 11, 12, 124, 13, 14, 15, 16pgs-landscape.pdf, 16pgs.pdf, 17, 18, 19,192.168.0.4, 2, 20, 2018-12-23_OoS_2.pdf, 2018-12-23_OoS.pdf, 20190512_OoS.pdf,'2019_HOHO_application working.pdf' …

preferujesz białe spacje? Zamiast tego użyj –format = across.

$ ls --format=across z*z zip zipfiles zipfiles1.bat zipfiles2.batzipfiles3.bat zipfiles4.bat zipfiles.bat zoom_amd64.deb zoomap.pdfzoom-mtg

dodawanie głębi do wyszukiwań

podczas gdy ls ogólnie wyświetla pliki w jednym katalogu, możesz zamiast tego wybrać rekurencyjną listę plików, używając opcji-R, zagłębiając się w całą głębię katalogów:

$ ls -R zzzzz | grep -v "^$"zzzzz:zzzzzzzzz/zzzz:zzzzzzzz/zzzz/zzz:zzzzzzz/zzzz/zzz/zz:zzzzzz/zzzz/zzz/zz/z:sleeping

Alternatywnie można użyć polecenia Znajdź o ograniczonej lub nieograniczonej specyfikacji głębokości. W tym poleceniu poinstruujemy polecenie find, aby szukało tylko w trzech poziomach katalogów:

$ find zzzzz -maxdepth 3zzzzzzzzzz/zzzzzzzzz/zzzz/zzzzzzzz/zzzz/zzz/zz

wybierając ls vs find

Jeśli chcesz wyświetlić listę plików, które spełniają bardzo selektywną listę wymagań, polecenie find jest prawdopodobnie lepszym narzędziem niż ls.

w przeciwieństwie do ls, Komenda find wygląda tak głęboko, jak to możliwe, chyba że ją ograniczysz. Ma również wiele innych opcji i polecenie-exec, które pozwala na podjęcie określonych działań po znalezieniu plików, których szukasz.

Zawijanie

polecenie ls ma wiele opcji listowania plików. Sprawdź je. Może znajdziesz coś, co pokochasz.

Dodaj komentarz

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