execvのファイルは削除せずに、他の場所のすべてのディレクトリはどのように削除できますか? [閉鎖]

execvのファイルは削除せずに、他の場所のすべてのディレクトリはどのように削除できますか? [閉鎖]

私がホームディレクトリにあり、コンテンツといくつかのファイルを含む2つのディレクトリ(名前がわからないと仮定)がある「Apple」というディレクトリがあるとしましょう。自宅で端末を開き、CDを使わずに「Apple」からこれら2つのディレクトリを削除したいと思います。

利用できません'rm -r ホーム/アップル/*/'私も使えません。'rmdir ホームディレクトリ/Apple/*'

助ける?

答え1

私は「ホームディレクトリ」があなたのホームディレクトリを意味すると仮定します。これは、ディレクトリではなく引数なしで~実行されたときに終了することです。cd/home

~/Apple削除するディレクトリが2つあります。dir1これをと呼びますdir2。削除したくない他のディレクトリがあると仮定すると、次のものを使用できます。

rm -rf ~/Apple/dir1 ~/Apple/dir2

両方のディレクトリとその内容を削除します。ホームディレクトリにある場合は、~/コマンドから両方のパス名を省略できます。

もしこれらただディレクトリを~/Apple使用すると使用できます

rm -rf ~/Apple/*/

Appleホームディレクトリからこのディレクトリのすべてのサブディレクトリを削除します。ワイルドカードパターンはディレクトリとしてのみ解釈できるため、末尾のスラッシュが*/使用される限りディレクトリではない場合はApple影響を受けません。同様に、~/ホームディレクトリにある場合は無視できます。

もちろん、入力エラーが原因でデータが多すぎる場合は、復元できるように正しくバックアップされたデータをテストする必要があります。

答え2

findApple内から直接すべてのディレクトリを見つけて削除できます。

find home/Apple -type d -maxdepth 1 -mindepth 1 -exec rm -rf {} \;

関連情報