隠しファイルやディレクトリなど、ディレクトリ内のすべてを削除するにはどうすればよいですか?
現在、私は次のものを使用しています:
rm -rf *
rm -rf .*
rm -rf yourdirectory/*
..
ディレクトリにあるものを削除しますた、ディレクトリを上記の。
隠しファイルやディレクトリなど、ディレクトリ内のすべてを削除するにはどうすればよいですか?
現在、私は次のものを使用しています:
rm -rf *
rm -rf .*
rm -rf yourdirectory/*
..
ディレクトリにあるものを削除しますた、ディレクトリを上記の。
回答:
最善の答えは、そうしないことです。ディレクトリ自体を再帰的に削除してから、空のディレクトリとして再作成します。他の人があなたがやろうとしていることを理解するのがより信頼でき、簡単です。ディレクトリを再作成すると、異なる所有者、グループ、およびアクセス許可が付与される場合があります。それらが重要な場合は注意してください。また、実行中のプログラムがディレクトリ上で開いているファイルハンドル(記述子)を持っている場合、それを削除することはできません。これらの特殊なケースのいずれも当てはまらない場合は、ディレクトリ全体を削除する方が簡単です。
rm -rf -- * .[!.]* ..?*
3つのパターンはそれぞれ、何にも一致しない場合はそれ自体に展開されますが、すべてを一致rm -f
させ、存在しない引数を無視するため、ここでは問題になりません。
ああ私のZsh
rm -rf (.|)*
繰り返しますが、これはZsh専用です。
*(D)
(D
glob修飾子はglob_dots
このパターンのオプションをオンにします)。
rm -rf {.,}*
(bashのとは違って、zshのは含まれていません.
と..
に{.,}*
、少なくとも私のマシン上で、)。
試してみてくださいrm -rf *?*
。これにより、通常のファイルと隠しファイルが削除されます。
*?*
(あなたが有効になっていない限り、ファイル/ディレクトリを「ドット」は一致しませんdotglob
でオプションのbash、GLOB_DOTS
内のオプションのzsh、または使用しているシェル何のために相当します)。
rm -rf .* *
。