GNU/Linux >> Linux Esercitazione >  >> Linux

Comando per elencare tutti i file tranne . (punto) e .. (punto punto)

Per quanto riguarda la documentazione di ls(1) (man ls ):

-A, --almost-all non elenca implicitamente . e ..

ti serve (senza qualsiasi argomento aggiuntivo come .* ):

ls -A

o meglio ancora:

/bin/ls -A

Ho una situazione in cui voglio rimuovere una serie di directory punto. Nei miei server contrassegniamo le directory per la rimozione aggiungendo un punto e alcuni altri modelli di testo (timestamp) per la rimozione automatica. A volte devo farlo manualmente.

Come ho commentato alla risposta di Basile Starynkevitch, quando usi uno schema globbing come quello sotto l'opzione -A perde la sua funzione e funziona proprio come -a:

 [email protected]:~/scripts$ ls -1dA .*
.
..
.comparepp.sh.swp

Darebbe sicuramente un errore se provo a rimuovere i file come utente, ma non voglio pensare a cosa potrebbe accadere come root (!)

Il mio approccio in questo caso è:

for dir in $(ls -1ad .* | tail -n +3) ; do rm -rfv $dir  ; done

Codino le prime 2 righe contenenti i punti come puoi vedere. Per adattare la risposta alla domanda posta questo farebbe il lavoro:

ls -d1A .* | tail -n +3

$ ls -lA

funziona meglio per le mie esigenze.

Per comodità consiglio di definire un alias all'interno del file .bashrc come segue:

alias ll='ls -lA'

Linux
  1. Comando Linux ls - Elenca file

  2. nm :comando per elencare i simboli nei file oggetto.

  3. Sposta tutti i file tranne uno

  4. Come elencare tutti i file in una condivisione di rete Windows SMB

  5. Come spostare tutti i file e le cartelle tramite il comando mv

Trova comando in Linux (Trova file e directory)

Comando Ls in Linux (Elenca file e directory)

Come elencare i file in modo ricorsivo in Linux

Come elencare utenti e gruppi su Linux

Come elencare tutti gli utenti di un gruppo in Linux

Come elencare tutti i file ordinati per dimensione in Linux?