tar.gz ファイルをカレントディレクトリに展開してファイルが散乱してしまった。散乱したファイルを削除する方法
環境
# tar --version
tar (GNU tar) 1.30
困りごと
tar コマンドは -C
オプションを指定しなければ、カレントディレクトリにファイルが展開される。ファイルが大量が展開されると、カレントディレクトリにもともとあったファイルと混在し困ったことになる。
警告
ファイルを上書きしてしまった場合はもとに戻せません。
回避方法
tar.gz ファイルを展開したとき -C
あるいは --directory
オプションを付与すれば、展開するディレクトリを指定できる。
散乱したファイルを削除する方法
tar コマンドでファイルを散乱させてしまったときカレントディレクトリにあるファイルを見つけることすら大変になる。とりあえず tar で展開したファイルをすべて削除したい。
散乱させたファイルを一覧する
その場合 -t
あるいは --list
オプションが救世主となる。このオプションは tar ファイルに含まれるファイルを一覧表示する。
出力例を次に示す。
# tar -tf seq.tar
10.txt
1.txt
2.txt
3.txt
4.txt
5.txt
6.txt
7.txt
8.txt
9.txt
散乱させてしまったファイルを削除する
展開したファイル一覧が取得できればあとは次のコマンドで展開されたファイルを削除する。いきなり消すと怖いので echo
で実行されるコマンドを確認しておく
tar -tf seq.tar | xargs -I {} echo rm -rf {}
問題なければ実行する
tar -tf seq.tar | xargs -I {} rm -rf {}