人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Linux でディレクトリ内のすべてのファイルを削除するとき、rm * とするとArg list too long と表示されてうまくいかないのですが、どのようにしたら、全ファイルを確認なしで一括削除できますか。

●質問者: qoozoo
●カテゴリ:コンピュータ
✍キーワード:Linux RM ディレクトリ ファイル
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● jouno
●80ポイント

http://x68000.q-e-d.net/~68user/unix/pickup?xargs

UNIXの部屋 検索:xargs

xargsをつかいます。

http://blog.nomadscafe.jp/archives/000331.html

xargsはすばらしい。 : blog.nomadscafe.jp

echo * |xargs rm


いちおう、確認なしのそんなに多量の削除はあんまりおすすめできませんが。

◎質問者からの返答

ありがとうございます。


2 ● nikomi-udon
●80ポイント

http://www.hatena.ne.jp/

はてな

rm -R ./*

で問題無いと思います。

◎質問者からの返答

ありがとうございます。


3 ● u1ρ
●80ポイント

http://www.hatena.ne.jp/awindow?qid=1136986596

ディレクトリ内のすべてのファイルとサブフォルダを消すのなら、


rm -f ./* ./.*


ディレクトリ内のすべてのファイルとサブフォルダ以下全てを消すのなら


rm -rf ./* ./.*

◎質問者からの返答

ありがとうございます。


4 ● t-wata
●100ポイント

http://www.google.co.jp/search?q=%22xargs+-0%22&start=0&...

Arg list too long は、ファイル数が非常に多いために起きています。

シェルは「*」をマッチするファイル名に展開し、コマンドに渡すのですが、このマッチするファイル名が多いと、引数として渡せなくなります。

この場合は、

find . -type f -maxdepth 1 -print0 |xargs -0 rm -f

とやるのが良いです。


このコマンドは、

・findでリストしたファイルをrm -fに渡し、

・カレントディレクトリの直下にあるファイルだけが対象( -type f -maxdepth 1 )で、

・確認せずに削除( rm -f )し、

・ファイル名に空白が入っていてもOK( -print0 と xargs -0で0x00をデリミタに指定)

となります。

◎質問者からの返答

ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ