プログラミングツールのコマンドラインバージョンを学習するタイミング [閉まっている]


12

ほとんどすべてのプログラミングツールにはコマンドラインバージョンがあります。その多くにはGUIバージョンもあります。コマンドラインバージョンのさまざまなコマンドとさまざまなオプション/スイッチを学習するには、多くの時間と暗記作業が必要です。

そこで、いくつか質問があります(必ずしも相互に排他的ではありません)。

1)GUIバージョンでも提供されるツールのコマンドラインバージョンでコマンドを学習/記憶するのはいつですか?

2)のコマンドラインバージョンを学習する必要があるツールは何ですか?....コンパイラ?バージョン管理システム などなど


使用しているツールがコマンドラインインターフェイスを提供しているが、適切なドキュメントがない場合は、そのようなツールの使用には注意が必要です。存在する場合は、RTFM。それほど難しくはありません。その点に到達したら、StackOverflow.comで質問してください。コマンドラインから何かを行う方法を理解する必要がある場合は、できると信じています。何かを理解する必要があるかどうかわからない場合は、おそらくそうではありません。十分な時間がある場合に限り、人生は仕事以外の興味深いものでいっぱいです
ジョブ

回答:


21

プログラムのコマンドラインオプションを学習する必要がある2つの理由がわかります。

  1. 何らかの方法でプログラムを自動化する必要がある場合-ビルドスクリプト、バッチ処理など。

  2. プログラムの動作を最適化する必要がある場合-メモリフットプリントなどを削減します。

どのツールを学ぶべきか-それは、次に何をしたいかに完全に依存します。


1
あなたはいつも...スクリプト、それを自動化することができるようにするプログラムのことができるようにしたい

1
@Thorbjørn-それは私が言ったことではありませんか?または私は明確ではなかったのですか?
ChrisF

3
はい。自動化の部分に重点を置いただけです。現在の方法論をスクリプト可能なものに適応させようとすると、前もって痛みが生じることを理解していません。

9

すでにたくさんの良い答えがあります。もう1つ視点を追加します。

方程式/プロセスから人間を引き出したい場合は、GUIをコマンドラインツールに置き換えます。これを行うためのいくつかの理由および/または利点:

  • ヒューマンエラーを取り除きます(コマンドを繰り返す場合)
  • ランダム化された入力を使用したテストの展開、構築、実行など、あらゆる種類の自動化に最適です。
  • あなたは本当にパワーユーザーになります。メタプログラミングのはしごを登るオプションを提供します。自分ですべてのアクション(GUIをクリック)を行う必要はありません。簡単にスクリプト化できます!
  • ツールを連鎖させることができます(Unixパイプを考えてください)。
  • コンピューターに仕事をさせる-あなたはスケーリングせず、コンピューターがやる!

いつするの?繰り返しを見つけたとき。

もちろん、GUIの場所と時間はあります。しかし、本当にコンピューターの力を活用し、ムーアの法則の波をサーフィンしたい場合は、タスクのスクリプトを学ぶ必要があります。

編集:追加ボーナス。このTシャツを着ることができます:)


7

鉱山は次のとおりです。

1)より生産的になります。私にとっては、クリックするだけでなく、シェルで物事を行う方が速いです。サービス/ツール/などを設定するのではなく、ツールを使用することについて話しています。ウィザードを使用してをクリックする方が速い場合がありますがNext Next Next、これらのウィザードはコマンドラインバージョンにもあります:)

2)アプリケーションでコマンドラインバージョンを使用する。たとえば、PDFテキストファイルに変換するとします。GUIバージョンを使用する場合は問題ありません。ただし、次のようなことができるコマンドラインインターフェイスも提供している./pdf2text input.pdf output.txt場合:。

3)アプリケーションの一般的なことを学ぶ。たとえば、Windowsにdiffがインストールされており、2つのファイルを比較するためのフロントエンドがある場合。それは最高です。しかし、Linuxで使用する必要がある場合はどうでしょうか。Linux用の同じフロントエンドを見つけることができますが、存在しない場合はどうなりますか?Linuxでの使用方法を再度学習し、新しいフロントエンドをインストールして、操作に慣れる必要があります。コマンドラインバージョンの使用方法を学習している場合は、必要ありません。

3)について... Windows でGitを使用するのに慣れるのに苦労する人がいます。彼らは、Windowsにはそれの良いフロントエンドがないと言いますが、コマンドラインの方法を学べば問題はありません。同じように機能します。もちろん、問題は時々人々がコマンドラインを怖がるということです;)

次のコマンドラインバージョンを学習することをお勧めします。

  • gccのようなコンパイラ
  • gdbのようなデバッガー
  • Git ;)
  • egrepawkfindなど、Windowsで作業できるGNU / Linuxの多くのツール

Yeahhhh +1 for git:D diffは1つの例ですが、実際のコマンドは使用しません。私はvimdiffを好みます(技術的には端末もそうだと思いますが)
代替案

@mathepicは正しいですがvimdiff、コマンドラインツールでもありませんか。
オスカーメデロス

同時にそのncurses(私は確信していないと思う)ので、私は小さな区別をします。
代替

はい、しかし、私もコマンドラインツールとしてそれらを取っています:)
オスカーメデロス

@mathepic:あなたの懸念に対する答え:gvimdiff
リーライアン

3

パラメータ構文をメモリにコミットする必要があるのはなぜですか?それがman存在する理由です--help/?winblowzの土地にいる場合)。

ほぼすべてのオプションを1分以内に調べることができます。目的は、コマンド何をするのかを覚えておくことです。


1

実際には、GUIツールに機能が欠けているかどうか、またはコマンドラインから高速であるかどうかが問題になります。

ただし、コマンドラインを使用することの利点は、ドキュメントを読んで、実際に何が起こっているかを把握する可能性が高くなることです。特にバージョン管理の例では、コマンドラインからこれを行うと、かなり多くのことがわかります。


1
  • コンパイラ:自動ビルドに必要になります
  • Makeまたはビルドシステム:自動ビルドはエラーをキャッチします
  • バージョン管理:そうだと思いますが、3つの中で最も重要ではありません。しかし、その後、変更メッセージを介してgrepなどの他のコマンドライン操作を行うことができます。

ただし、コンパイラまたはmakeのオプションを記憶する必要はありません。それらがプロジェクト用に設定されると、頻繁に変更する必要はありません。


1

コマンドラインツールを学ぶことの利点は、GUIを使用することの利点よりもはるかに大きいと感じています。GUIの機能が失われることは何度もありますが、常にそうであると言うのは公平ではありません(つまり、Windowsでcmakeを見てください-通常の状況以外でコマンドラインを使用する理由はありません)。

暗記する限り、初めて使用するときにプログラムのコマンドセットを覚えておく必要は特にありません。マニュアルをブックマークするだけで(オンラインマニュアルを使用する場合は* nixの「man」を使用します)、特定の機能(覚えていない)が必要な場合は、マニュアルを参照してください。これらのことを暗記することは、使用することで自然に起こるはずです。たとえば、コマンドラインから「tar」と「gzip」を非常に頻繁に実行しますが、通常は実行しないタスクを実行するには、マニュアルを参照する必要があります。

何よりも、製品を出荷したり、何らかのソースコードを送信したり、他の開発者に送信したりする場合、GUIの使用に関する詳細な指示を書くよりも、コマンドのスケルトンを含める方がはるかに簡単です。開発者が使用したコマンドラインオプションを理解していない場合、開発者は単にそれらを検索できます。GUIを誰かに説明することは、常に最もポータブルなソリューションではありません。

よろしく、
デニスM.


0

すべて、開発のためにX11 / Windowsに依存しないようにします。端末から完全に開発できるのは素晴らしいことです。


私はあなたに同意します;)
オスカーメデロス

0

簡単な答え:変更(コマンドラインを使用)するのに最適な時期はNOWです。本物の男性はキーボードを使用します。本物の男性はクリックしないでください。限目。

より長い回答:長期的な観点から見ると、生産性が高く価値が高い(レイオフされる可能性が低い)ことに加えて、コマンドラインを使用すると、(実質的な練習/メモ化により)より賢くなり、より健康になります(なぜなら、マウスを使用する代わりに、コマンドラインインターフェイスで両方の手を同時に使用する方が人間工学に適しています)。

http://www.over-yonder.net/~fullermd/rants/winstupid/1に、強く推奨される記事/エッセイ、「Windowsが愚かさを引き起こす理由」を示します。


3
冗談かどうかは分からないが、実際の男性のがらくたは賞品を獲得できない。
オコド

0

私は、あなたがすべきことはよく分からない、これまでコマンドラインツール上のスイッチを暗記してみてください。シェルスクリプトまたは何らかのタスクを自動化するものを作成している場合は、すべてのものを調べた方がいいでしょう。今から30秒を費やして、後で何が悪いのかを理解するのに何時間も苦労しないようにします。同じコマンドラインツールを繰り返し使用している場合は、シェルスクリプトを作成する必要があります...

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.