在作为Linux或Windows系统pipe理员工作时,您应该完全了解哪些工具/实用程序。
我正在考虑如果您在Linux服务器上工作,您将需要GNU /屏幕 。
vi – 我不知道每个人都喜欢它,但是它将会出现在你遇到的任何* nix服务器上,而当其他一切都坏了的时候,你将需要编辑configuration文件。 我也build议csh和sh出于同样的原因
作为Windows系统pipe理员,您绝对需要熟悉SysInternals 。 无论是编程还是诊断机器正在发生的事情,这些都是非常宝贵的。
PuTTY :一个很好的Windows免费SSH客户端。 几乎所有我工作过的地方都使用它来从Windows连接到Unix服务器。

不要忘记一个sysdamin需要与他们的电脑箱物理!
你需要确保你至less有一个
一些老兄还写了他/她认为每个人都应该在他们的工具箱中的前10件事情 。
脚本。
我了解到,即使是Windows的标准命令shell也是非常有用的。 不需要安装PowerShell或cygwin来获得体面的脚本function,特别是当脚本应该被部署在客户端机器上时。
Windows工具:
在最近debugging我遇到的组播问题时,我发现NMap对debuggingnetworkingstream量非常有用。 Wireshark也很有帮助。
有很多小的unix / linux工具是有帮助的
grep,strace,GNU Screen,locate,rsync,sed,awk和tripwire也很有趣。
这份名单真的一直持续下去,我肯定忘了远远超过这里列表。 另外,了解如何以您想要的方式configuration这些工具,例如configuration.rc文件。 这将使他们更有用。 例如,这里是我的.screenrc文件,因为你似乎对屏幕感兴趣。
1 startup_message off 2 hardstatus alwayslastline 3 hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B}%Y-%m-%d %{W}%c %{g}]' 4 5 # Window numbering starts at 1, not 0. 6 bind c screen 1 7 bind 0 select 10 8 9 # Default screens 10 screen -t shell1 1 11 screen -t shell2 2 12 screen -t shell3 3
WinTCP是Windows用户pipe理远程* nix机器的完美搭档,它是一个完美的小型简单实用的FTP,SCP和SFTP客户端。
电源shell! Powershell是一个梦幻般的Windows命令shell,build立在.NET框架之上。
在任何平台上,您都应该熟悉本地stream行的备份工具。 没有什么比我更糟的是一个不知道如何做好备份的系统pipe理员 。 一个好的备份可以帮你避免几乎所有你可能犯的错误。
Windows上的-ntbackup,Linux上的dd / tar -database转储命令-tftp到备份交换机/路由器/设备
shell脚本工具:bash / sh,awk,grep,head,tail,less,cat,sort,uniq,wc(和其他)
通过Awk,您可以轻松分析日志文件或其他文件,这在需要诊断问题时非常关键。 有些人使用perl来perl这一点。 你不需要知道任何一种工具,但你应该知道一些事情,以便你可以检查访问日志或http日志,并找出是否有不寻常的事情发生。
将awk与sort,uniq,tail,grep和wc结合起来,让你的生活变得非常简单。
混合一些shell脚本。 能够做类似的事情是非常方便的
for i in server1.example.com server2.example.com server3.example.com ; do xterm -e "ssh ${i} tail -f /var/log/message | grep something "; done;
这可以让你grep三个服务器上的日志的something 。 这样的技巧为您节省了大量的时间,这全都归功于shell脚本工具。
ping traceroute / tracert netstat nslookup
tail – 在大多数Linux / Unix系统上可用,可以查看文件的最后一行(或尾部)。 tail -f允许您查看添加到文件中的新行。
对于Windows,我喜欢BareTail 。
这可能不是你想要的答案,但我只是想分享一些想法。 一般来说,系统pipe理不仅是关于工具,还关于你使用的心智框架。 总之 – 如果你知道你想做什么任务,那么find一个工具来做到这一点非常简单。
基本上系统pipe理员必须知道关于系统的几个问题:
现在个人select的工具是..个人。
顺便说一句,关于六的答案是伟大的!
米
一个好的编辑器。 哪一个不重要,我当然不是在这里开始一场火焰战争。 但是你需要学习一个好的编辑器。
我使用Emacs来处理所有的事情。 Vi(m)是另一个好的。 不知道什么是最好的在Windows中,但我猜我所提到的2的Win32变种是好的。
对于Windows系统pipe理员:
Cygwin 。 有时候,你只需要做一个快速的文本文件grep , wc , awk ,或者一些需要花费很长时间才能写成脚本的东西。 用grep和awk进行快速web日志扫描可以真正节省一天的时间。
SysInternals套件
dmidecode – 非常适合获取关于正在运行的机器的各种信息
strace – 因为当你不知道为什么你发出的命令不能按你希望的方式工作
find – 这个小命令有更多的select比你可能知道的。 阅读手册页并开悟
xargs – 当你需要处理事物列表时,非常非常方便
rsync – 了解rsync及其各种选项对于安全快速地在networking中传输数据至关重要
远程login – 谦虚的Telnet命令可能帮助我诊断更多的networking连接问题,而不是任何其他命令
nmap – 除了nmap
nc – netcat非常适合设置快速服务器来查看客户端正在尝试做什么,甚至是使用udp进行“telnet”。 阅读教程,看看它真的有多强大
openssl的s_client Telnet通过安全连接到https服务器来诊断奇怪。
我相信最终还会有更多的记忆。 检查更新;-)
进程监视器特别是解决权限问题 。
我正在成为DTrace的忠实粉丝,尽pipe目前它还不适用于Windows。
我想知道没有人提到VNC 。
我通常使用几个:
ps :查看当前正在运行的进程
wc :字数。 显示新的行,字,字节。
grep :查找模式。 匹配或不匹配(逆匹配)
>用于将输出redirect到新文件或>>以在文件末尾添加。
| 一起链接命令。 下一个使用的第一个命令的输出。
tee :将收到的input写入文件,并在屏幕上显示文本。
我使用的最常见的链条:
ps ax | grep mysql
对于Windows,我们不要忘记NET和NETSH,如果没有它们,你将会迷失在networking中。
有些工具不是强制性的,但是让日常生活变得更简单:
moreutils软件包(deb) 在unix上,dmesg。 它收集所有的系统诊断信息,并在屏幕上很好地显示出来。
是的,这已经被syslogd“废弃”,但我还没有想出如何获得syslogd设置显示的东西,如dmesg很好。
它必须是SSH和腻子对我来说:它节省了这么多的工作和旅行是不真实的,并没有搞乱graphics设置或等待屏幕刷新:-)