Unix 管理员离不开的工具

Joh*_*n T 33 unix command-line-interface

在管理过 Unix 或类 Unix 的服务器之后,您觉得哪些工具(最好是命令行)是必不可少的?

Mur*_*iar 51

GNU 屏幕- 当您管理大量系统并且不想打开十几个终端窗口时必不可少。


Joh*_*n T 34

有些我知道我不能没有...

  • tee - 允许同时写入 STDOUT(标准输出)和文件。非常适合查看信息并记录下来以备后用。

  • top - UNIX 的任务管理器,对系统进行了很好的概述。

  • tail -f - 允许您在文件增长时查看附加数据,非常适合监控服务器上的日志文件。

  • grep - 全局正则表达式打印,非常适合在系统中搜索文件中的数据。

  • df - 报告当前文件系统的磁盘使用情况。

  • du - 报告某个文件/目录的磁盘使用情况。

  • 更少 - 需要查看手册页!对于以易于查找的方式查看命令的输出也很有用。

  • vim/Emacs/nano/pico/ed - 无论您选择的文本编辑器是什么,都可以自我解释为什么需要它。

  • less 的另一个有用但鲜为人知的功能是,您始终可以使用“v”命令来开始编辑您当前正在查看的文件。助记符是“vi”的“v”。 (8认同)

eri*_*hui 26

lsof确定哪些进程正在使用文件或目录(在尝试找出阻止设备被卸载的原因时很有用)

netstat确定哪些进程正在使用网络连接(在尝试找出哪个守护进程绑定到某个端口时特别有用)


小智 19

学习所有基本工具,但学习 Perl。

Perl 是处理文本的理想选择,因为 un*x 操作符存在于文本文件、管道、输入和输出中,所以 Perl 非常适合。

额外的好处是 Perl 是跨平台的,如果你必须在 Windows 机器上做一些工作,你就有一个你已经知道的易于安装(只需在服务器上放置一个 Perl 目录)语言。

按照这个思路,也可以使用 Cygwin。如果您是 un*x 管理员并且必须在具有 ls、rm、grep、sed、tail 等的 Windows 机器(甚至是您的桌面)上工作,那么在切换操作系统时会为您节省大量时间。


Chr*_*ell 18

  • sed
  • awk

现代系统脚本的被遗忘的祖父。我知道 Perl 得到了大部分人的喜爱(以及 Bash 脚本、Python、Ruby 和 [在此处插入您最喜欢的脚本语言]),不要误会我的意思,我喜欢 Perl。我几乎每天都使用它。

但是 sed 和 awk 不应被遗忘、忽视或忽略。在很多情况下,sed 和 awk 是完成这项工作的最佳工具。快速示例是使用 sed 的命令行过滤,以及使用 awk 的快速和脏日志处理。两者都可以在 Perl 中完成,但需要更多的工作和开发时间。


dr-*_*jan 13

rsync,尤其是与 ssh 一起使用。它允许从主机到主机简单有效地复制文件。如果没有 ssh 和 rsync,我们是如何应对的?:-)


pQd*_*pQd 12

面对现实 - 迟早你也会与网络打交道。mtrtcpdumptshark对于查看正在发生的事情非常有用。


Dan*_*ley 12

网猫。

  • 测试 TCP 服务是否正在侦听。
  • 针对明文协议(例如 SMTP)执行事务。
  • 机器之间快速不安全的数据传输。
  • Telnet 客户端模拟。

正如他们所说,网络瑞士军刀。


Pau*_*aul 9

对于快速脚本、自动化等:

  • 猛击
  • perl

要连接到您的 *NIX 服务器:

  • 打开 SSH(Linux 客户端)
  • 腻子(Windows 客户端)


Sha*_*ess 9

我使用了大多数已经列出的工具,但这里有一个没有人接触过:

Puppet - 用于自动化系统管理任务的系统


Pab*_*ruz 6

对于脚本:


var*_*tec 6

大多数标准答案都包含在其他答案中,所以我会选择非标准答案:

  • htop — 非常适合流程管理;
  • pinfo — 类似 lynx 的信息和手册页浏览器。


asj*_*sjo 6

我还没有看到提到的几个方便的工具:

  • dstat --nocolor(cpu-、disk-、net-usage 概述)
  • iftop(很好的网络流量动态概览)
  • ccze(很好的彩色日志文件)
  • ssh 隧道(偶尔有用;请参阅手册;-R)
  • 期望(自动化交互式,健谈的对话界面,如果您有困难的话很好)


Tom*_*ner 5

集群SSH

ClusterSSH 通过单个图形控制台窗口控制多个 xterm 窗口,以允许通过 ssh 连接在多个服务器上交互式运行命令。


Sop*_*ert 3

sudo.

不过说实话,tail -f还是有用的。