削除コマンドにおけるワイルドカードとメタキャラクタ
はじめに
本記事を閲覧いただきありがとうございます。
削除コマンドはディレクトリ削除用のコマンドやファイル削除用のコマンド、さらにはオプションコマンドも入ってきます。パソコンに不慣れな方や、初心者の方からすると削除コマンドは大事なデータをも削除してしまうかもしれないという恐怖があるのではないでしょうか。
本記事では、そんな方へ向けて正確な削除コマンドやコマンドの意味合いなども紐づけて解説していきます。
前提として
実際にコマンドを学ぶ前に知っておいてほしいのが次のワイルドカードとメタキャラクタです。ワイルドカードとメタキャラクタを扱えるようになることでより正確な結果を求められるようになるので是非覚えていってください。
ワイルドカード
ワイルドカードとは任意の文字列を指定します。具体的には次の例が挙げられます。
ワイルドカード | 説明 |
* | 0文字以上の文字または文字列にマッチしたものを指定します。 |
? | 任意の1文字にマッチしたものを指定します。 |
ワイルドカード「*」使用例
①実行:$ ls
結果:a.txt , text.txt
②実行:$ ls *.txt
結果:a.txt , text.txt
③実行:$ ls t*.txt
結果:text.txt
①リストを出力しています。②で最後尾に「.txt」がついたファイル名を呼び出したため、結果としてどちらも出力されています。
③では頭文字が「t」且つ、最後尾に.「.txt」がついたファイルを呼び出したため、text.txtのみが出力されています。
ワイルドカード「?」使用例
①実行:$ ls
結果:a,txt , text.txt
②実行:$ ls ?.txt
結果:a.txt
③実行:$ ls ????.???
結果:text.txt
①リストを出力しています。②1文字指定しているため、出力されるのはa.txtのみとなります。
③「????.???」は「4文字.3文字」を呼び出しているためtext.txtが出力されます。
メタキャラクタ
メタキャラクタとは文字候補を指定することでワイルドカードよりも限定的なマッチができます。具体的に次の例が挙げられます。
メタキャラクタ | 説明 |
[ ] |
[ ]内の文字いずれか1文字にマッチしたものを指定します。 a[bcd]→ab,ac,adが該当します。 abcやabdなどは該当しません。 また、[ - ]で範囲指定、[ ]内の先頭に「!」を置くことでマッチしない範囲を指定できます。 |
{ } |
{ }内で「,」で区切った文字列が該当します。 また、文字列を生成することもできます。 |
メタキャラクタ[ ]
①実行:$ ls
結果:aa , ab , ac , ad , ae
②実行:$ ls a[bc]
結果:ab , ac
③実行:$ ls a[a-c]
結果:aa , ab , ac
④実行:$ ls a[!a-c]
結果:ad , ae
①リストを出力しています。②一文字目が「a」且つ、二文字目が「b」または「c」のファイルを出力しています。3文字以上のファイルは該当しません。
③一文字目が「a」且つ、二文字目が「aからc」のいずれかのファイルを出力しています。3文字以上のファイルは該当しません。
④一文字目が「a」且つ、二文字目が「aからc」に当てはまらないファイルを出力しています。3文字以上のファイルは該当しません。
コマンドを使う上でワイルドカードやメタキャラクタなどの使い分けは非常に重要になってきます。
rmコマンド
Linuxにおけるrmコマンドはファイルの削除機能ということもあり、頻繁に使うコマンドになります。 コマンドの由来はremove(除去する)という意味から来ています。 また、オプションコマンドの活用によりディレクトリ全体を削除することも可能です。
書式:rm [オプション] ファイル名
rmオプションコマンド
rmオプション | 説明 |
-f | ユーザーへの確認なしに削除します。 |
-i | 削除する前にユーザーに確認します。 |
-r、-R | サブディレクトリも含め、再帰的にディレクトリ全体を削除します。 |
rmdirコマンド
rmdirコマンドは空のディレクトリを削除するコマンドです。 remove directory(ディレクトリを削除する)が簡略されてrmdirとして使われています。 ディレクトリ内にファイルやディレクトリが残っているとrmdirは機能しません。その場合は予め、削除したいディレクトリ内を空にしてからrmdirを実行するか、rm -rfなどのオプションなどを使ってまとめて削除する方法があります。
rmdirオプションコマンド
rmdirオプション | 説明 |
-p | 複数階層の空ディレクトリを削除します。 |
まとめ
ワイルドカードとメタキャラクタは検索コマンドだけでなく、削除コマンドだけでなく移動コマンドでも様々な場面で使えるため覚えておいて損はない知識です。削除コマンドについても、データ移行など行う際には欠かせないスキルになるので覚えておきましょう。大事なデータを誤って削除しないようにワイルドカードとメタキャラクタを正確に扱えるようになりましょう。