ls (Unix)
ls este o comandă de Unix si Unix de operare sisteme , care afișează informații despre fișiere și conținutul directoarelor .
Comanda ls este definită în specificația POSIX și în Specificația unică UNIX . [1]
Istorie
Comanda ls a apărut în versiunea originală Unix a AT&T . Numele său provine dintr-o comandă similară Multics care enumera segmente de memorie (în fișierele Multics și segmentele de memorie erau sinonime între ele).
Există diverse implementări ale lui ls în zilele noastre. Două implementări deosebit de populare sunt:
- versiunea inclusă în pachetul GNU Coreutils al Free Software Foundation , disponibil ca software gratuit ;
- versiunea pentru variantele BSD precum FreeBSD , OpenBSD , NetBSD și Darwin pentru computerele Apple , disponibilă ca software open source .
Sintaxă
Sintaxa generală a lui ls este următoarea:
ls [ opțiuni ] [-] [ file_o_directory1 ...]
Parametrii file_or_directory specifică fișierele și / sau directoarele care trebuie listate. În absența lor, sunt listate fișierele din directorul curent (adică directorul curent al procesului care pornește ls , de obicei un shell de text ).
Linia dublă - (opțional) indică faptul că următorii parametri nu trebuie considerați opțiuni.
Cu excepția cazului în care se indică altfel, lista este sortată alfabetic. Dacă ieșirea standard a lui ls este un terminal interactiv, ls produce o listă compactă numai a numelor de fișiere distribuite pe mai multe coloane astfel încât să ocupe lățimea terminalului, altfel (atunci când este utilizat de exemplu într-o conductă software ) produce o listă de numai nume dintr-o singură coloană (un nume pe linie).
Opțiunile semnificative includ:
- -la
- De asemenea, include în listă fișiere și directoare ale căror nume încep cu un punct (care, prin convenție, nu sunt afișate în mod normal).
- -d
- Listează proprietățile directoarelor specificate ca parametri în loc să listeze conținutul acestora.
- -n
- Indică proprietarul și grupul atribuit utilizând identificatorul numeric de utilizator și respectiv identificatorul de grup în locul numelor lor.
- -L
- Produce o listă extinsă, o linie pentru fiecare fișier, indicând de la stânga la dreapta:
- permisiuni
- numărul de legături dure către un anumit fișier sau director
- proprietarul
- grupul atribuit
- dimensiunea aparentă în octeți (cele reale pot fi mai mici în cazul fișierelor rare ), sau numărul major și numărul minor care caracterizează un dispozitiv bloc sau un dispozitiv caracter
- data ultimei modificări în formă compactă
- numele
- pentru legăturile simbolice , „ -> ” este ținta legăturii
- -F
- Adaugă un caracter la sfârșitul fiecărui nume de fișier listat pentru a dezvălui natura lor:
- * - indică un fișier executabil
- / - indică un director
- | - indică o țeavă numită
- @ - indică o legătură simbolică
- = - indică un socket în domeniul Unix
- Fișierele normale neexecutabile nu au sufix.
- -R
- De asemenea, listează recursiv conținutul oricăror subdirectoare întâlnite.
- -r
- Inversează ordinea de sortare a listei.
- -t
- Sortează lista după data și ora ultimei modificări, mai degrabă decât alfabetic.
Pe unele sisteme, utilizarea opțiunii --color (pentru GNU ls ) sau -G ( FreeBSD ls ) determină ls să evidențieze fișierele cu o culoare diferită în funcție de tipul lor (spre deosebire de caracterele folosite de opțiunea -F ). Pentru a determina culoarea de utilizat pentru un fișier, GNU ls verifică tipul, permisiunile și extensia acestuia , în timp ce în FreeBSD sunt verificate doar tipul de fișier și permisiunile . Rezultatul ar putea arăta astfel:
brw-r - r-- 1 personal unixguy 64, 64 27 ianuarie 05:52 bloc
crw-r - r-- 1 personal unixguy 64, 255 26 ianuarie 13:57 personaj
-rw-r - r-- 1 personal unixguy 290 26 ianuarie 14:08 comprimat.gz
-rw-r - r-- 1 personal unixguy 331836 26 ianuarie 14:06 data.ppm
drwxrwx - x 2 unixguy staff 48 Jan 26 11:28 director
-rwxrwx - x 1 personal unixguy 29 ianuarie 26 14:03 executabil
prw-r - r-- 1 personal unixguy 0 26 ian 11:50 fifo
lrwxrwxrwx 1 unixguy staff 3 Jan 26 11:44 link -> dir
-rw-rw ---- 1 unixguy staff 217 26 Jan 14:08 regularfile
Vizualizarea fișierelor ascunse
Comportamentul implicit al lui ls în prezentarea conținutului unui director nu este listarea fișierelor și directoarelor ale căror nume încep cu un punct (" . "), Cum ar fi " .profile " sau " .emacs ".
Astfel de fișiere se numesc fișiere ascunse și trebuie să utilizați opțiunea -a pentru a le vizualiza și.
Unul dintre motivele care stau la baza acestui comportament vine din cantitatea mare de fișiere de configurare și directoare pe care programele le plasează în directoarele de start ale utilizatorilor pentru a stoca setările utilizatorilor, împreună cu faptul că, spre deosebire de exemplu MS-DOS sau Microsoft Windows , nu există un mecanism pentru ascunderea fișierelor cu nume arbitrare.
Mecanismul de fișiere ascunse este simplu, bine înțeles și respectat chiar de interfețele grafice și vă permite să evitați încărcarea inutilă a listelor de fișiere conținute în directorul de start al utilizatorului (sau în orice alt director).
Exemple
Enumerați conținutul directorului curent cu formatul extins:
$ ls -l total 44 drwxr - r-- 2 fred fred 48 25 mai 22:11 curenți -r-xr-xr-x 1 fred fred 8460 25 mai 22:12 edit -rw-r - r-- 1 fred fred 30405 25 mai 22:12 ediția-32 lrwxrwxrwx 1 fred fred 4 25 mai 22:16 editor -> edit
Enumerați conținutul directorului curent în format extins, afișând în același timp fișierele ascunse:
$ ls -la total 60 drwxr-xr-x 4 fred fred 312 25 mai 22:19. drwxrwsr-x 10 root staff 248 25 mai 22:11 .. -rw-r - r-- 1 fred fred 220 25 mai 22:11 pm .bash_logout -rw-r - r-- 1 fred fred 414 25 mai 10:11 pm .bash_profile -rw-r - r-- 1 fred fred 2227 25 mai 22:11 .bashrc drwxr-xr-x 2 fred fred 48 25 mai 22:19 .directory_hidden drwxr - r-- 2 fred fred 48 25 mai 22:19 curenți -r-xr-xr-x 1 fred fred 8460 25 mai 22:12 edit -rw-r - r-- 1 fred fred 30405 25 mai 22:12 ediția-32 lrwxrwxrwx 1 fred fred 4 25 mai 22:16 editor -> edit -rw-r - r-- 1 fred fred 6 25 mai 22:19 .hile_file
Enumerați conținutul directorului curent în format compact și cu caractere care indică tipul de fișier:
$ ls -F proiecte / editare * ediția-32 editor @
Enumerați conținutul subdirectorului de proiecte în format extins:
$ ls -l schițe total 12 -rw-r - r-- 1 fred fred 8 mai 25 22:21 doc1.txt -rw-r - r-- 1 fred fred 19 mai 25 22:21 doc2.txt -rw-r - r-- 1 fred fred 34 25 mai 22:22 doc3.txt
Enumerați direct proiectele în loc de conținut:
$ ls -ld schițe drwxr - r-- 2 fred fred 120 25 mai 22:22 schițe /
Enumerați ultimele zece fișiere sau directoare modificate recent într-un director foarte aglomerat (mai mult de două mii de intrări); Ls produce lista sortată după data modificării și este plasată în conducta software cu comanda tail pentru a afișa doar ultimele zece linii ale listei:
$ ls -lrt / usr / lib | coadă -rw-r - r-- 1 rădăcină rădăcină 1379652 8 mai 20:40 libcrypto.so.0.9.8 -rw-r - r-- 1 rădăcină rădăcină 2200134 8 mai 20:40 libcrypto.a lrwxrwxrwx 1 rădăcină rădăcină 15 mai 18 10:18 libssl.so -> libssl.so.0.9.8 lrwxrwxrwx 1 rădăcină rădăcină 18 18 mai 10:18 libcrypto.so -> libcrypto.so.0.9.8 drwxr-xr-x 4 rădăcină rădăcină 3280 18 mai 10:18 pkgconfig drwxr-xr-x 2 rădăcină rădăcină 192 18 mai 10:18 i586 drwxr-xr-x 2 rădăcină rădăcină 192 18 mai 10:18 i486 lrwxrwxrwx 1 rădăcină rădăcină 19 18 mai 10:18 sftp-server -> openssh / sftp-server drwxr-xr-x 2 rădăcină rădăcină 112 18 mai 10:18 openssh drwxr-xr-x 3 rădăcină rădăcină 136 1 iunie 11:14 scârțâie
Abrevieri și pseudonime
Pe unele sisteme (de exemplu în mod implicit în PCLinuxOS ), ls poate fi scurtat la „ l ”. Acest comportament poate fi extins la alte sisteme prin crearea unui alias în shell-ul de text , o legătură simbolică către fișierul executabil „ / bin / ls ” sau un script numit „ l ” care invocă ls trecându-i toți parametrii.
Notă
Elemente conexe
- Alias (Unix)
- Chown - Schimbă proprietarul și grupul atribuit fișierelor și / sau directoarelor.
- Chmod - Modificați permisiunile pentru fișiere și / sau directoare.
- Chgrp - Modifică grupul atribuit fișierelor și / sau directoarelor.
- Du (Unix) - Calculează spațiul ocupat de fișiere.
- Identificator de grup
- Lspci
- Shell (IT)
- Identificator utilizator
linkuri externe
- ( EN ) ls: Listează conținutul directorului , în manualul GNU Coreutils . Adus la 25 mai 2008 .
- (RO) ls în wiki de LinuxQuestions.org.
- ( EN ) ls.c - Cod sursă al implementării ls prezent în codul sursă Unix Seventh Edition.
- ( EN ) ls.c - Codul sursă al implementării ls găsit în versiunea 5 UNIX.
- (EN) newbie ls - cod sursă al unei implementări a lui ls scris în așa fel încât să poată fi ușor de înțeles.
- ( EN ) Cod sursă al GNU ls - O componentă a GNU Coreutils .
- (RO) Computer Hope: Linux / UNIX, informații despre comanda Linux / UNIX ls . , pe xmission.com . Adus la 7 aprilie 2007 (arhivat din original la 8 martie 2007) .