UnixまたはUnixライクなサーバーを管理した後、どのツール(できればコマンドライン)なしでは生活できないと思いますか?
GNU screen -多数のシステムを管理していて、12のターミナルウィンドウを開いたくない場合に不可欠です。
私なしでは生きられないことを知っている人もいます...
tee-STDOUT(標準出力)とファイルへの同時書き込みを許可します。情報を表示して後で記録するのに最適です。
top-UNIXのタスクマネージャ。システムの概要を説明します。
tail -f-ファイルの拡大に伴って追加されたデータを表示できるため、サーバー上のログファイルを監視するのに最適です。
grep-グローバル正規表現印刷。ファイル内のデータをシステムで検索するのに最適です。
df-現在のファイルシステムのディスク使用量を報告します。
du-特定のファイル/ディレクトリのディスク使用量を報告します。
少ない-manページを表示するために必要です!また、コマンドの出力を簡単に検索できる方法で表示するのにも役立ちます。
vim/Emacs/nano/pico/ed-選択したテキストエディターが何であれ、それが必要な理由を自明。
すべての基本的なツールを学びますが、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で実行できますが、より多くの作業と開発時間が必要になります。
rsync、特にsshとの連携。ホストからホストへファイルを簡単に効率的にコピーできます。 sshとrsyncなしでどのように対処しましたか? :-)
Netcat。
彼らが言うように、ネットワークスイスアーミーナイフ。
私はすでにリストされているツールのほとんどを使用しますが、まだ誰も触れていないものをここに示します:
Puppet -システム管理タスクを自動化するためのシステム
クイックスクリプト、自動化などの場合:
* NIXサーバーに接続するには:
まだ見たことのない便利なツールをいくつか紹介します。
ClusterSSHは、単一のグラフィカルコンソールウィンドウを介して複数のxtermウィンドウを制御し、ssh接続を介してコマンドを複数のサーバーでインタラクティブに実行できるようにします。
ssh、Vim、htop、su、Python、ls、cd、screen、du、tar :)
vmstat 1
システムの動作の概要を説明します。
pv:リダイレクトできる長い操作の進行状況を表示します。 http://www.ivarch.com/programs/pv.shtml
次に、ネットワークを介してrawブロックデバイスをコピー/圧縮するなど、時間がかかるものを監視したい場合に便利です(これは、8Gbネットブックのパラノイアバックアップをとる前に、ファイルシステム設定の調整などの主要な操作を行う前に行います)。
また、上記の人々が述べたように、ssh、rsync、screen、htop、netcatに2番目に投票します。これらはすべて、pvよりも重要ですが、pvはまだ言及されていませんでした。実際、pvは、物をnetcatに、またはnetcatにパイプするときに便利な追加機能です。
tarの出力を別のユーティリティ、同じボックスで実行されているtar、またはSSHで実行されているtarにパイプすることは、ある場所から別の場所にファイルを移動するための、昔からのUnixのお気に入りの方法です。
これにより、1つのフォルダーを別のフォルダーにコピーし、最終的にソースおよび宛先ディレクトリー内のすべてのファイルで終わるというWindowsスタイルのオプションも提供されます。
これまでに言及されていないもの:
これらのツールのほとんどは、Bashの「プログラム可能な補完」を使用してはるかに強力になり、コマンドラインオプションなどのタブ補完や、「apt-get install」でパッケージの名前を言うことができます。また、関連するファイルに対してタブ補完する対象を制限します。たとえば、「unzip」はサポートされているアーカイブファイルのみを補完します。
これは実際にmuttsです-一度も試したことがない場合は、おそらく.bashrcをいじる必要があるだけです。
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
確かにこれはUbuntuとDebianに当てはまります。一部のLinuxディストリビューションでは、パッケージを入手する必要がある場合があります。
iotopは、ディスクへのI/Oアクセスを監視するトップライクなプログラムです。
Sudo
。
でも真剣に、tail -f
は便利です。
シェルとしてのzsh
grml.orgのextensions/setup を使用すると特に効率的です。
この同様の質問 にいくつかの追加の回答があります
特に良い.screenrcファイルでは、screenは必須です。どのウィンドウが表示されているかを視覚的に表示するように構成してあり、Ctrl +矢印キーでウィンドウ間を移動できます。単一のsshセッションと複数のシェルの場合、それは命の恩人です。
私が言及したかったいくつかの見落としがあった。
ああ、私はスクリプトを作成するときは常にKornを使用するべきだと思います。私はKorn(バンドではありません。バンドが好きです:-P)は嫌いですが、文字通りどこにでもあります。スクリプトを取得してSolaris、AIX、Linux間で移動でき、管理者がBashをインストールする良識があるかどうかを心配する必要はありません。
時に非常に便利なツールの1つがNohupです。リモートSSHクライアントを使用して長時間続くスクリプトを実行するために使用します。
shutdown コマンド。
コマンドラインで「for」と同様にAWKが大好きです。
特に、実行したいコマンドのリストを作成し、それらを一度にすべて実行します。
man-manページを読む。
elinks-グーグルをチェックするために、地獄はすべてを覚えることができないので、私は確信しています。
そして、細部と粘り強さに注意してください。なぜなら、それらがなければ私は時間を無駄にするだけだからです。
誰もまだこれについて言及していません。
Nmonツールは、AIXおよびLinuxパフォーマンススペシャリストがパフォーマンスデータの監視と分析に使用できるように設計されています。
大きなCSVファイルを生成するファイルモードで実行できます。 IBMは、これを解析して素晴らしいグラフに変換するためのExcelマクロも提供していますが、そのためにはWindows VMが必要です。
可能な場合、GNU上記のバージョンは、独自バージョンよりも優れています。
これらは私が日常的に使用するツールです(システム管理者以上の開発者として)
PerlとVim。その順番で。それ以外は、Perlを使用してなんとかエミュレートできます。
すべての標準コマンドとユーティリティ(Bash、grep、sed、AWK、find、xargs、ssh、Vimなど)
プロセスを殺すためのpkillまたはps。
Psを使用して、特定の名前または特定のディレクトリの下にある任意のプロセスblah(または必要な一致する文字列)を強制終了する場合は、次のことができます。
kill `ps -ef | grep <blah> | grep -v grep | awk '{print $2}'`
もちろん、コマンドライン以外に、Nagios/Cacti/MRTG/etc ...が必要です。
muninは容量分析とレビューを行うための優れたツールですが、必要になる前に設定する必要があります。私たちが行うすべてのサーバーインストールの標準部分としてそれをインストールします。
VimやEmacsを学びましょう!
テキスト編集用
グレップ
Sed
AWK
ネットワークツール用
Nmap
掘る