メタキャラクターを使用すると、Linuxコマンドラインでの作業効率が向上します。
多くの Linux コンピュータはヘッドレスで動作し、すべての管理タスクをコマンドラインで完了することができます。これには、ls、ls-l、ls-l、cd、pwd、top など、誰もが馴染んでいる基本的なコマンドが使用されます。
Linuxのシェルメタキャラクター
これらのコマンドを拡張するために、メタキャラクターを使用できます。
パイプ記号 |#
例えば、システム上で実行されているすべての Firefox インスタンスを知りたいとします。ps コマンドを使用して、-ef オプションを付けてシステム上で実行されているすべてのプロセスインスタンスをリストアップすることができます。今度は、Firefox に関連するインスタンスのみを表示したいと思います。お気に入りのメタキャラクターの 1 つであるパイプ記号 | を使用して、その結果を grep に渡し、パターンを検索します:
$ ps -ef | grep firefox
出力リダイレクト >#
もう 1 つのお気に入りのメタキャラクターは出力リダイレクト > です。これを使用して、dmesg コマンドの結果に含まれるすべての AMD 関連の結果を印刷します。これはハードウェアのトラブルシューティングに役立つことがあります:
$ dmesg | grep amd > amd.txt
$ cat amd.txt
[ 0.897] amd_uncore: 4 amd_df counters detected
[ 0.897] amd_uncore: 6 amd_l3 counters detected
[ 0.898] perf/amd_iommu: Detected AMD IOMMU #0 (2 banks, 4 counters/bank).
アスタリスク *#
アスタリスク *(ワイルドカード)は、同じ拡張子を持つファイルを検索する際に便利です。例えば、.jpg や.png などです。まず、Picture ディレクトリに移動し、次のようなコマンドを使用します:
$ ls *.png
BlountScreenPicture.png
DisplaySettings.png
EbookStats.png
StrategicPlanMenu.png
Screenshot from 01-24 19-35-05.png
チルダ記号~#
チルダ記号~は、Linux システム上で自分のホームディレクトリに素早く戻るための方法です:
$ cd ~
$ pwd
/home/don
ドル記号 $#
ドル記号 $ は、メタキャラクターとして異なる意味を持ちます。パターンマッチングに使用する場合、指定された文字列で終わる任意の文字列を意味します。例えば、メタキャラクター | と $ を同時に使用する場合:
$ ls | grep png$
BlountScreenPicture.png
DisplaySettings.png
EbookStats.png
StrategicPlanMenu.png
Screenshot from 01-24 19-35-05.png
キャレット記号 ^#
キャレット記号 ^ は、指定された文字列で始まる項目に結果を制限します。例えば、メタキャラクター | と ^ を同時に使用する場合:
$ ls | grep ^Screen
Screenshot from 01-24 19-35-05.png
これらのメタキャラクターの多くは、正規表現への入り口であり、さらに探求することができます。あなたのお気に入りの Linux メタキャラクターは何ですか?それらはどのようにあなたの作業を効率化していますか?