回答:
私なしでは生きられないことを知っている人もいます...
tee-STDOUT(標準出力)とファイルへの同時書き込みを許可します。情報を表示し、後で記録するのに最適です。
top-UNIXのタスクマネージャーは、システムの優れた概要を提供します。
tail -f-ファイルが大きくなるにつれて追加されたデータを表示できます。サーバー上のログファイルの監視に最適です。
grep-グローバル正規表現印刷。ファイル内のデータをシステムで検索するのに最適です。
df-現在のファイルシステムのディスク使用量を報告します。
du-特定のファイル/ディレクトリのディスク使用量を報告します。
少ない-マニュアルページを表示するために必要です!また、簡単にシーク可能な方法でコマンドの出力を表示するのにも役立ちます。
vim / Emacs / nano / pico / ed-選択したテキストエディタが何であれ、それが必要な理由を自明します。
more
、またはless
、あなたは常に試すことができますmost
。
htop
はの「より良い」バージョンですtop
。
すべての基本的なツールを学びますが、Perlを学びます。
Perlはテキストの操作に理想的であり、un * x演算子はテキストファイル、パイプ、入力および出力に存在するため、Perlは最適です。
追加されたボーナスは、Perlはクロスプラットフォームであり、Windowsボックスで何らかの作業を行う必要がある場合は、簡単にインストール可能な(サーバーにPerlディレクトリをドロップするだけ)言語が既にあることです。
そして、その一連の思考で、Cygwinも入手してください。あなたがun * x管理者であり、ls、rm、grep、sed、tailなどを備えたWindowsボックス(デスクトップを含む)で作業する必要がある場合、OSの切り替え時に多くの時間を節約できます。
忘れられた現代システムのスクリプト作成の祖父。Perlは(Bashスクリプト、Python、Ruby、および[お気に入りのスクリプト言語をここに挿入]とともに)愛情のほとんどを得ることがわかっています。誤解しないでください、私はPerlが大好きです。私はほとんど毎日それを利用しています。
ただし、sedとawkを忘れたり、見落としたり、無視したりしないでください。多くの場合、sedとawkはこの仕事に最適なツールです。簡単な例は、sedを使用したコマンドラインフィルタリング、awkを使用した迅速でダーティなログ処理です。どちらもPerlで実行できますが、より多くの作業と開発時間が必要になります。
クイックスクリプト、自動化など:
* NIXサーバーに接続するには:
まだ見たことのない便利なツールがいくつかあります:
expect
ClusterSSHは、単一のグラフィカルコンソールウィンドウを介して複数のxtermウィンドウを制御し、ssh接続を介して複数のサーバーでコマンドを対話的に実行できるようにします。
pv:リダイレクト可能な長い操作の進行状況を表示します。http://www.ivarch.com/programs/pv.shtml
便利なのは、ネットワーク経由で生のブロックデバイスをコピー/圧縮するなど、古くなるものを監視することです(これは、ファイルシステム設定を微調整するなどの主要なことをいじる前に、8Gbネットブックの妄想バックアップをとる方法です)。
また、上記の人々が言及したように、ssh、rsync、screen、htop、netcatに2回投票します-これらはすべてpvよりも重要ですが、pvはまだ言及されていませんでした。実際、pvは、netcatとやり取りするときに便利な追加機能です。
pv
便利なツールになりますが、使いすぎに注意してください。データを通過させると、パフォーマンスに絶対的な影響があります(すべてのデータは別のプログラムを通過する必要があります)。私の最後の仕事では、多くのログ処理を行いました。そのうちの1人が、すべてのログ処理スクリプトにpvを追加することを決定しましたが、それが処理時間の約15%を追加することがわかりました。現在では、数分未満のジョブ、または既存のリソース制限がある(低速のネットワーク接続を通過するなど)ジョブにのみ使用されます。
pv
CPU /メモリバウンドではなくディスクまたはネットワークI / Oバウンドです)。同じ議論は、過度の使用に対する重要なものでcat
もあります(実際に必要ではないときにcatを使用して、物事を左から右にうまく読みますが、パイプとコンテキスト切り替えを介した余分なメモリ内データのコピーには、測定可能なパフォーマンスへの影響)。
cat
使用のほとんどは、で始まりcat foo
、「上」矢印を押して| [command]
から前の行に追加することから始まります。私は猫をそこに留めることで(小さな)パフォーマンスの打撃を受けていることを知っていますが、それを残すことはコマンドを書き直す/再入力するよりも少ない労力で済みます[command] < foo
。(ほとんどの)アドホックなコマンドラインの作業には関心がありませんが、スクリプトには理想的ではありません(pv
私が思うに、私はそう思います)。
tarの出力を別のユーティリティ、同じボックスで実行されているtar、またはSSHで実行されているtarにパイプすることは、ファイルをある場所から別の場所に移動するための私のお気に入りの古いUnixの動きです。
これにより、1つのフォルダーを別のフォルダーにコピーして、ソースおよび宛先ディレクトリー内のすべてのファイルを作成するWindowsスタイルのオプションも提供されます。
シェルとしてのzsh
grml.orgのextensions / setupを使用すると特に効率的です。
これらのツールのほとんどは、Bashの「プログラム可能な補完」を使用してより強力になります。そのため、コマンドラインオプションなどのタブ補完や、「apt-get install」でパッケージ名を言うことができます。また、関連ファイルのタブ補完を制限します。たとえば、「unzip」はサポートされているアーカイブファイルのみを補完します。
それは本当にmuttsです-あなたがそれを試したことがないなら、おそらくあなたの.bashrcをいじる必要があるでしょう:
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
確かにこれはUbuntuとDebianに当てはまります。一部のLinuxディストリビューションでパッケージを取得する必要がある場合があります。
私が言及したかったいくつかのことを見落としていました。
ああ、私が言及するのを忘れたのは、スクリプトを作成するとき、Kornを常に使用すべきだと思うからです。私はコーンが嫌いです(バンドではありません。バンドが大好きです:-P)、それは文字通りどこにでもあります。スクリプトを取得して、Solaris、AIX、Linux間で移動することができ、管理者がBashをインストールするのに十分であるかどうかを心配する必要はありません。
時には非常に便利なツールの1つがnohupです。リモートSSHクライアントを使用して長時間続くスクリプトを実行するために使用します。