
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
答え1
あなたは罠に陥った。tar
ダッシュ付きの一般形式とダッシュのない既存の形式の2種類のコマンドラインオプションがサポートされています。パラメータ処理が異なります。
ここで:
tar -xzfv maldetect-current.tar.gz
他のすべてのツールと同様に、-f
議論の余地があります。v
一方、ここでは:
tar xzfv maldetect-current.tar.gz
引数は、f
実際に提供したいファイル名である次のコマンドライン引数から取得されます。
v
エラーメッセージにはアクセスしようとしているファイル名が記載されていますが、名前が短いために見逃した可能性があります。ただし、通常、問題のあるファイルはエラーメッセージに一覧表示されます。
これGNU tar のマニュアルページこれは「オプションスタイル」で言及されています。
伝統的なスタイルでは、最初の引数はオプション文字セットであり、後続のすべての引数はその引数を必要とするオプションの引数を提供します。
UNIXまたは短いオプションスタイルでは、他のコマンドラインユーティリティと同様に、各オプション文字の前にダッシュが付けられます。オプションが引数を取る場合、引数はそれに続くか、別のコマンドラインワードとして使用されます。または、このオプションが続きます。
答え2
ファイル名はfオプションの直後になければなりません。
tar -xzvf maldetect-current.tar.gz