LoginSignup
26
11

More than 1 year has passed since last update.

tar ファイルをカレントディレクトリに展開してファイルが散乱してしまった。散乱したファイルを削除する方法

Posted at

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 {}

参考資料

26
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
11