質問: tar-除外は機能しません tarを使用してディレクトリをアーカイブし、いくつかのファイルを除外することになっています。いくつかの.javaファイルと.classファイルを含むディレクトリ$ home/javaがあります。私がやりたいのは、-xexcludeオプションを使用してすべての.classファイルを除外することです。findを使用して除外ファイルを作成しました$ find $home/java -name "*.class" > exclude 次に、ディレクトリをアーカイブしようとしました$ tar -cvfx java.tar exclude $home/java しかし、どういうわけかそれは除外を行いません。 solarisのtarバージョンは、名前による除外をサポートしていません。
回答: あなたの構文は、solarisバージョンのtarに対して完全に正しいです。実際、私はsolaris8および10でrootおよび非rootユーザーとして試しました。それがそれを除外しなかったと確信していますか?詳細モードの-vオプションでは、除外されたファイルが引き続きリストされ、最後のフィールドとしてサイズではなく「除外された」と表示されます。エラーメッセージはありますか?除外ファイルが見つからないか読み取れない場合は、そのように表示されます。 tar c[bdeefhilnoppqtvw@[0-7]][bfk][x...] [blocksize] [tarfile] [size] [exclude-file]... {file | -i include-file | -c directory file}...