特定の単語を含むファイルやディレクトリを除外して削除するLinuxコマンド
目次
スポンサードリンク
この記事では、現在のディレクトリ内のすべてのファイルとディレクトリを再帰的に削除する際、特定の単語を含むファイルやディレクトリを除外する方法を解説します。
コマンドの実行例と解説
以下コマンドは、現在のディレクトリ内のすべてのファイルとディレクトリを再帰的に削除しますが、「users」という単語を含むファイルとディレクトリは除外します。
ls -a | grep -v -E 'users' | xargs rm -r
ls -a の解説
lsコマンドはファイルやディレクトリのリストを表示するコマンドです。-a オプションはドット(.)で始まる隠しファイルも含めてすべてのファイルをリストします。
grep -v -E ‘users’ の解説
前のコマンド(ls -a)の出力結果をフィルタリングしています。-vオプションは指定されたパターンに一致しない行のみを出力するオプションです。-Eオプションは正規表現を有効にします。一致するパターンとして ‘users’ を指定しています。 このコマンドにより、「users」という単語に一致しない行にリストをフィルタリングできます。
xargs rm -r の解説
xargsコマンドは、前のコマンド(grep -v -E ‘users’)の出力結果を取得し、次のコマンド(rm -r)の引数に変換します。rmコマンドはファイルを削除するためのコマンドです。-rオプションは、rmコマンドにディレクトリを再帰的に削除するように指示します。
コマンド実行時の注意点
このコマンドは意図せずに重要なファイルを削除する可能性があるため、注意して使用してください。コマンドを実行する前に重要なデータのバックアップを取っておくことをおすすめします。
Linuxコマンドについて学べるおすすめ書籍
Linuxコマンドの知識は、プログラマにとって長く役立つ知識です。 私はこちらの書籍で一通り知識を抑えました。基本から丁寧に解説されています。
Linux教科書 図解でパッとわかる LPIC/LinuC
はじめてLPICを受ける方向け、手を動かしながらLinuxについて学びたい方におすすめ。30日間の無料体験もできる『Kindle Unlimited』でも読むことができます。
Linuxコマンドについて徹底的に学べるUdemy講座
もう絶対に忘れない Linux コマンド【Linux 100本ノック+名前の由来+丁寧な解説で、長期記憶に焼き付けろ!】
Search
Recent Posts
- カーネル更新やパッケージのパッチ適用後、OSの再起動が必要か確認するLinuxコマンド(needs-restarting)
- OpenSSHのエラー「bad ownership or modes for chroot directory component」の原因と解消方法
- Apacheの起動状態をチェックして停止してる場合にApacheを起動するシェルスクリプト
- Amazon LinuxのOSバージョンを調べる方法|/etc/redhat-release の代替ファイル
- MYSQLでダンプファイルを取得する際に発生したエラー「Couldn't execute 'SELECT BINLOG_GTID_POS('', '0')': You are not using binary logging (1381)」の原因と対処方法