一番近いのは
# rm /path/to/directory/*.*
しかし、拡張子のないファイルでは機能しません...
Linuxは拡張機能を使用しません。名前に拡張子を付けるかどうかを決定するのは、ファイルの作成者次第です。 Linuxは1バイト目を見て、どの種類のファイルを扱っているかを把握します。
ディレクトリ内のすべてを削除するには、次を使用します。
rm /path/to/directory/*
-r
オプションを使用できます。例:
rm -r /path/to/directory/*
また、コンテンツを削除するディレクトリ内のサブディレクトリ(およびそのすべてのコンテンツ)も削除します。そうしないと、ディレクトリを削除していないことを通知するエラーが表示されます。
フォルダーをすべてのコンテンツと共に削除するには(すべての内部フォルダーを含む):
rm -rf /path/to/directory
すべてのフォルダーのコンテンツ(すべての内部フォルダーを含む)を削除し、フォルダー自体は削除しない場合:
rm -rf /path/to/directory/*
または
rm -rf /path/to/directory/{*,.*}
隠しファイル/ディレクトリも確実に削除したい場合。
フォルダー内からすべての「ファイル」を削除するには(not内部フォルダーの削除):
rm -f /path/to/directory/{*,.*}
警告:パスにスペースがある場合は、必ず引用符を使用してください。
rm -rf /path/to the/directory/*
2つの個別のrm -rf
呼び出しに相当します。
rm -rf /path/to
rm -rf the/directory/*
この問題を回避するには、'
single-quotes'
(展開しないシェル変数)または"
double-quotes"
(expands Shell variables):
rm -rf "/path/to the/directory/"*
どこ:
rm
-「remove」の略-f
-「force」の略で、たとえば、アーカイブを削除する場合に確認/プロンプトを表示したくない場合に役立ちます。-r
-「recursive」の略で、すべてのフォルダーを再帰的にたどってすべてを削除することを意味します。ディレクトリ内のすべてのファイル(隠しファイルとサブディレクトリを含む)を削除するには、次を実行します。
rm -rf /path/to/directory/{*,.*}
/ path/to/directory内のファイルのみを削除する場合は、次のようにします。
find /path/to/directory -type f -print0| xargs -0 rm
または
find /path/to/directory -type f -exec rm '{}' \;
find
を使用してロードを実行できます。利点は、rm
にパイプせずに見つかったものを一覧表示できるため、開始する前に削除されるものを確認できることです。
ディレクトリ内のすべてのファイルとディレクトリ(hiddenを含む)を削除するには、次を試してください。
フォルダを削除してから再作成します
rm -rf dir_name && mkdir dir_name
find
を使用します
find dir_name -mindepth 1 -delete
ここでは、-mindepth 1
を指定して、ディレクトリdir_name自体を除外します。
次のリンクをご覧ください。
https://unix.stackexchange.com/questions/12593/how-to-remove-all-the-files-in-a-directory
すべてのサブディレクトリとディレクトリ自体も削除する場合は、rm -rf /path/to/directory
を使用できます。ただし、returnキーを押す前に必ず行を再確認してください。rm -rf
は多くのhavockを引き起こす可能性があります。スーパーユーザー権限を持っているときに、最初のスラッシュの後に誤ってスペースを挿入した場合...
自分で検索すると、この質問は常にGoogleのトップにあるため、
他の答えには、さまざまな問題があります。
それらのいくつかには、.
と..
が含まれています。
それらのいくつかは、隠しファイル(ドットで始まるファイル)を忘れます。
ディレクトリ削除を許可するために、正しい(最も深い)順序で削除しません。
それらは他の(マウントされた)ファイルシステムに降りますが、これはしばしば望ましくありません。
追加のパラメーターを使用して適切に拡張することは困難です(詳細は以下を参照)。
find "${DIR}" -xdev -mindepth 1 -printf "%d\t%y\t%p\0" | sort -z -r -n | cut -z -f3- | xargs -0 -r -- rm -d --
-xdev
などのように、マウントへの下降を防ぐために/proc
引数を追加したことに注意してください。
-depth
または-delete
ではないのはなぜですか?人々は絶えずこれに賛成しているにもかかわらず、これらの方法には欠点があります。サブディレクトリを-Prune
ingすることを(より多くの問題を引き起こすことなく)許可するほど拡張可能ではないようです。この方法とは対照的に、挿入することができます
-not \( -path "${DIR}/subdir" -Prune \)
-mindepth
引数の前に、subdir
の内容が削除されないように除外します。
ディレクトリにcd
してから、DOSの場合と同様にコマンドrm *.*
を実行できます。
現在のディレクトリを削除するには、たとえばrm -d ./*
を使用できます
-dは、ディレクトリも削除するように指示します。