Linux デスクトップ環境はかつてないほど優れています。最新のディストリビューションは、洗練されたグラフィカル インターフェイス、優れたソフトウェア ストア、および端末に触れずにほぼすべての操作を実行できるユーザー フレンドリーなアプリケーションを提供します。
しかし、これだけの進歩にもかかわらず、多くの経験豊富な Linux ユーザーは依然としてコマンド ラインにかなりの時間を費やしています。多くの場合、コマンド ライン ツールは、GUI の代替手段では簡単には実現できない利点を提供します。
CLI アプリは自動化可能
1 つのコマンドを反復可能なワークフローに変える
クレジット: Dibakar Ghosh |ハウツーオタク
コマンドライン アプリケーションがグラフィカル アプリケーションに比べて持つ最大の利点の 1 つは、自動化です。 GUI アプリはボタンのクリックとメニューの操作を中心に設計されていますが、CLI ツールは保存、再利用、および自動的に実行できるコマンドを中心に構築されています。
これは、繰り返し実行する必要があるタスクを扱う場合に特に役立ちます。ファイルの変換、フォルダーの整理、データのバックアップ、メディアの処理、またはファイルの管理は、少数の項目を操作する場合に容易に行うことができます。
CLI アプリケーションを使用すると、一度実行したのと同じコマンドをシェル スクリプトに配置して、必要なときにいつでも実行できます。さらに良いことに、何も介入せずに自動的に実行されるようにスケジュールを設定することもできます。
たとえば、スクリーンショットをオンラインで共有する前に、スクリーンショットのサイズを変更する必要があることがよくあります。グラフィカル イメージ エディターでは、各イメージを開いて、そのサイズを変更し、エクスポートし、ファイルごとにこのプロセスを繰り返すことになります。コマンド ラインから ImageMagick を使用すると、単純なループでフォルダー内のすべての PNG ファイルのサイズを変更できます。
for file in *.png; do
convert "$file" -resize 50% "resized-$file"
done
各画像を手動で処理する代わりに、コマンドはバッチ全体を自動的に処理します。定期的に実行している場合は、それらのコマンドをシェル スクリプトに保存し、必要なときにいつでも実行して、反復的なタスクをワンクリックのワークフローに変えることができます。
彼らは一緒に作曲します
シンプルなツールから強力なワークフローを構築
クレジット: Jordan Gloor / How-To Geek
コマンド ライン アプリケーションのもう 1 つの利点は、それらが相互に連携して動作するように設計されていることです。 Linux では、単一のプログラムに依存してタスクのすべての部分を処理するのではなく、それぞれが 1 つのことを適切に実行し、組み合わせて大きなワークフローにできる小さなツールの使用を推奨しています。
これは、ほとんどの GUI アプリケーションとは大きく異なるアプローチです。グラフィカル プログラムは多くの場合、自己完結型です。つまり、利用できる機能は、開発者が含めることを選択したものに限定されます。一方、コマンドライン ツールは連携して動作することを中心に構築されています。
コマンドで出力を生成し、別のコマンドで出力をフィルタリングし、さらに 3 番目のコマンドで出力をより有用なものに変換できます。これらのツールを連携させることで、ターミナルから離れることなく、驚くほど複雑な問題を解決できます。
たとえば、ホーム ディレクトリ内で最大の 10 個のファイルを見つけたいとします。グラフィカル ファイル マネージャーはファイル サイズを表示できますが、複数のフォルダーにまたがる数千のファイルを並べ替えるのは面倒な場合があります。ターミナルでは、複数のユーティリティを 1 つのコマンドに組み合わせることができます。
find ~ -type f -printf "%s %p\n" | sort -nr | head
ここ、 find すべてのファイルを収集し、 sort サイズごとに並べて、 head 最大の結果のみを表示します。各ツールは特定のジョブを実行しますが、これらを組み合わせて作成するワークフローは、多くのグラフィカル アプリケーションで複製するのが困難です。
-
オペレーティング·システム
-
クブントゥ 24.04 LTS
-
CPU
-
Intel Core Ultra 9 275HX (2.7GHz ~ 5.4GHz)
-
GPU
-
NVIDIA GeForce RTX 5070 Ti (dGPU)、インテル グラフィックス (iGPU)
-
ラム
-
32GB デュアルチャネル DDR5 262 ピン SODIMM (5600MHz)
このラップトップは、Kubuntu Linux を搭載したポータブル ワークステーションおよびゲーム プラットフォームを必要とする開発者や専門家向けに特別に構築されています。 5.4 GHz に達するインテル プロセッサーと統合グラフィックスと専用の NVIDIA 5070 Ti GPU を備えており、機械学習やゲームに追加のパワーが必要な場合に最適です。
繰り返しの作業が楽になる
毎日行うタスクの時間を節約する
クレジット: Tim Brookes / How-To Geek
すべての反復タスクをスクリプトに変換する価値があるわけではありません。場合によっては、数十のファイルまたはフォルダーに対して同じ操作を実行する必要があり、それを今すぐ実行する必要がある場合があります。このような状況では、コマンドライン アプリケーションの方が、グラフィカルなアプリケーションよりもはるかに速くジョブを完了できることがよくあります。
反復的な作業の課題は、クリック、メニュー、確認ダイアログが追加されるたびにオーバーヘッドが増加することです。ファイルの名前変更、ディレクトリ間でのデータの移動、古いバックアップの削除、または大量のドキュメントのコレクションの検索は、難しいタスクではないかもしれませんが、一度に 1 つの項目を実行すると、すぐに時間がかかる可能性があります。
たとえば、カメラから数百枚の写真をインポートし、それらすべてに次のような一般的な名前が付いていると想像してください。 IMG_0001.jpg、 IMG_0002.jpg、 等々。ファイルマネージャーで個別に名前を変更するには、一括名前変更ツールを使用した場合でも時間がかかります。ターミナルでは、簡単なコマンドを使用して、わずか数秒でパターンに従ってすべてのファイルの名前を変更できます。
使用するシステム リソースが少なくなります
パフォーマンスの向上、オーバーヘッドの削減
クレジット: Dibakar Ghosh |ハウツーオタク
グラフィカル アプリケーションは長年にわたって大きな進歩を遂げてきましたが、最新のハードウェアでは、ほとんどのユーザーはソフトウェアが消費するシステム リソースの量についてほとんど考えません。ただし、すべてのグラフィカル インターフェイスには追加のメモリ、処理能力、グラフィカル レンダリングが必要ですが、これらは多くのタスクには必要ありません。
コマンドライン アプリケーションは、目の前のタスクだけに集中することで、オーバーヘッドの多くを回避します。ウィンドウ、アニメーション、メニュー、その他のインターフェイス要素を描画する必要がないため、多くの場合、より少ないシステム リソースを使用しながら同じ作業を実行できます。
これは、古いハードウェア、低電力デバイス、リモート システムで特に顕著になります。ターミナル ベースのテキスト エディタ、ファイル マネージャ、またはシステム モニタは、最新のデスクトップ アプリケーションに問題があるマシンでも応答性を維持できます。同様に、SSH 経由でサーバーに接続している場合、コマンドライン ツールを使用すると、完全なグラフィカル環境を必要とせずにシステム情報に即座にアクセスできます。
たとえば、システムのリソースがどのように使用されているかをすぐに確認する必要がある場合は、次のようなツールを起動できます。 btop ターミナル内で。これは、多くのグラフィカル システム監視アプリケーションが必要とするリソースのほんの一部のみを消費しながら、CPU、メモリ、ディスク、およびネットワーク アクティビティの詳細な概要を提供します。高速で応答性が高く、端末が利用できるほぼどこでも動作します。
端末は規模に優れています
コマンド ラインはすべてにおいてグラフィカル アプリケーションより優れているわけではありませんし、そうである必要もありません。それぞれが異なる問題を解決するため、Linux は両方のインターフェイスを提供します。優れたグラフィカルな代替手段が存在するにもかかわらず、非常に多くの Linux ユーザーがターミナル アプリケーションに依存し続けるのはこのためです。