Linux コマンド ラインは、ユーザーがシステムを完全に制御するための広い視野を開く能力と柔軟性を提供します。グラフィカル インターフェイスを超えて、コマンド ラインを使用して高度なコマンドを実行し、無制限の方法でシステムをカスタマイズできます。初心者でも熟練ユーザーでも、Linux コマンド ラインを学習すると、問題を解決したり、作業環境をより効率的にカスタマイズしたり、タスクの管理をより簡単かつ迅速に行えるようになります。ここでは、Linux を最大限に活用したいユーザーにとってコマンド ラインが不可欠なツールとなる利点を確認します。
コマンド ラインをマスターしたり、ターミナル ウィンドウをいじったりしなくても、Linux を使用できます。ただし、実行すると、コマンド ラインの速度、パワー、および低レベルのきめ細かな制御が失われます。
この誇大宣伝は一体何なのでしょうか?
それを誓う人もいれば、それを誓う人もいます。私たちが話しているのはコマンド ライン、つまり 50 年以上前から存在し、今もすぐに消えることのない由緒あるヒューマン コンピューター インターフェイスについてです。洗練されたグラフィカル インターフェイスとタッチスクリーンの便利な今日の世界でも、コマンド ラインの場所は存在します。
Unix が 1960 年代後半から 1970 年代前半に開発されたとき、グラフィカル ユーザー インターフェイス (GUI) やデスクトップ環境 (DE) などは存在しませんでした。書くことが町で唯一の遊びだった。コンピューターを操作する場合は、何も考えずにキーボードを使用します。
これには設計上の影響がありました。タイピングのみに制限されていたため、コンピュータの構成、操作、管理のあらゆる側面をコマンドの入力によって制御する必要がありました。これは半世紀以上前の Unix に当てはまり、今日の Linux にも当てはまります。コマンドラインからは何でもできます。あなたの手の届かないところには何もありません。
Linux は現在でも、本質的にはキーボード駆動のオペレーティング システムです。デスクトップ環境がなくても Linux システム全体を実行でき、多くのサーバーがこの方法で使用されます。もちろんデスクトップ上では、ほとんどのユーザーがデスクトップ環境を持っています。
ただし、ターミナル ウィンドウを開くと、コマンド ラインに完全にアクセスできるようになります。これは、すべての Linux コマンドと、Linux インストールを管理するすべての設定にアクセスできることを意味します。
1. システム管理スキルの向上
たとえ友人、家族、同僚に対してカジュアルにでも Linux システムを管理しようとすると、さまざまなディストリビューションやさまざまなデスクトップ環境に遭遇することになるでしょう。
コマンド ラインを使用すると、アプリケーションの GUI やデスクトップ環境自体では実行できないことを実行できます。デスクトップ環境とグラフィカル アプリケーションは、ユーザーと Linux の間の抽象化レイヤーです。 Linux インストールの管理に役立つツールがあるかもしれませんが、コマンド ラインほどの粒度はありません。
Linux コマンドには多数のオプションを指定できます。複雑になればなるほど、GUI ウィジェットでこれらすべてのオプションを繰り返す可能性が低くなります。さらに、各デスクトップ環境には独自のアプリケーションと独自の処理方法があります。すべてのデスクトップ環境の GUI 方法を学ぶよりも、ターミナル ウィンドウを開いて、どこでも機能する汎用の Linux コマンドを入力する方が簡単です。コマンドライン ツールが特定のディストリビューションに含まれていない場合は、すぐにインストールできます。
場合によっては、選択があなたのために行われることもあります。コマンド ラインでの操作方法を知ることは、デスクトップ環境がインストールされていない UI のないサーバー、または SSH アクセスしかできないリモート マシンを管理する唯一の方法です。
2. 効率の向上
Linux コマンドには多くのオプションを指定できます。これが精度を高める理由です。必要なことを正確に実行するオプションを選択してください。それがまさに実行されます。 Linux コマンドは連携して動作するように設計されています。他のコマンドによって入力として受け入れられる出力を生成できます。
このようにコマンドをリンクすることをパイピングと呼びます。このコマンドは、現在のディレクトリ内のファイル拡張子のリストと、それぞれの異なるタイプの番号を返します。 Linux にはこのためのコマンドがありませんが、既存の Linux コマンドを使用して簡単にコマンドを組み合わせることができます。
ls | rev | cut -d'.' -f1 | rev | sort | uniq -c | sort -r
ls コマンドはファイルをリストします。ファイル名は、各名前の文字を逆にして rev コマンドに入力します。 Cut コマンドは、最初に見つかったピリオドの後のすべての名前を削除します (存在する場合)。 2 番目の rev コマンドは、文字列を元の順序に戻します。これにより、拡張子のリストが得られます。リストはソートされ、uniq はそれぞれの一意のファイル拡張子の出現数をカウントします。その後、リストが再び降順に並べ替えられます。
それは素晴らしいことですが、覚えることがたくさんあります。特に多くのオプションを含むコマンドの場合はそうです。
ここでエイリアスが登場します。エイリアスを使用すると、複雑なコマンド ラインを呼び出すカスタム コマンドの覚えやすい名前を選択できます。エイリアスはパラメータを取ることもできます。コマンド ラインが単一のコマンド ラインというより小さなルーチンのように見える場合は、それをラッパー関数に変えることができます。
出力の永続的な記録が必要な場合は、出力を端末ウィンドウではなくファイルにリダイレクトできます。コマンドの最後に「>file-count.txt」を追加すると、ターミナル ウィンドウに表示されるテキストを含む file-count.txt というファイルが作成されます。
ls | rev | cut -d'.' -f1 | rev | sort | uniq -c | sort -r > file-count.txt
コマンドをグループ化してコマンド シーケンスを細分化すると、効率が大幅に向上し、覚えたり入力したりする必要が減ります。
3. タスクを自動化する
コマンド シーケンスがシェル関数を超えた場合は、コマンド シーケンスをスクリプトに変換し、完全にシェル言語でプログラムを作成できます。
スクリプトで達成できることには制限がありません。コマンドラインで使用できるコマンドはどれも、テスト、比較、ループ、case ステートメントなどのシェル言語構造とともにスクリプトで使用できます。
退屈で反復的なタスクは、代わりにスクリプトを実行することで実行できます。スクリプトを特定の時間または頻度で実行する必要がある場合は、systemd タイマーを使用して自動的に実行されるように設定できます。
4. 問題のトラブルシューティング
コンピュータに関する問題のトラブルシューティングは、Linux コマンド ラインで十分にサポートされています。これを行うことは、GUI の難読化を回避し、システムを直接処理することを意味します。
Linux は、ブート プロセスを含む、あらゆる種類のイベントとプロセスをログに記録します。すべてのログ イベントには、systemdjournalctl を通じてアクセスできます。
lshw、lsblk、lscpu などのツールを使用してハードウェアの問題をドリルダウンし、fsck を使用してファイル システムの問題をスキャンし、GRUB を使用してブートの問題をスキャンできます。
sudo lshw





