John T Asked: 2009-05-03 23:15:04 +0800 CST2009-05-03 23:15:04 +0800 CST 2009-05-03 23:15:04 +0800 CST 没有 Unix 管理员就无法生存的工具 [关闭] 772 在管理 Unix 或类 Unix 服务器之后,你觉得没有哪些工具(最好是命令行)是你无法生存的? unix command-line-interface 30 个回答 Voted Murali Suriar 2009-05-04T00:36:40+08:002009-05-04T00:36:40+08:00 GNU 屏幕- 当您管理大量系统并且不想打开十几个终端窗口时必不可少。 John T 2009-05-03T23:16:04+08:002009-05-03T23:16:04+08:00 有些我知道我不能没有... tee - 允许同时写入 STDOUT(标准输出)和文件。非常适合查看信息并将其记录下来以备后用。 top - UNIX 的任务管理器,对系统进行了很好的概述。 tail -f - 允许您在文件增长时查看附加数据,非常适合监控服务器上的日志文件。 grep - 全局正则表达式打印,非常适合在系统中搜索文件中的数据。 df - 报告当前文件系统的磁盘使用情况。 du - 报告某个文件/目录的磁盘使用情况。 少 - 需要查看手册页!对于以易于查找的方式查看命令的输出也很有用。 vim/Emacs/nano/pico/ed - 无论您选择的文本编辑器是什么,都可以自我解释为什么需要它。 erichui 2009-05-04T16:26:58+08:002009-05-04T16:26:58+08:00 lsof确定哪些进程正在使用文件或目录(在试图找出阻止设备被卸载的原因时很有用) netstat确定哪些进程正在使用网络连接(在试图找出哪个守护进程绑定到某个端口时特别有用) Mark Nold 2009-05-04T22:05:58+08:002009-05-04T22:05:58+08:00 学习所有基本工具,但要学习 Perl。 Perl 是处理文本的理想选择,由于 un*x 运算符存在于文本文件、管道、输入和输出上,因此 Perl 非常适合。 额外的好处是 Perl 是跨平台的,如果你必须在 windows 机器上做一些工作,你有一个你已经知道的易于安装(只需在服务器上放置一个 Perl 目录)语言。 在这个思路上,也得到 Cygwin。如果您是 un*x 管理员并且必须在具有 ls、rm、grep、sed、tail 等的 Windows 框(甚至是您的桌面)上工作,则在切换操作系统时可以为您节省大量时间。 Christopher Cashell 2009-05-04T22:30:07+08:002009-05-04T22:30:07+08:00 sed awk 现代系统脚本被遗忘的祖父。我知道 Perl 得到了大多数人的喜爱(以及 Bash 脚本、Python、Ruby 和 [在此处插入您最喜欢的脚本语言]),不要误会我的意思,我喜欢 Perl。我几乎每天都使用它。 但是 sed 和 awk 不应该被遗忘、忽视或忽视。在很多情况下,sed 和 awk 是完成这项工作的最佳工具。快速示例是使用 sed 进行命令行过滤,以及使用 awk 进行快速和脏日志处理。两者都可以在 Perl 中完成,但需要更多的工作和开发时间。 dr-jan 2009-06-02T06:24:39+08:002009-06-02T06:24:39+08:00 rsync,尤其是与 ssh 配合使用。它允许从主机到主机简单有效地复制文件。如果没有 ssh 和 rsync,我们是如何应对的?:-) Dan Carley 2009-06-02T06:32:21+08:002009-06-02T06:32:21+08:00 网猫。 测试 TCP 服务是否正在侦听。 针对明文协议(例如 SMTP)执行事务。 机器之间的快速不安全数据传输。 Telnet 客户端仿真。 正如他们所说,网络瑞士军刀。 pQd 2009-05-25T02:22:35+08:002009-05-25T02:22:35+08:00 面对现实 - 迟早你也会与网络打交道。mtr、tcpdump和tshark对于查看正在发生的事情非常有用。 Paul 2009-05-03T23:30:21+08:002009-05-03T23:30:21+08:00 对于快速脚本、自动化等: 重击 perl 要连接到您的 *NIX 服务器: 打开 SSH(Linux 客户端) 腻子(Windows 客户端) Shaun Hess 2009-06-05T12:31:18+08:002009-06-05T12:31:18+08:00 我使用了大部分已经列出的工具,但这里有一个还没有人提到过: Puppet - 用于自动化系统管理任务的系统
GNU 屏幕- 当您管理大量系统并且不想打开十几个终端窗口时必不可少。
有些我知道我不能没有...
tee - 允许同时写入 STDOUT(标准输出)和文件。非常适合查看信息并将其记录下来以备后用。
top - UNIX 的任务管理器,对系统进行了很好的概述。
tail -f - 允许您在文件增长时查看附加数据,非常适合监控服务器上的日志文件。
grep - 全局正则表达式打印,非常适合在系统中搜索文件中的数据。
df - 报告当前文件系统的磁盘使用情况。
du - 报告某个文件/目录的磁盘使用情况。
少 - 需要查看手册页!对于以易于查找的方式查看命令的输出也很有用。
vim/Emacs/nano/pico/ed - 无论您选择的文本编辑器是什么,都可以自我解释为什么需要它。
lsof确定哪些进程正在使用文件或目录(在试图找出阻止设备被卸载的原因时很有用)
netstat确定哪些进程正在使用网络连接(在试图找出哪个守护进程绑定到某个端口时特别有用)
学习所有基本工具,但要学习 Perl。
Perl 是处理文本的理想选择,由于 un*x 运算符存在于文本文件、管道、输入和输出上,因此 Perl 非常适合。
额外的好处是 Perl 是跨平台的,如果你必须在 windows 机器上做一些工作,你有一个你已经知道的易于安装(只需在服务器上放置一个 Perl 目录)语言。
在这个思路上,也得到 Cygwin。如果您是 un*x 管理员并且必须在具有 ls、rm、grep、sed、tail 等的 Windows 框(甚至是您的桌面)上工作,则在切换操作系统时可以为您节省大量时间。
现代系统脚本被遗忘的祖父。我知道 Perl 得到了大多数人的喜爱(以及 Bash 脚本、Python、Ruby 和 [在此处插入您最喜欢的脚本语言]),不要误会我的意思,我喜欢 Perl。我几乎每天都使用它。
但是 sed 和 awk 不应该被遗忘、忽视或忽视。在很多情况下,sed 和 awk 是完成这项工作的最佳工具。快速示例是使用 sed 进行命令行过滤,以及使用 awk 进行快速和脏日志处理。两者都可以在 Perl 中完成,但需要更多的工作和开发时间。
rsync,尤其是与 ssh 配合使用。它允许从主机到主机简单有效地复制文件。如果没有 ssh 和 rsync,我们是如何应对的?:-)
网猫。
正如他们所说,网络瑞士军刀。
面对现实 - 迟早你也会与网络打交道。mtr、tcpdump和tshark对于查看正在发生的事情非常有用。
对于快速脚本、自动化等:
要连接到您的 *NIX 服务器:
我使用了大部分已经列出的工具,但这里有一个还没有人提到过: