Linux管理员不能不知的五大命令

Linux管理员不能不知的五大命令+
 
 
    #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打开一个文件,而且不进入插入模式(insert mode),那么你可以输入如下所示的有用字符:
    =>跳至行末
    $
    => 跳至行首
    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命令
    在nix世界中,screen命令是尚未得到充分利用的命令之一打个比方,当你最后一次在远程服务器上执行一个命令时,如果你发现那个命令需要几个小时才能完成,或者当你需要登录10个服务器并检查东西、在它们之间复制文件的时候,突然之间,你的互联网连接重启了,ssh会话也终结了,这时,你就会用到screen命令,而一旦你开始使用这个命令,你就会被它吸引Screen是一个终端复用器(terminal multiplexer),允许你通过使用一个物理终端来管理多个进程(比如ssh会话)每个进程都有自己的虚拟窗口,而你可以在跟每个进程交互的虚拟窗口之间来回切换
    我们再深入的解释一下假设你有许多服务器,理想情况下你应该把ssh(端口22)访问限制放在特定的IP地址上面这样,你可以登陆一个允许远程 IP访问的服务器此时,你就可以键入“screen”(所有主要的linux版本都安装了screen命令)并开始执行你会看到一个状态栏,你可以按 Ctrl+ac组合键创建新的screen窗口用Ctrl+an (下一个)和Ctrl+ap(上一个)组合键在窗口之间进行切换通常,它提供的功能非常有用,比如远程终端会话管理(分离或共享终端会话),无限窗口数量(这与固定的Linux虚拟控制台数量不一样),在窗口之间复制/粘贴,在窗口中显示活动或静止,把终端分割成多个区(横向以及纵向),共享终端等等[nextpage]
    你可以把你的参数保存在screenrc文件中,下面是我的screenrc文件一样,在里面我已经重新定义了状态栏的外观和感觉,并且设置了键f5(上一个窗口)和f6(下一个窗口)的含义:
    $ cat ~/.screenrc
    #请不要有烦人的铃声
    vbell on
    #在挂起时分离
    autodetach on
    #不显示版权页
    startup_message off
    #模仿logout消息
    pow_detach_msg "Screen session of \$LOGNAME \$:cr:\$:nl:ended."
    #告知$TERMCAP硬状态(窗口列表和时钟)支持
    termcapinfo xterm* ti@:te@
    #把每个窗口中的shell设成登录shell
    shell -$SHELL
    defscrollback 10000
    #按照某种序列扩展vt100描述
    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}]'
    #重新定义按键绑定
    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
    *在你的LAN上面用nmap命令扫描一个机器,并且获悉它的哪些端口是开放的:
    $ nmap ip
    #1. find和grep命令
    日常工作会遇到的问题包括:有多少文件占用了大多数的磁盘空间?删除所有超过两天的临时文件;找出因含有旧服务器名称而引起问题的文件数;把所有后缀名为“list”的文件改成“txt”文件面对这些工作时,命令find和grep会是你最好的朋友[nextpage]
    Find命令用来搜索文件你可以指定很多选项,比如文件创建日期、或者文件大小要大于你指定的容量等通常,我们也把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的文件根目录名称:
    $ 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}'
    *查看某个特定日期发送了多少email消息:
    $ cat /var/log/maillog | grep "status=sent" | grep "May 25" | wc -l
    *在进程列表中找出一个正在运行的process/daemon:
    ps -ef | grep mysql
    *你也可以通过使用上面的命令来注释cpu/men的使用情况,比如像下面的命令输出,你可以看到Plesk的统计进程本身就占用了大于18%的cpu性能:
    [root@myserver ~]# ps aux | grep statistics
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值