Debian
Debian 9.3 - 解壓失敗,說文件不存在
我在 Debian 9.3 中執行了以下命令:
cd /usr/local/src wget http://www.rfxn.com/downloads/maldetect-current.tar.gz
該文件下載得很好,但是,當我執行時:
tar -xzfv maldetect-current.tar.gz
我得到:
tar (child): v: Cannot open: No such file or directory tar (child): Error is not recoverable: exiting now tar: Child returned status 2 tar: Error is not recoverable: exiting now
但
ls -la
表明該文件確實存在:/usr/local/src# ls -la total 3144 drwxrwsr-x 2 root staff 4096 Jan 8 11:46 . drwxrwsr-x 11 root staff 4096 Jan 8 11:40 .. -rw-r--r-- 1 root staff 1605546 Jul 14 04:45 maldetect-current.tar.gz
文件名應緊跟在 f 選項之後。
tar -xzvf maldetect-current.tar.gz
你陷入了陷阱。
tar
支持兩種格式的命令行選項,一種是帶破折號的常用格式,另一種是不帶破折號的傳統格式。它們在參數處理方面有所不同。這裡:
tar -xzfv maldetect-current.tar.gz
的論點
-f
是v
,與所有其他工具一樣。另一方面,這裡:
tar xzfv maldetect-current.tar.gz
to 的參數
f
取自下一個命令行參數,即您實際想要提供的文件名。錯誤消息提到了它嘗試訪問的文件名,您可能只是錯過了它,因為
v
它很短。但是,通常有問題的文件會列在錯誤消息中。GNU tar 手冊頁在“選項樣式”下提到了這一點:
在傳統風格中,第一個參數是一組選項字母,所有後續參數都為需要它們的選項提供參數。
在 UNIX 或短選項樣式中,每個選項字母都以單個破折號作為前綴,就像在其他命令行實用程序中一樣。如果選項接受參數,則參數緊隨其後,或者作為單獨的命令行字,或者緊跟在 option 之後。