
私はこのスクリプトを使ってファイルを測定します。
tar -cvf test.tar -C /home/user/Desktop/filestoTar File_one zap_file
tar -rvf test.tar -C /home/user/Downloads/test Auto_file rocket_file
解凍して解凍するときは、ディレクトリに次の内容を含めたいと思います。
Auto_file
File_one
rocket_file
zap_file
この順番で。どのように実装できますか?また、私のコードとコードの違いは何ですか?
tar -cvf test.tar -C /home/user/Desktop/filestoTar File_one zap_file &&\
tar -rvf test.tar -C /home/user/Downloads/test Auto_file rocket_file
&&\
何もしないようだ
答え1
tar -r
はアーカイブの末尾にファイルを追加するために使用されるため、目的の効果を得るにはtarコマンドの順序を変更する必要があります。
2番目の部分(&&
bashでは論理AND)です。次のコマンドは、最初のコマンドがエラーなしで完了した場合にのみ実行されます。
つまり、最初のコマンドは最初のコマンドが失敗してもファイルを追加しようとしますが、2番目の形式は最初のtarが成功しない限り2番目のtarが試行されないようにします。
問題に対する素朴なアプローチは次のとおりです。
tar -cvf test.tar -C /home/user/Downloads/test Auto_file && tar -rvf test.tar -C /home/user/Desktop/filestoTar File_one && tar -rvf test.tar -C /home/user/Downloads/test rocket_file && tar -rvf test.tar -C /home/user/Desktop/filestoTar zap_file