というディレクトリがありますouter
。
outer
inner
(同じ拡張子を持つ多くのファイルを含む)というディレクトリが含まれています。
私はcd
ここにいますouter
。その中のすべてのファイルを削除しinner
、ディレクトリはそのままにするにはどうすればよいですかinner
(空)。
ベストアンサー1
ディレクトリ自体ではなくディレクトリの内容を削除するには、rm
内容を削除するように指示するだけです。
rm inner/*
これにより、隠されたファイル以外のすべてのファイルが削除され、./inner
ディレクトリは変更されていません。サブディレクトリを同時に削除するには、次を使用します-r
。
rm -r inner/*
隠しファイルも削除するには、次のようにします(bashを使用していると仮定)。
shopt -s dotglob
rm -r inner/*
最後のコマンドは、すべてのファイルとすべてのディレクトリを削除しますinner
が、inner
それ自体は変更されていません。
最後に、次のいずれかをcd
実行する必要はありません。outer
$ tree -a outer/
outer/
├── dir
└── inner
├── dir
├── file
└── .hidden
3 directories, 2 files
これrm -r outer/inner/*
で、それなしで現在のディレクトリで実行できcd outer
、ディレクトリ自体を除くすべてが削除されます。
$ shopt -s dotglob
$ rm -r outer/inner/*
$ tree -a outer/
outer/
├── dir
└── inner
2 directories, 0 files