コマンドラインが広く使用されている選択ですか、それともここに問題がありますか?
最新のLinuxには、コマンドソルバーのテキストベースのUIへの入力を介してGUIの上に簡単に実装できる、数十の新しい強力な3DレンダリングGUI、グラフィックベースのAPI、およびデスクトップインターフェースがあります。コマンドを使用すると、プログラムにGUI要素が含まれます。
私が言おうとしているのは、なぜコマンドラインが2013年にもなぜそれほど人気があるのかということです。
私は、コンピュータのメモリが非常に小さい前に、素晴らしいGUIがメインメモリを捕まえたことに同意することができます。しかし、今はメモリが本当に安く、GUIは3Dであり、二次電池システムが日々進化しています。さて、それでは話してみましょう。では、なぜインタプリタにコマンドを入力して端末UIシミュレーションを解析するのですか?
より現代的なGUIを介して他にコマンドを実装するためのより強力なグラフィック方法がないのはなぜですか?
たとえば、データシートビューを生成するボタンとして「ls」または「list」を使用するのはどうですか?または、現在のマウントポイントのテーブルビューを生成するボタンに「umount」を実装するのはどうですか?
全体的に、より便利なトラップでまったく同じ制御と機能を提供するより現代的なコマンドソルバーの実装が実行されないのはなぜですか?
PS:ここにこの内容を追加する必要があります...そうするつもりはありませんでした。すべてコマンドは、素晴らしいウィジェットなどを含むGUIベースのプログラムを使用して実装する必要があります。私はコマンドラインを再編成する必要があると思います。そうでなければ、いくつかのアイデアは、単なる「単語」よりも視覚的な側面を通してより簡単に表現、最適化、管理、または循環する可能性があります。議論を始めようとするのではなく、なぜこれが何も変わらなかったのを見て、オペレーティングシステム/ソフトウェアのグラフィックが長年にわたって発展してきたことを学ぶことです。
答え1
コマンドラインには構文があります。つまり、語彙的に同じ文字列に位置や他の文字列との関係によって異なる意味を与える方法です。
文法がないより文法があれば、より多くを表現できます。最良の例は、回文文字列です。回文を認識する正規表現(comp sci型)を作成することはできません。別の例:「特定の数の 'a'文字の後に同じ数の 'b'文字が続く」正規表現を作成することはできません。
構文を学ぶと、プログラミングの可能性が高くなります。テストと「while」ループを含むコマンドラインはありますか?任意の計算を行うことができ、これは「もっと表現できる」という別の表現です。
ある程度のプログラミング機能を備えたポイント・アンド・クリック・インターフェースはほとんどありません。
私の考えへの答えは、「コマンドラインがより表現力が良い」として帰結します。
答え2
私にとっては自動化がすべてです。
以下は、マイシェル履歴ファイルから抽出した一連の小さな自動化の例(一部の行分割を含む)です。
# Modify remote urls for a few dozen git repositories
while read repo ; do (
cd $repo; git-remote-mod-url 's/parad/para/g' locserv
); done < gits
# List the package repository that contains each package in a list
while read package ; do
echo -n "$package " ; yaourt -Si $package | grep Repository
done < all-packages
# Make a bunch of directories based on the output of a script
./scripts/info/list.sh a | while read cat ; do mkdir $cat ; done
# Filter hundreds of files
for p in * ; do clean-text < $p/PKGBUILD | sponge $p/PKGBUILD; done
# Retrieve a list of items that might be suitable as examples for this post
grep -E '\<(while|for)\>' hist-zsh
# Get a list of orphan packages on the [AUR](https://aur.archlinux.org/)
for pack in * ; do (
source $pack/info
echo $pack
curl -s https://aur.archlinux.org/packages/$upstream_name/ |
grep '<td>None</td>'
); done
Unixシリーズシステムで提供されるコマンドは柔軟です。それらを相互に接続して多数のタスクを実行できます。まるでビルディングブロックやレゴのようなものです。グラフィック手順がさらに厳しくなりました。他のプログラムとの接続が困難な場合が多い。
答え3
私はより速く、より簡潔で、より柔軟でより強力なので、コマンドラインを好みます。マウスでできるほとんどすべての操作をキーボードでより速くすることができます。これが私(そして他の人)がIDEよりvimを好む理由です。
答え4
考えられる理由:
- スクリプト - 自動化(マウスとボタンとは反対) - 毎回手動でマウスを動かし、ボタンをクリックするのにエネルギーを無駄にしません。
- CLIはあまり気にしない(集中)
- CLIはより少ないリソースを使用します(より速く実行されます)。
- GUIはCLI(コマンドとファイル)に基づいています。 CLIを削除することはできません。