web-dev-qa-db-ja.com

Unix管理者がなくてはならないツール

UnixまたはUnixライクなサーバーを管理した後、どのツール(できればコマンドライン)なしでは生活できないと思いますか?

33
John T

GNU screen -多数のシステムを管理していて、12のターミナルウィンドウを開いたくない場合に不可欠です。

51
Murali Suriar

私なしでは生きられないことを知っている人もいます...

  • tee-STDOUT(標準出力)とファイルへの同時書き込みを許可します。情報を表示して後で記録するのに最適です。

  • top-UNIXのタスクマネージャ。システムの概要を説明します。

  • tail -f-ファイルの拡大に伴って追加されたデータを表示できるため、サーバー上のログファイルを監視するのに最適です。

  • grep-グローバル正規表現印刷。ファイル内のデータをシステムで検索するのに最適です。

  • df-現在のファイルシステムのディスク使用量を報告します。

  • du-特定のファイル/ディレクトリのディスク使用量を報告します。

  • 少ない-manページを表示するために必要です!また、コマンドの出力を簡単に検索できる方法で表示するのにも役立ちます。

  • vim/Emacs/nano/pico/ed-選択したテキストエディターが何であれ、それが必要な理由を自明。

34
John T

lsof は、ファイルまたはディレクトリを使用しているプロセスを特定します(デバイスがアンマウントされない原因を特定しようとする場合に役立ちます)

netstat は、ネットワーク接続を使用しているプロセスを特定します(特に、特定のポートにバインドされているデーモンを特定しようとする場合に役立ちます)

26
erichui

すべての基本的なツールを学びますが、Perlを学びます。

Perlはテキストの操作に理想的であり、un * x演算子はテキストファイル、パイプ、入力および出力に存在するため、Perlは最適です。

追加のボーナスは、Perlがクロスプラットフォームであり、Windowsボックスで何らかの作業を行う必要がある場合、すでに知っている簡単にインストール可能な(サーバーにPerlディレクトリをドロップする)言語です。

そして、その一連の考えで、Cygwinも入手してください。あなたがun * x管理者であり、ls、rm、grep、sed、tailなどを備えたWindowsボックス(デスクトップも含む)で作業する必要がある場合は、OSを切り替えるときに多くの時間を節約できます。

19
Mark Nold
  • sed
  • awk

現代のシステムスクリプティングの忘れられた祖父。私はPerlがほとんどの愛を得ていることを知っており(Bashスクリプト、Python、Ruby、および[お気に入りのスクリプト言語をここに挿入]と一緒に)、誤解しないでください。Perlが大好きです。ほぼ毎日使っています。

しかし、sedとawkを忘れたり、見落としたり、無視したりしてはなりません。多くの場合、sedとawkが仕事に最適なツールです。簡単な例は、sedを使用したコマンドラインフィルタリング、およびawkを使用した迅速でダーティなログ処理です。どちらもPerlで実行できますが、より多くの作業と開発時間が必要になります。

18

rsync、特にsshとの連携。ホストからホストへファイルを簡単に効率的にコピーできます。 sshとrsyncなしでどのように対処しましたか? :-)

13
dr-jan

Netcat。

  • TCPサービスがリッスンしているかどうかをテストします。
  • SMTPなどの平文プロトコルに対してトランザクションを実行します。
  • マシン間の迅速で安全でないデータ転送。
  • Telnetクライアントエミュレーション。

彼らが言うように、ネットワークスイスアーミーナイフ。

12
Dan Carley

それに直面してください-遅かれ早かれ、ネットワークも扱います。 mtrtcpdump および tshark は、何が起こっているかを確認するのに非常に役立ちます。

12
pQd

私はすでにリストされているツールのほとんどを使用しますが、まだ誰も触れていないものをここに示します:

Puppet -システム管理タスクを自動化するためのシステム

9
Shaun Hess

クイックスクリプト、自動化などの場合:

  • bash
  • Perl

* NIXサーバーに接続するには:

  • オープンSSH(Linuxクライアント)
  • PuTTY(Windowsクライアント)
9
Colin

まだ見たことのない便利なツールをいくつか紹介します。

  • dstat --nocolor (cpu-、disk-、net-usageの概要)
  • iftop (ネットワークトラフィックの動的な概要)
  • ccze (ログファイルに色を付ける)
  • sshトンネル(たまに役立つことがあります。マニュアルを参照してください; -R)
  • expect (インタラクティブでおしゃべりな対話型インターフェースを自動化します。
6
asjo

スクリプトの場合:

6

標準的なもののほとんどは他の回答に含まれているので、非標準的なものに行きます:

  • htop—プロセス管理に最適。
  • pinfo—情報およびマニュアルページ用のlynxのようなブラウザ。
6
vartec

ClusterSSH

ClusterSSHは、単一のグラフィカルコンソールウィンドウを介して複数のxtermウィンドウを制御し、ssh接続を介してコマンドを複数のサーバーでインタラクティブに実行できるようにします。

5
Tom Feiner

ssh、Vim、htop、su、Python、ls、cd、screen、du、tar :)

4
maciek

vmstat 1

システムの動作の概要を説明します。

4
Cawflands

pv:リダイレクトできる長い操作の進行状況を表示します。 http://www.ivarch.com/programs/pv.shtml

次に、ネットワークを介してrawブロックデバイスをコピー/圧縮するなど、時間がかかるものを監視したい場合に便利です(これは、8Gbネットブックのパラノイアバックアップをとる前に、ファイルシステム設定の調整などの主要な操作を行う前に行います)。

また、上記の人々が述べたように、ssh、rsync、screen、htop、netcatに2番目に投票します。これらはすべて、pvよりも重要ですが、pvはまだ言及されていませんでした。実際、pvは、物をnetcatに、またはnetcatにパイプするときに便利な追加機能です。

4
David Spillett

タールパイプ!

tarの出力を別のユーティリティ、同じボックスで実行されているtar、またはSSHで実行されているtarにパイプすることは、ある場所から別の場所にファイルを移動するための、昔からのUnixのお気に入りの方法です。

これにより、1つのフォルダーを別のフォルダーにコピーし、最終的にソースおよび宛先ディレクトリー内のすべてのファイルで終わるというWindowsスタイルのオプションも提供されます。

3
Jason Luther

これまでに言及されていないもの:

  • 頭/尾
  • 差分
  • pstree
  • tar
  • gzip/bzip
  • 見る
3
CK.

これらのツールのほとんどは、Bashの「プログラム可能な補完」を使用してはるかに強力になり、コマンドラインオプションなどのタブ補完や、「apt-get install」でパッケージの名前を言うことができます。また、関連するファイルに対してタブ補完する対象を制限します。たとえば、「unzip」はサポートされているアーカイブファイルのみを補完します。

これは実際にmuttsです-一度も試したことがない場合は、おそらく.bashrcをいじる必要があるだけです。

if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
 fi

確かにこれはUbuntuとDebianに当てはまります。一部のLinuxディストリビューションでは、パッケージを入手する必要がある場合があります。

3
Tom Newton

iotopは、ディスクへのI/Oアクセスを監視するトップライクなプログラムです。

3
Emilio

Sudo

でも真剣に、tail -fは便利です。

3
Sophie Alpert

シェルとしてのzsh

grml.orgのextensions/setup を使用すると特に効率的です。

3
cstamas

この同様の質問 にいくつかの追加の回答があります

2
Vagnerr

特に良い.screenrcファイルでは、screenは必須です。どのウィンドウが表示されているかを視覚的に表示するように構成してあり、Ctrl +矢印キーでウィンドウ間を移動できます。単一のsshセッションと複数のシェルの場合、それは命の恩人です。

2
Nasko

私が言及したかったいくつかの見落としがあった。

  • vim -dファイルの違いを非常に簡単に確認できる分割画面コンソールdiff
  • pdshを使用すると、シリアルまたはパラレルで必要な数のシステムでコマンドを簡単に実行できます(私はクラスター管理者です。それなしでは機能しません。)
  • nmon はトップオンクラックのようなものです。 1つの画面でシステム上で何が行われているのかがよくわかります。ディスクI/O、ネットワークI/O CPU使用率、およびメモリ使用率をリアルタイムで確認できます。システムをプロファイリングするときに、少なくとも実際に遊んでみるのは楽しいことです。

ああ、私はスクリプトを作成するときは常にKornを使用するべきだと思います。私はKorn(バンドではありません。バンドが好きです:-P)は嫌いですが、文字通りどこにでもあります。スクリプトを取得してSolaris、AIX、Linux間で移動でき、管理者がBashをインストールする良識があるかどうかを心配する必要はありません。

2
Jackalheart

時に非常に便利なツールの1つがNohupです。リモートSSHクライアントを使用して長時間続くスクリプトを実行するために使用します。

2
jplourenco

shutdown コマンド。

2
user237419

コマンドラインで「for」と同様にAWKが大好きです。

特に、実行したいコマンドのリストを作成し、それらを一度にすべて実行します。

2
Brian G
  • vi
    • 見つける
    • ssh
    • AWK
    • sed
    • netcat
    • tar
    • pS
  • 2
    Maxwell

    man-manページを読む。

    elinks-グーグルをチェックするために、地獄はすべてを覚えることができないので、私は確信しています。

    そして、細部と粘り強さに注意してください。なぜなら、それらがなければ私は時間を無駄にするだけだからです。

    2
    pjd
    • 一貫性を保つためにsshで実行されているrsync ...多方向(-gloptru [n] c)
    • Vimとvimdiffは、「折りたたみ」で編集し、スクリプトやログなどの違いを表示します。
    • スクリプトおよび分析用のPerlおよび(Ba)sh
    • からデータをポスト/フェッチするためのcURL(およびおそらくWget)...
    • それらすべてをWeb化するApache(または少なくともポイントアンドクリックの管理ツールを作成)
    1
    ericslaw

    nmon

    誰もまだこれについて言及していません。

    Nmonツールは、AIXおよびLinuxパフォーマンススペシャリストがパフォーマンスデータの監視と分析に使用できるように設計されています。

    • CPU使用率
    • メモリ使用
    • カーネル統計と実行キュー情報
    • ディスクI/Oレート、転送、読み取り/書き込み比率
    • ファイルシステムの空き容量
    • ディスクアダプター
    • ネットワークI/O速度、転送、読み取り/書き込み比率
    • ページング・スペースとページング率
    • CPUおよびAIX仕様
    • トッププロセッサー
    • もっと

    大きなCSVファイルを生成するファイルモードで実行できます。 IBMは、これを解析して素晴らしいグラフに変換するためのExcelマクロも提供していますが、そのためにはWindows VMが必要です。

    nagios および munin 監視およびグラフ化用。

    1
    Kura
    • Bash
    • Vim
    • iostat
    • pS
    • lsof
    • strace
    • tcpdump
    • netstat
    • 見つける
    • グレップ
    • Perl
    • sed
    • 掘る
    • traceroute

    可能な場合、GNU上記のバージョンは、独自バージョンよりも優れています。

    1
    Jason Tan

    これらは私が日常的に使用するツールです(システム管理者以上の開発者として)

    • zsh
    • lsof
    • pS
    • ack(またはgrep)
    • 見つける
    • svn
    • Python
    • tar
    • which
    • 幸運(男はどういうわけか彼の正気を保つ必要があります)
    1
    claytron

    PerlとVim。その順番で。それ以外は、Perlを使用してなんとかエミュレートできます。

    シンプルで基本的ですが、それでも不可欠です:

    ps -現在のプロセスのスナップショットを報告します。

    free -システムの空きメモリと使用済みメモリの量を表示します。

    w -誰がログオンしていて、何をしているかを表示します。

    1
    gimel

    すべての標準コマンドとユーティリティ(Bash、grep、sed、AWK、find、xargs、ssh、Vimなど)

    • Lsofは、非常に多くの点で素晴​​らしいので、開いているポートとそのプロセスに関連するファイルを見つけるために使用するのが大好きです。
    • 画面、マルチセッションに最適です。
    • Tcpdump、アプリケーションの問題の数が本当に奇妙なネットワークの問題であるというおかしい
    • Rubyは、Perlよりも意味があり、SAの作業で大人気になります。
    • シェフ、構成管理システム。
    • カピストラーノ、forループのsshですが、それほど簡単ではありません。そしてRubyで。
    • 作るよりも賢明な熊手。
    1
    jtimberman

    プロセスを殺すためのpkillまたはps。

    Psを使用して、特定の名前または特定のディレクトリの下にある任意のプロセスblah(または必要な一致する文字列)を強制終了する場合は、次のことができます。

    kill `ps -ef | grep <blah> | grep -v grep | awk '{print $2}'`
    
    1
    Iain Holder
    • トップ-プロセスの変更を監視するのに最適な、さらに別の代替案
    • strace/ltrace-本当に厄介なバグを追跡するため
    • ldd-壊れたライブラリの依存関係を追跡する
    • cron、logrotate;)

    もちろん、コマンドライン以外に、Nagios/Cacti/MRTG/etc ...が必要です。

    0
    allaryin

    muninは容量分析とレビューを行うための優れたツールですが、必要になる前に設定する必要があります。私たちが行うすべてのサーバーインストールの標準部分としてそれをインストールします。

    0

    VimやEmacsを学びましょう!
    テキスト編集用
    グレップ
    Sed
    AWK


    ネットワークツール用
    Nmap
    掘る

    0
    XTZ