GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Che cosa restituisce il comando Ls -al .*?

Mostra i nomi dei file nascosti all'interno di tutte le directory? O solo la directory corrente (inclusa qualsiasi directory al suo interno)? Non riesco a capire perché ls -ld .* restituisce risultati diversi (mostra i file e le directory nascosti SOLO nella directory corrente, non mostrando i file all'interno di altre directory al suo interno)? Inoltre cosa significa -d fai da solo (ls -d )?

Risposta accettata:

ls -al .* mostra il contenuto di tutte le directory nella directory corrente i cui nomi iniziano con . (cioè tutti quelli che corrispondono alla shell glob .* )

In Bash, il .* glob si risolve in . e .. anche. Da . rappresenta la directory corrente e .. la directory principale, vengono mostrati anche i contenuti di entrambe queste directory, inclusi eventuali file e directory nascosti.

.* cattura anche i file nascosti nella directory corrente, ma sono comunque elencati come contenuti di .

Come spiegato in Che cosa significa `ls –directory`? il -d flag fa visualizzare le directory stesse, invece del loro contenuto.

questo è anche il caso in dash, che è la shell collegata simbolicamente a sh in Ubuntu. Tuttavia, altre shell, incluse zsh e mksh, si comportano in modo più intuitivo e non includono . e .. durante l'espansione di .* . Vale anche la pena notare che, mentre la maggior parte dei comandi funzionerà su .. e . quando sono inclusi in un .* glob (incluso chmod e chown – puoi davvero rovinare il tuo sistema con quelli), il rm comando fallirà utilmente in base alla progettazione per farlo.


Ubuntu
  1. Cosa fa "lc_all=c"?

  2. Cosa significa la dimensione di una directory nell'output del comando 'ls -l'?

  3. Cosa fa ?

  4. Cosa fa Eco $? Fare??

  5. Cosa fa Bamfdaemon?

Du comando in Linux

Comando mv in Linux

Comando Mkdir in Linux

Cosa fa sudo apt-get update

Cosa significa Cat Command in Linux?

Cosa fa il comando Startx?