1 つのコマンドで、var/www/html の dir0/dir1 のすべてのインスタンスから 1 つの inode を除くすべての inode を削除します。

1 つのコマンドで、var/www/html の dir0/dir1 のすべてのインスタンスから 1 つの inode を除くすべての inode を削除します。

私はこのディレクトリを持っていvar/www/htmlて、その下にはいくつかのウェブサイトディレクトリ(例えば5つほど)があります。

5つのWebサイトディレクトリにはすべて内部パスがありますdir0/dir1

he_IL.mo1つのコマンドでパス内のすべてのinode(名前付きinodeを除く)を一括削除する方法は?

次の3つの有効なコマンドブロックがあるため、コマンドについて質問していますが、このコマンドをできるだけ少なく使用したいと思います。

(
find /var/www/html/*/dir0/dir1/ ! -name 'he_IL.mo' -type f -exec rm -f {} + 
find /var/www/html/*/dir0/dir1/ -type f -exec rm -d {} +
find /var/www/html/*/dir0/dir1/ -type f -exec rm -l {} + 
)
  • *代わりに、これを行うとf「1文字だけを含める必要があります」というメッセージが表示されます。
  • i代わりにこれを行うと、f「不明なパラメータ」が表示されます。

ベストアンサー1

コマンドを使用するには、-typeコマンドから を削除します。それから私達は次を得ます:

find /var/www/html/*/dir0/dir1/ ! -name 'he_IL.mo' -exec rm -f {} + 

その名前のディレクトリとソフトリンクも削除されませんが、he_IL.mo可能であれば使用してください。

おすすめ記事