CLI(コマンド・ライン・インターフェース)は好きですか?
CLIというものをご存じだろうか。
まぁ、一言で言ってしまえば、『文字を打つことでコンピュータに対して何らかの命令を与える、ユーザインターフェース』……つまり、『コマンド入力のための媒体』の事だ。
Windowsであればコマンドプロンプト。
Linuxであれば、コンソール、またはTeraTermなどの遠隔接続用ソフトを使ってtelnet/ssh接続して文字を入力する。
WindowsでもLinuxでも、基本的には『コマンド』と呼ばれる特定の文字列によって、処理が成される。
どちらのOSにも共通するものとしては、cdコマンドなどがある。
これは文字通りchange directory(階層移動)の意味で、Windowsにおいてはエクスプローラを開いて、特定のフォルダを開いてそこを見る、などの行為に相当する。
なぜそんな事をわざわざGUIではなく、CLIを用いてやるのか。
主に、2つの理由がある。
1つは、ソフトウェアによっては、そういうコマンドを用いなければ『ソフトウェアの設定』ができないようになっている、という制約。
もう1つは、別にコマンドを使わなくても出来るが、コマンドを使ったほうが効率が良い、という理由である。
私は主に後者をよく用いる。
つまり、日常的なWindowsの利用においても、割とコマンドを使う。
コマンドプロンプトを開くのも、『スタート』をクリックして……などが億劫で、Windowsキー+R、などのショートカットキーを用いて、そこで『cmd』と入力して、プロンプトを開くなどは日常茶飯事である。
また、ファイルを探したい場合も、エクスプローラなど用いない。
探したい階層に移動して、そこから以下のようなコマンドを打つ。
dir /b/a-d/s <探したい階層> > <任意のテキストファイル名>.txt
こうする事で、その階層の配下にある全てのファイルが絶対パスでテキストファイルに吐き出される。
すると、テキストエディタなどを用いて正規表現検索なども出来る為、かなり効率よくモノ探しができる。
もっとも、個人のPCなどでキチンと整理する人には、不要なテクニックかも知れないが。
企業で仕事をしていて、ファイル・サーバがごっちゃごちゃになっていると、有用なテクニックだったりするのだ。
Windowsのコマンドは貧弱なので中々使い熟すのが難しいが、Linuxのコマンドはもっと色々と便利なコマンドやオプションがあり、ファイル探しにも専用のコマンドがあったりする。
findコマンドというのがそれだ。
私は以下のようなコマンドをよく使用する。
find <探したい階層> -type f -ls
または
find <探したい階層> -type f | xargs ls -l
これはどういう意味かというと、探したい階層の配下にある、全てのファイルをlsオプションでリストする、または、探した結果をパイプラインと呼ばれるLinux特有の機能を使って、変数として引き渡して、その変数に対してlsコマンドを打つというもの。
結果、自分の探しているファイルに限定して、リストを作成できるというわけだ。
因みに、-type fをつけないと、ディレクトリも出てきてしまうので、お薦めしない。
コマンドラインの奥深さは、やってみると結構ハマる。
これが楽しいと思えると、LinuxOSにおける仕事が非常に捗るのだ。
もし、このエッセイを読んでいる人の中でコマンドラインなんて苦手だな、と感じる人は、観点を変えてみるのも良いのではないだろうか。
ども0024ですー。
初のエッセイ書いてみました。
エッセイ?
エンジニアのブログ?
なんか良く分かんない感じの話になりましたけど。
思想を論じてるというか、僕はコマンドラインが好きだって話ですね。
もっと皆、コマンドに慣れ親しもうぜ! ってね。
因みに、こういうIT業界ネタを用いた連載が過去にありまして。
↓ はい、こちら転生管理システムです!
https://ncode.syosetu.com/n6110gl/
僕がインフラエンジニアとして得た経験を最大限に『小説』として組み込んだものです。
マニアック過ぎてウケは悪かったですが(笑)
ではでは。