Se hai mai provato a lavorare con Linux command line, ls command è stato sicuramente uno dei primi comandi che hai eseguito. Infatti, comando ls è così frequentemente utilizzato, che il suo nome è spesso considerato come la scelta migliore per nominare un cavallo di Troia. Anche se usi il comando ls su base giornaliera, il suo numero di opzioni ti fa sempre raggiungere la pagina di manuale di ls. In questo modo si impara qualcosa di nuovo ogni volta che si apre la pagina di manuale di ls . Questa guida cercherà di fare lo stesso. il comando ls appartiene a un gruppo di utilità principali sul tuo sistema Linux., GNU ls è stato scritto da Stallman e David MacKenzie sulla base del codice originale AT &T scritto negli anni ‘ 60.
Iniziamo, non sono richieste precedenti competenze Linux. In primo luogo, tratteremo le opzioni di uso frequente di ls e quindi introdurremo alcune funzionalità più avanzate.
Opzioni di uso frequente
- – l
Questa è un’opzione molto comune del comando ls. Per impostazione predefinita ls visualizza solo il nome di un file o di una directory. – l, alias formato lungo elenco, istruirà comando ls per visualizzare ulteriori informazioni per ogni dato output., - -a, all all
Visualizza anche i file nascosti. Nella shell i file nascosti contengono un”.”di fronte al suo nome. – un’opzione garantirà che questi file non vengano omessi dall’output ls. - -t
Ordina l’output per data di modifica elencando la data di modifica più vecchia come ultima - -r, reverse reverse
Questa opzione invertirà semplicemente l’output di qualsiasi ls. - – h, readable human-readable
Con la combinazione di-l opzione questo riempire dimensioni di stampa in formato leggibile (ad esempio, 3K, 12M o 1G ).
Formato elenco lungo
Questo è molto comune e spesso usa l’opzione ls., Non solo questa opzione visualizza informazioni aggiuntive per un file o una directory, questa opzione è necessaria anche come combinazione con altre opzioni ls. La prima cosa che faremo è eseguire il comando ls senza opzioni e argomenti. Non puoi andare più semplice con ls di così:
$ lsdir1 dir3 dir5 file2.txt file4.txtdir2 dir4 file1.txt file3.txt file5.txt
ISCRIVITI alla NEWSLETTER & RSS
Iscriviti a RSS e NEWSLETTER e ricevi le ultime notizie su Linux, lavoro, consigli per la carriera e tutorial.,
Tutto ciò che il comando ls ha fatto è stato elencare tutti i file e le directory nella nostra directory di lavoro corrente. Ora con l’uso dell’opzione-l siamo in grado di vedere ulteriori informazioni:
Dall’output possiamo ottenere le seguenti informazioni su file1.,txt:
- permissions -> -rw-r–r–
- hard link count -> 2
- owner -> lubos
- group -> lubos
- size in bytes -> 2
- modification date -> Jan 14 17:15
- name -> file1.txt
Furthermore, additional information can be read from permission column. Note that our file1.txt permission starts with “-” which means that file1.,txt è un file normale come opposto a file5.txt che è un collegamento simbolico. Qui ci sono significati di codice aggiuntivi:
- – : file regolare. Può essere file di testo, eseguibile, immagine ed ecc.
- d : Directory.
- l: Collegamento simbolico. Quando si accede a questo file Linux tenta di accedere al file collegato
- p: Named Pipe.
- s : Socket
- b: Block Device
- c : Character device
Mostra i file nascosti
In Linux, tutti i file e le directory nascoste iniziano con “.”nel loro nome del file. Per impostazione predefinita ls ignora tutte le voci che iniziano con ., quindi non mostra file o directory nascoste. Per visualizzare tutti i file nascosti e le directory che possiamo usare-un’opzione. Ad esempio:
file ls file touch file touch touch .file l lsfile ls ls-a. .. file .file
Per prima cosa abbiamo creato un normale file non nascosto e con il secondo comando abbiamo creato hidden .file. Solo ls con opzione-a visualizzerà entrambi i file.
Ordina l’output per data di modifica
Per impostazione predefinita, il comando ls ordina qualsiasi output in base al nome del file in ordine alfabetico. l’opzione-t indica al comando ls di visualizzare l’output ordinato per ora di modifica., Ad esempio:
Come puoi vedere il comando ls con l’opzione-t ordinerà prima l’output ordinato per data con i file modificati più di recente.
Ordine di uscita inversa
In precedenza, abbiamo visto come rendere il comando ls visualizzare tutte le voci ordinate per data di modifica. Con l’opzione-r possiamo invertire questo ordine per visualizzare gli ultimi file modificati come ultimi.
Questa volta abbiamo elencato i file con la data di modifica più vecchia come prima.
Output leggibile
Questa opzione è rilevante solo per una dimensione del file e solo con una combinazione di opzione-l., comando ls visualizza la dimensione del file in numero di byte per impostazione predefinita. Per ottenere un output più leggibile dall’uomo, è possibile utilizzare l’opzione-h, che traduce i byte in KB, MB, GB e così via.
Opzioni avanzate
-Le opzioni S ordineranno l’output per dimensione del file con il file più piccolo.
In questo caso l’opzione-l è opzionale. L’abbiamo usato solo per visualizzare le dimensioni del file.
Combinare più opzioni
Non c’è nulla di male nel combinare più opzioni ls con un singolo comando ls. In realtà siete incoraggiati a farlo., Ad esempio, vorremmo che il comando ls non visualizzasse il gruppo ( -G), mostrasse il formato di elenco lungo ( -l ) in output leggibile dall’uomo ( -h ) e ordinasse per dimensione ( -S ) con il file più piccolo prima ( -r ).
Quanto sopra è equivalente a:
ls -G -l -h -S -rCan you guess what this ls command does?:
$ ls -l -a -Shr
Utilizzando l’output del terminale a colori
Su alcuni sistemi Linux il comando ls stampa automaticamente l’output in un colore per distinguere il tipo di file. Questo è causato da un alias “ls color color=auto”.
Se non ti piace il set di colori predefinito puoi cambiarlo definendo la variabile d’ambiente LS_COLORS., Questo va oltre lo scopo di questa guida, ma come esempio possiamo cambiare il colore predefinito della directory in bianco su sfondo blu e il file in rosso su sfondo verde con:
$ export LS_COLORS="di=97;104:fi=31;42"
Elenca le sottodirectory Ricorsivamente
Per impostazione predefinita il comando ls elencherà solo directory e file nella tua directory di lavoro corrente. ciò significa che se una directory nella directory di lavoro corrente contiene altri file o altre directory, non verranno elencate. Ecco un esempio:
Per prima cosa abbiamo creato directory e file., Il comando ls predefinito mostrerà quindi solo la singola directory dir1. Con l’uso dell’opzione-R il comando ls emette tutti i file e le directory in modo ricorsivo.
ls comando e caratteri jolly
Caratteri jolly è argomento molto ampio. Tuttavia, è necessario comprendere le basi per utilizzare ls e altri comandi Linux in modo efficiente. Quello che segue è in realtà solo un’introduzione ai caratteri jolly.
Asterisk – *
Asterisk è un carattere jolly più comune. Ci permette di elencare solo file specifici in cui parte del nome del file può essere sostituita con “*” per mach qualsiasi carattere., Per esempio, vogliamo elencare solo i file con estensione txt:
$ lsfile1.txt file2.txt file.sh file.txt pic1.png pic.jpg pic.png$ ls *.txtfile1.txt file2.txt file.txt
O vogliamo elencare solo i file che iniziano con “p”:
$ ls p*pic1.png pic.jpg pic.png
O possiamo elencare solo i file con una lettera “n” all’interno del suo nome del file:
$ ls *n*pic1.png pic.png
punto interrogativo – ?
? rappresenterà qualsiasi singolo carattere. Ad esempio:
$ lsfile1.txt file2.txt file.sh file.txt pic1.png pic.jpg pic.png$ ls file?.txtfile1.txt file2.txt
Oppure possiamo visualizzare il file la cui estensione consiste solo di 2 caratteri:
ls *.??file.sh
Parentesi –
Le parentesi sono simili a ? come possono rappresentare singolo carattere., Tuttavia, in questo caso possono anche rappresentare uno o più caratteri e abbiamo una scelta di quale carattere includere nel nostro carattere jolly. Per esempio possiamo visualizzare tutti i nomi di file che contengono il numero e inizia con p:
$ lsfile1.txt file2.txt file.sh file.txt pic1.png pic.jpg pic.png$ ls f**file1.txt file2.txt
o estensione finisce con h o g:
$ ls *file.sh pic1.png pic.jpg pic.png
Parentesi Graffe – { }
parentesi Graffe ci consentono di specificare uno o più termini, dove il termine è un singolo carattere o caratteri jolly. Ad esempio, possiamo elencare solo i file con estensione txt e sh., Ogni termine è separato da”, “(virgola):
$ ls *{*.txt,*.sh}file1.txt file2.txt file.sh file.txt
Per combinare con possiamo elencare solo i file che hanno estensione sh e txt ma”.”(punto) è preceduto da qualsiasi carattere tranne il numero.
$ lsfile1.txt file2.txt file.sh file.txt pic1.png pic.jpg pic.png$ ls *\.{*txt,*sh}file.sh file.txt
Punto esclamativo – !
Il punto esclamativo funge da negatore. Ad esempio, vogliamo elencare tutti i file che NON terminano con “g” nel loro nome file:
$ lsfile1.txt file2.txt file.sh file.txt pic1.png pic.jpg pic.png$ ls *file1.txt file2.txt file.sh file.txt
I caratteri jolly sono potenti funzionalità della shell Linux., Per ulteriori informazioni inserisci:
$ man 7 glob
Elenco voci directory
Questo può sembrare intuitivo, ma per alcune directory di elenco diverse dalla directory di lavoro corrente è un mistero., Con l’opzione-d ls visualizza la directory stessa, piuttosto che il suo contenuto:
Display autorizzazioni della directory di lavoro corrente:
$ ls -ld drwxr-xr-x 2 linuxcareer linuxcareer 4096 Feb 1 14:02 .
Utilizzando il carattere jolly di visualizzare le autorizzazioni per tutte le directory in /var/log/:
Iscriviti al feed RSS e NEWSLETTER e riceverai le ultime notizie Linux, posti di lavoro, carriera, consigli e tutorial.,
Examples
Learning Linux ls command with examples | |
---|---|
Linux command syntax | Linux command description |
ls -1 |
Display output vertically.,t show owner and group |
ls -m |
Print comma separated output |
ls -p |
Display slash after each directory |
ls -l | grep ^d |
Display only directories |
for i in $( ls *.jpg ); do convert -resize 1024x $i re_$i; done |
Re-size all images with extension JPG in a current working directory., Prefisso nuova immagine con re_ |
ls -alct --full-time |
Visualizza tutti nascosti e non i file nascosti e cartelle ordinate per ora di creazione con tempo pieno tempo esatto |
ls -lact --time-style="+%Y" |
Visualizza tutti nascosti e non i file nascosti e cartelle ordinate dal momento della creazione. Ma visualizza solo l’anno per ogni voce |