/からrootとしてこのコマンドを実行するのは安全ですか?

/からrootとしてこのコマンドを実行するのは安全ですか?
find . * -depth -print0 | xargs -0 rmdir

すべての空のフォルダ(隠しフォルダを含む)を繰り返し見つけて削除します。

私のホームフォルダとLinux PCのペンドライブでのみ試しましたが、うまくいきましたが、/ rootで実行するのが安全かどうかわかりません。

一度は、インターネット上でいくつかのコマンドを実行してオペレーティングシステムを壊したことがあります(理解できません)。

答え1

ページは次のとおりmanですrmdir

Remove the DIRECTORY(ies), if they are empty.

空のディレクトリをすべて削除するのは安全です。あなたが尋ねるべき質問は次のとおりです。 -

削除しますか?みんなディレクトリは空ですか?

一部のアプリケーションでは、ディレクトリが空であってもディレクトリが必要です。たとえば、永続ストアがあるjournald場合にのみ永続ストアに書き込むように構成できます/var/log/journald。ディレクトリが空のときにコマンドを実行すると、ディレクトリが削除されます。ディレクトリが見つからないため、後でjournald永続ストアに書き込まれません。私はFedoraが基本的にこのように構成されていると思います。

コマンドを使用して空の(アンマウントされた)マウントポイントを削除することもできます。簡単に修正できますが、まだ問題を引き起こす可能性があります。

答え2

このコマンドはほとんどの場合安全ですが、コマンドがoptionsを受け入れることができる場合は、*ダッシュで始まるファイル名(バグまたは他のバグを悪用できる悪意のある人が作成した場合)として使用することはお勧めできません。オプションとして解釈されます。誰かが言ったように*、ここでは意味がありませんが、覚えておくべきことは、特にrootでコマンドを実行するときにすべてのパラメータを制御する必要があるということです。通常、プレフィックスのないワイルドカードは使用しないでください(例:代わりに通常*より./*良い)。また、ファイル名のシンボリックリンクとスペースにも注意してください。

答え3

findディレクトリツリーのすべてのファイルとフォルダが印刷されます。 findから返された各要素に対してxargs提供されたコマンドを実行します。rmdir

rmdir空でないフォルダは削除されず、ファイルも削除されません。試してみてください。一部のファイルを含むmkdirフォルダを作成し、そのフォルダで実行します。次のことについて不平を言うでしょう。touchrmdirrmdirrmdir: failed to remove ‘test’: Directory not emptyrmdir: failed to remove ‘test.txt’: Not a directory

はい。完全に安全でなければなりません。テストするには、mkdirテストフォルダセットを使用して作成し、期待どおりに機能してtouchいることを確認できます。

また、rmdir-および* nixのほぼすべてのコマンドの詳細については、を実行してくださいman <command>

関連情報