/html
これが私のフォルダの内容です。
[root@ip-10-0-7-121 html]# ls
a wp-activate.php wp-content wp-mail.php
b wp-admin wp-cron.php wp-settings.php
healthy.html wp-blog-header.php wp-includes wp-signup.php
index.php wp-comments-post.php wp-links-opml.php wp-trackback.php
license.txt wp-config.php wp-load.php xmlrpc.php
readme.html wp-config-sample.php wp-login.php
/フォルダを別のフォルダに移動せa
ずにフォルダを除いてすべてを削除したいです。これを行うコマンドは何ですか?b
a
b
答え1
否定を使用することができますfind
(危険は本人負担)。
「a」または「b」という名前のすべてのファイルとフォルダを探します。
find -name a -o -name b
現在のディレクトリで、「a」または「b」という名前のすべてのファイルとフォルダを探します。
find -maxdepth 1 -name a -o -name b
現在のディレクトリで、名前が「a」と「b」ではないすべてのファイルとフォルダを探します。
find -maxdepth 1 ! -name a ! -name b
また、結果から現在のディレクトリを除外します。
find -maxdepth 1 ! -name a ! -name b ! -name .
これで、次を使用して作成されたすべての要素を削除できますrm
。
find -maxdepth 1 ! -name a ! -name b ! -name . -exec rm -rv {} \;
答え2
このコマンドを使用して、選択したファイル/フォルダ(隠しファイル/フォルダを含む)を除く現在のディレクトリのすべてのファイル/フォルダを削除します。
find . -maxdepth 1 ! -name "file1.php" ! -name "file2.js" ! -name "dir1" ! -name "dir2" ! -name . -exec rm -r {} \;