GNU/Linux >> Linux Esercitazione >  >> Linux

carattere jolly `* ` non può corrispondere a qualche stringa?

Come estensione alla risposta di Shaido vorrei dare qualche spiegazione sul perché -a l'opzione non funzionerà qui:

Il ls comando non elaborare i caratteri jolly. L'interprete della riga di comando esegue questo passaggio:

Se digiti la riga di comando "mycommand *.c " l'interprete della riga di comando sostituirà prima la stringa jolly "*.c " dall'elenco dei file corrispondenti e quindi eseguire la riga di comando risultante:

mycommand a.c file.c test.c

L'interprete della riga di comando funziona allo stesso modo per tutti i comandi, quindi non può sapere che -a significa "compresi i file nascosti" nel caso del ls comando (mentre -a ha un significato totalmente diverso per altri comandi)...


I file che iniziano con un punto sono nascosti dagli elenchi di file per impostazione predefinita. Il modo più semplice per abbinare questo tipo di file sarebbe mettere un punto all'inizio dell'espressione. Tuttavia, questo corrisponderà solo ai file che iniziano con . .

ls  -al  .*.swo

L'alternativa è impostare dotglob prima di eseguire il comando, quindi i file che iniziano con . sarà incluso.

shopt -s dotglob

Aggiungilo al tuo ~/.bashrc per impostarlo come predefinito.

Tieni presente che l'impostazione dotglob può portare a risultati imprevisti quando si utilizza la shell bash, poiché sia ​​. (directory corrente) e .. (directory principale) apparirà quando si usa * . Con dotglob impostato, mai prova a usare rm -R * .


Linux
  1. Comando Unix per elencare i file che contengono una stringa ma *NON* contengono un'altra stringa

  2. Il comando linux cat può essere utilizzato per scrivere testo su file?

  3. Come posso utilizzare il comando tar per raggruppare i file senza compressione?

  4. Esiste uno strumento da riga di comando unix in grado di analizzare i file di font?

  5. Come calcolare il numero di file che possono essere passati come argomenti a qualche comando per l'elaborazione batch?

Comando Cp in Linux (copia file)

Comando Rm in Linux

lsof Command in Linux (10 esempi)

Alcune buone alternative al comando

comando ls in Linux/UNIX

Come posso controllare i caratteri letterali di una stringa di comando bash?