Home » linux相关

5个最实用的 Linux管理员命令

22 05月 2010 Views: No Comment Tags:

对Linux管理员而言,实用的工具数不胜数。在这里,我仅仅列举出5个比较实用的工具,一般Linux管理员在每天的操作中都会用到。对于某款工 具,可能我觉得非常有用,但是极可能会和您的经验相冲突,亦或您知道一些非常好的工具,但是我却没有将其列出,对于这种情况,我真诚的希望您能在留言中不 吝赐教。另外,我在此列出的工具是相当可选的,并非每个人都绝对需要,同时还排除了一些每个Linux管理员所必须使用的工具,比如SSH,SCP等。

#5. head/tail

大部分时间,登录服务器的唯一目的就是诊断一些问题,而通常方式就是查看日志。不同程序的日志,比如Apache,MySQL,邮件日志等。您如何 查看日志呢?难道不是tail?类似的,我们有时用head检查文件的开头几行。

举例:

* 不断检查Apache的错误日志文件:

$ tail -f /var/log/httpd/error_log

* 查看MySQL日志的前15行:

$ head -15 /var/log/mysqld.log

#4. vi/nano/emacs

对于频繁创建/更新配置文件,文本编辑器基本上是必需的。我更喜欢Vim,只因为我用起来感觉比较舒服,记了一些比较有用的命令,可以方便快速编 辑。

vi举例:(用vi打开文件,同时不要进入插入模式,您可以尝试这些 比较实用的字符)

跳至行尾:$
跳至行首:0
删除至行尾:D
重复上次命令:. (点)
添加’maal’至每一行的行尾:1是第一行,$是最后一行:1,$ s/$/maal/
在第5行到第10行的行首添加’bingo’:5,10 s/^/bingo/
从光标所在行开始,替换所有的foo为bar:s/foo/bar/g
删除当前行并进入插入模式:C
移除文件中由Windows带来的^M:se ff=unix
开启/关闭行号显示:set nu / set nonu
如果您需要在文件中显示真实(实际存在的)行号:%!cat -n
查找当前光标所在的单词:* (星号)

#3. screen

screen是在nix世界中没有得到充分利用的命令之一。列举个情况,您刚刚对远程服务器发出命令,但发现需要数个小时才能完成。或您需要登录 10个服务器并检查一些东西…在它们之间拷贝文件…接着…您的网络连接被重置,您的SSH会话被终止。这就需要screen了,保证用一次就会上瘾。 Screen是一个终端复用器,它使您可以通过一个物理终端管理多个进程(比如SSH会话)。每一个进程都有单独的虚拟窗口,同时您可以在每一个进程的虚 拟窗口自由跳转。

再多说一些。假设您有很多服务器,现在通过SSH登录到其中一台服务器。您可以通过输入’screen’(所有的主流Linux发行版都已经安装了 screen)启动screen。您可以看到一个状态条。通过点击Ctrl+ac创建新的screen窗口。点击Ctrl+an(下一个)和 Ctrl+ap(前一个)进行跳转。基本上,它提供了非常实用的功能,比如远程终端会话管理(分离或共享终端会话),无限窗口(不同于Linux虚拟控制 台的硬编码),在窗口之间复制/粘贴,提示活动和非活动窗口,拆分终端(横向和纵向)到多区域,共享终端等。

您可以将您的配置保存到.screenrc。

这里就是我的.screenrc,我重新定义了状态栏外观和感觉,同 时分配了快捷键F5(前一个窗口)和F6(下一个窗口):

$ cat ~/.screenrc
# no annoying audible bell, please
vbell on
# detach on hangup
autodetach on

# don’t display the copyright page
startup_message off

# emulate .logout message
pow_detach_msg “Screen session of \$LOGNAME \$:cr:\$:nl:ended.”

# advertise hardstatus support to $TERMCAP
termcapinfo xterm* ti@:te@

# make the shell in every window a login shell
shell -$SHELL

defscrollback 10000

# Extend the vt100 desciption by some sequences.

termcap vt* AF=\E[3%dm:AB=\E[4%dm
caption always
caption string '%{= wk}[ %{k}%H %{k}][%= %{= wk}%?%-Lw%?%{r}(%{r}%n*%f%t%?(%u)%?%{r})%{k}%?%+Lw%?%?%= %{k}][%{b} %d/%m %{k}%c %{k}]‘

# keybindings

bind -k F5 prev
bind -k F6 next

#2. netstat/nmap

有很多实用的命令可以用来诊断网络。当然啦,ping/traceroute可能是最常用的,但是nmap和netstat比基本的ping更有 用。netstat代表网络状态。nmap可以说是安全/端口扫描器,或是说是一个网络勘查命令。

netstat命令举例:

* 显示互联网(端口80)连接的总数:

$ netstat -an |grep :80 |wc -l

* 显示您电脑所侦听的所有端口:

$ netstat -ant | grep LISTEN

* 使用nmap扫描局域网内的电脑,并获知其开放端口:

$ nmap ip

#1. find and grep

一些日常任务的清单:哪些文件占用空间最多?删除两天前的所有临时文件,找出有多少问题文件是基于旧服务器名写入的,将所有的’.list’重命名 为’.txt’。对于这些,find和grep是您最好朋友。

Find命令用于查找文件。您可以指定很多参数,比如创建于今天的文件,或指定更多参数。通常,我们还将 xargs或exec与find结合使用。

find命令举例:

* 查找/var下最大的前10个文件:

$ find /var -type f -ls | sort -k 7 -r -n | head -10

* 查找/var/log/下大于5GB的文件:

$ find /var/log/ -type f -size +5120M -exec ls -lh {} \;

* 找出今天的所有文件并将它们拷贝到另一个目录:

$ find /home/me/files -ctime 0 -print -exec cp {} /mnt/backup/{} \;

* 找出所有一周前的临时文件并删除:

$ find /temp/ -mtime +7-type f | xargs /bin/rm -f

* 查找所有的mp3文件,并修改所有的大写字母为小写字母:

$ find /home/me/music/ -type f -name *.mp3 -exec rename ‘y/[A-Z]/[a-z]/’ ‘{}’ \;

grep命令举例:

* 打印Apache的documentroot文件夹名称:

$ grep -i documentroot /etc/httpd/conf/httpd.conf

* 浏览文件内容而不显示解释行和空行:

$ grep -Ev “^$|^#” /etc/my.cnf

* 显示分配给该接口的IP地址:

$ ifconfig eth0 | grep ‘inet addr:’ | cut -d’:’ -f2 | awk ‘{ print $1}’

* 特定日期发送邮件的数量:

$ cat /var/log/maillog | grep “status=sent” | grep “May 25″ | wc -l

* 在进程列表中找出正在运行的进程/守护进程:

ps -ef | grep mysql

* 您还可以通过它关注cpu/内存的使用率。就像下面的命令输出,您可以看到Plesk的统计进程占用了超过18%的cpu:

root@myserver ~]# ps aux | grep statistics
root 8183 18.4 0.0 58384 2848 ? D 04:05 3:00 /usr/local/psa/admin/sbin/statistics

————————-

查看原文:Top 5 most useful commands or tools for Linux administrators

原创文章如转载,请注明:转载自Xixis Blog [ http://www.xixis.net/ ]
本文链接地址:http://www.xixis.net/archives/5-the-most-useful-commands-linux-administrator.html

Leave your response!

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar.