私はtarコマンドを次のように使用します:
tar -cvf protTests.tar protTests/*
tar
フォルダー内のすべてのファイル、protTests
。ただし、これにはフォルダー内のシンボリックリンクが含まれていますが、これは望ましいものではありません。
すべてのシンボリックリンクを除外するコマンドラインオプションはありますか?
これを行うと、tar
にprotTests
内のシンボリックリンク以外のすべてのファイルのリストを提供できます。
find protTests -maxdepth 1 -mindepth 1 -not -type l -print0 |
tar --null --files-from - -cvf protTests.tar
ちなみに、既存のコマンド:
tar -cvf protTests.tar protTests/*
allprotTests
内のファイルはアーカイブされません。名前が.
で始まらないファイル(非表示でないファイル)のみがアーカイブされます。 *
glob演算子は、名前が.
で始まるファイルを意図的にスキップします。このコマンドには、protTests
に多数のファイル(数千を超える)がある場合、protTests/*
がコマンドラインに収まらないほど多くの引数に展開される可能性があるという問題もあります。
このような単純なコマンドでは、これらの問題はどちらも発生しません。
tar -cvf protTests.tar protTests