Web開発者ごとに知っておくべき12のコマンドライン


本文はブドウ城のコントロールから転じて、原文の出所
開発者の弾薬箱の中で、命令行は最も生産力のあるツールの一つである.それらを把握することは、あなたのワークフローに非常に積極的な影響を与えることができます.多くの日常的な任務は1つの命令で車に戻って解決することができるからだ.
本文では、あなたの端末を十分に利用するために、一連の一般的なコマンドを用意しました.このコマンドの中には、システムに内蔵されているものもあれば、別途インストールする必要がある無料ツールもありますが、これらの無料ツールは時間の試練を経験しているので、分を分けてインストールすることができます.
curl
curlはリクエストを送信するコマンドラインツールです.HTTP(s)、FTP、および聞いたことのないプロトコルを使用してリクエストを送信できます.ファイルをダウンロードしたり、応答ヘッダをチェックしたりして、リモートデータに自由にアクセスできます.
Web開発ではcurlは接続とRESTful APIsのテストによく用いられる.
#     URL HTTP HEADER
curl -I http://google.com
HTTP/1.1 302 Found
Cache-Control: private
Content-Type: text/html; charset=UTF-8
Referrer-Policy: no-referrer
Location: http://www.google.com/?gfe_rd=cr&ei=0fCKWe6HCZTd8AfCoIWYBQ
Content-Length: 258
Date: Wed, 09 Aug 2017 11:24:01 GMT

#    API  GET  
curl http://numbersapi.com/random/trivia
29 is the number of days it takes Saturn to orbit the Sun.


curlコマンドは、上記の状況よりはるかに複雑です.リクエストヘッダ、cookies、権限検証などを制御するオプションがたくさんあります.この素晴らしい無料本Everything curlでもっと読むことができます.  
tree
treeは、ディレクトリ内のファイル構造を視覚的に表示するためのコンパクトなコマンドラインです.再帰的に実行され、ネストされた各階層をチェックし、すべてのコンテンツにフォーマットされたツリー構造を描画します.ファイル構造をすばやく参照して、必要なファイルにナビゲートできます.
tree
.
├── css
│   ├── bootstrap.css
│   ├── bootstrap.min.css
├── fonts
│   ├── glyphicons-halflings-regular.eot
│   ├── glyphicons-halflings-regular.svg
│   ├── glyphicons-halflings-regular.ttf
│   ├── glyphicons-halflings-regular.woff
│   └── glyphicons-halflings-regular.woff2
└── js
    ├── bootstrap.js
    └── bootstrap.min.js

結果をフィルタするための正規一致のようなオプションもあります.
tree -P '*.min.*'
.
├── css
│   ├── bootstrap.min.css
├── fonts
└── js
    └── bootstrap.min.js

tmux
ウィキペディアによると、tmuxは端末マルチプレクサであり、人間語に訳すと、複数の端末を1つの端末セッションに接続するツールである.
これにより、端末内のプログラム間を切り替え、スクリーンを追加し、複数の端末が同じセッションに接続され、同期を維持することができます.特にリモート・サーバで作業する場合、tmuxは特に便利です.これは、ログインせずに新しいターミナル・ラベル・ページを作成できるためです.
disk usage - du
duコマンドは、ファイルとフォルダのディスク領域の占有状況に関するレポートを生成します.各サブディレクトリを再帰的に巡回し、単一のファイルのサイズを返すことができます.
duの一般的な例は、ディスク容量が不足しているのに、なぜか分からないことです.このコマンドを使用すると、各フォルダにどれだけのストレージが消費されているかをすばやく見ることができ、最もスペースを占めているものを見つけることができます.
#                          。
#    -h            。
# -s                。
#    (*),                       

du -sh *

1.2G    Desktop
4.0K    Documents
40G     Downloads
4.0K    Music
4.9M    Pictures
844K    Public
4.0K    Templates
6.9M    Videos

git
Gitは現在最も流行しているバージョン制御システムである.現代のWeb開発で使用されている最も典型的なツールの一つであり、本明細書のリストから除外することはできません.gitに関するサードパーティ製のアプリケーションやツールはたくさんありますが、ほとんどの人はコマンドラインのオリジナルgitを使用する傾向があります.gitのコマンドラインインタフェースは本当に強く、最も雑然としたプロジェクト履歴を処理するのに十分です.gitについてもっと勉強したいなら、30分でgitのチュートリアルを学ぶことをお勧めします.
tar
tarはファイルパッケージを処理するデフォルトのUnixツールです.複数のファイルをすばやくパッケージ化することで、後で保存したり移動したりするのに便利です.
tar -cf archive.tar file1 file2 file3

-xオプションを使用して解凍することもできます.tar形式のパッケージファイル.
tar -xf archive.tar

他のほとんどのフォーマット(.zipや.rarなど)はtarで開くことができません.unzipなどの他のコマンドラインツールが必要です.
多くの現代Unixシステムには、GNU tarなどのtarの拡張バージョンがあり、ファイル圧縮も可能です.
#    gzip    .
tar -czf file.tar.gz inputfile1 inputfile2

#    .gz    .
tar -xzf file.tar.gz

オペレーティングシステムにそのバージョンのtarがない場合は、gzip、zcat、compressを使用してファイルのアーカイブサイズを減らすことができます.
md5sum
Unixにはmd 5 sum,sha 1 sumなどhash演算を行うコマンドがいくつか内蔵されています.
これらのコマンドラインツールは、プログラミングに様々な応用がありますが、最も重要なのは、ファイルの整合性をチェックするために使用できることです.
たとえば、信頼されていないソースをダウンロードした場合.isoファイルには、有害なスクリプトが含まれている可能性があります.md 5または他のハッシュを生成して、それを確保することができます.isoは安全です.
md5sum ubuntu-16.04.3-desktop-amd64.iso 

0d9fe8e1ea408a5895cbbe3431989295  ubuntu-16.04.3-desktop-amd64.iso

その後、ローカルで生成されたmd 5と元の作成者が提供した文字列を比較することができます(UbuntuHashesなど).
htop
htopは、内蔵のtopタスク管理よりも強力なコマンドです.システムプロセスを監視および制御するための豊富なオプションを備えた高度なインタフェースを提供します.
コマンドラインで実行されているにもかかわらず、htopは良好なマウス制御をサポートしています.これにより、メニュー間でプロセスをナビゲートしたり、選択したり、ソートしたり、フィルタしたりしてタスクを整理しやすくなります.
ln
UnixのLinksはWindnowsのショートカットのようなもので、いくつかのファイルに素早くアクセスできます.Linksはlnコマンドで作成します.hardとsymbolicの2つのタイプがあります.各タイプには、異なるトランザクションで使用される異なるプロパティがあります.(詳細)
ここにはLinksを使用できる例がたくさんあります.たとえば、デスクトップにScriptsというフォルダがあり、ixでよく使うbashスクリプトがきれいに置いてあります.これらのスクリプトを呼び出すたびに、次のようにする必要があります.
~/Desktop/Scripts/git-scripts/git-cleanup

この絶対パスを入力するたびに、便利ではないことは明らかです.逆に、Scriptフォルダのsymlinkを/usr/local/binで作成することで、すべてのディレクトリでScriptsのスクリプトを実行できます.
sudo ln -s ~/Desktop/Scripts/git-scripts/git-cleanup /usr/local/bin/

作成したsymlinkでは、コマンドラインウィンドウを開き、スクリプトファイル名で直接実行できます.
git-cleanup

ssh
sshコマンドを使用すると、ユーザーはリモートホストに迅速に接続し、Unix shellにログインできます.これにより、ローカルコンピュータから端末にサーバでコマンドを直接発行することが容易になります.
接続を確立するには、正しいipアドレスまたはurlを指定します.新しいサーバに初めて接続すると、何らかの形式の認証が行われます.
ssh username@remote_host

サーバ上のログイン不要なコマンドをすばやく実行するには、urlの後にコマンドを追加するだけです.このコマンドはサーバ上で実行され、結果が返されます.
ssh username@remote_host ls /var/www

some-website.com
some-other-website.com

エージェントやトンネルの作成、秘密鍵を使用して接続を暗号化したり、ファイルを転送したりするなど、sshにできることはたくさんあります.このマニュアルでもっと読むことができます.
grep
grepは、テキスト内で文字列を検索するための標準的なUnixツールです.ファイルまたはストリームを入力として、正規表現とコンテンツを演算し、一致するすべてのローを返します.
このコマンドは、大規模なファイルをフィルタする必要がある場合に便利です.具体的にはgrepとdateコマンドを一緒に使用して、大きなログファイルを検索し、今日のエラー情報のみを含む新しいファイルを生成することができます.
//        (   yyyy-mm-dd)         。 
grep "$(date +"%Y-%m-%d")" all-errors-ever.log > today-errors.log

もう一つの素晴らしい文字列を処理するコマンドはsedです.grepよりも強力(複雑)で、文字列の追加、削除、置換など、文字列に関連するタスクをほとんど実行できます.
alias
本明細書で説明したいくつかを含む多くのUnixコマンドは、すべてのオプションを追加すると長くなることが多い.より覚えやすいように、組み込みのaliasコマンドを使用して、短い別名を作成できます.
#         Web      。
alias server="python -m SimpleHTTPServer 9000"

#               。
server 

Serving HTTP on 0.0.0.0 port 9000 ...

コマンドウィンドウを開いたままであれば、エイリアスは有効になります.長く覚えておくにはaliasコマンドを追加します.bashrcファイルにあります.
まとめ
以上、私がまとめた12のWeb開発者が理解すべきコマンドラインですが、それほど完全ではないかもしれませんが、何かコマンドを知っているか、文中で言及されていないか、補足と議論を歓迎したいと思います.