GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Il comando Tar -cvfz restituisce un messaggio di errore a meno che non si ometta il trattino prima di "cvfz"?

Questa domanda ha già risposte qui :Chiuso 9 anni fa.

Possibile duplicato:
sudo tar cvpzf in uscita con errore dovuto a un errore precedente

Quando eseguo il comando

tar -cvfz backup.tar.gz somedirectory

Ottengo il seguente sterr

tar: Exiting with failure status due to previous errors

Tuttavia, quando ometto il trattino precedente da -cvfz tutto sembra funzionare bene. C'è un motivo noto per cui il trattino mi impedisce di eseguire il tar dei miei file?

Risposta accettata:

Non sono sicuro del perché tar cvfz funziona, se si esegue una rapida scansione di man pagina e la mia esperienza, un trattino è una pratica standard. Forse è una questione di compatibilità BSD (come ps ).

In ogni caso, la tua sintassi non è corretta. -f prende l'argomento successivo come nome del file in cui comprimere. In questo caso, il nome del file è z , che non è quello che ti aspettavi. Ecco un esempio dell'output in modo da poter vedere cosa intendo:

$ tar -cvfz test.tar.gz scott
tar: test.tar.gz: Cannot stat: No such file or directory
scott/
scott/netx/
scott/netx/locks/
scott/netx/locks/netx_running
tar: Exiting with failure status due to previous errors

Un ls mostra un file chiamato z . Il file comando rivela che è un tar non compresso archivio. Non è compresso perché -z argomento non è stato approvato. E il messaggio di errore proveniva dal tentativo di aggiungere il file inesistente test.tar.gz all'archivio.

Riordina semplicemente le opzioni e sarai a posto:

tar -czvf test.tar.gz some/directory

Se fai sempre il -f l'ultimo argomento, starai bene. A proposito, ricorda che le opzioni brevi (opzioni di una lettera) che accettano argomenti normalmente non richiedono uno spazio tra l'opzione e l'argomento.

MODIFICA: A proposito, se il modulo senza il trattino è una cosa compatibile con BSD o qualcosa del genere, è probabile che il modo in cui tar viene invocato in un tale ambiente è diverso e non richiede il f flag per specificare il file di input, ma funziona più come cp o qualcosa. Ma questa è solo una speculazione basata sul confronto con ps (qv).

Correlati:come trasmettere musica in streaming sulla rete su più computer in Ubuntu?
Ubuntu
  1. Come utilizzare il comando Tar in Linux

  2. Come estrarre il file tar.gz in Linux utilizzando la riga di comando

  3. Non riesco a estrarre il file Tar.bz2:messaggio di errore, file .h:autorizzazione negata?

  4. Qual è il comando albero in Ubuntu?

  5. Come combinare il comando 'tar' con 'find'

Come comprimere ed estrarre file usando il comando Tar, Zip su Linux

Risolto l'errore, impossibile trovare il comando hwmatch su Grub

Il comando di spegnimento?

Trova la riga di comando?

L'avvio di Control Suite provoca un errore di inizializzazione dell'applicazione non riuscito

The Ultimate Tar Command Tutorial con 10 esempi pratici