ls (Unix)

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

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:

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:
  1. permisiuni
  2. numărul de legături dure către un anumit fișier sau director
  3. proprietarul
  4. grupul atribuit
  5. 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
  6. data ultimei modificări în formă compactă
  7. numele
  8. 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ă

  1. ^ (EN) ls , din Specificațiile de bază ale grupului deschis numărul 6 IEEE Std 1003.1, ediția 2004. Adus la 25 mai 2008 .

Elemente conexe

linkuri externe