关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

干货系列五!Linux 运维必备的81条命令总结

发布时间:2021-03-19 14:55:23

1、删除0字节文件

    find-typef-size0-execrm-rf{};


2、linux启动过程

    开启电源-->BIOS开机自检-->引导程序lilo或grub-->内核的引导(kernelboot)-->执行init(rc.sysinit、rc)-->mingetty(建立终端)-->Shell


3、查看进程

    按内存从大到小排列
    PS-e-o"%C:%p:%z:%a"|sort-k5-nr


4、按CPU利用率从大到小排列

    ps-e-o"%C:%p:%z:%a"|sort-nr


5、网卡绑定多ip

    #ifconfigeth0:1192.168.1.99netmask255.255.255.0


6、打印cache里的URL

    grep-r-ajpg/data/cache/*|strings|grep"http:"|awk-F'http:''{print"http:"$2;}'


7、设置DNS、网关

    #echo"nameserver202.16.53.68">>/etc/resolv.conf
    #routeadddefaultgw192.168.1.1


8、查看http的并发请求数及其TCP连接状态:

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'


9、弹出、收回光驱

    #eject
    #eject-t


10

    sed-i'/Root/s/no/yes/'/etc/ssh/sshd_configsed在这个文里Root的一行,匹配Root一行,将no替换成yes。


11、用date查询昨天的日期

    #date--date=yesterday


12、如何杀掉MySQL进程

    psaux|grepmysql|grep-vgrep|awk'{print$2}'|xargskill-9(从中了解到awk的用途)
    killall-TERMmysqld    kill-9`cat/usr/local/apache2/logs/httpd.pid`试试查杀进程PID


13、显示运行3级别开启的服务:

    ls/etc/rc3.d/S*|cut-c15-(从中了解到cut的用途,截取数据)


14、如何在编写SHELL显示多个信息,用EOF

    cat<<EOF
    +--------------------------------------------------------------+
    |===WelcometoTunoffservices===|
    +--------------------------------------------------------------+
    EOF


15、查询file1里面空行的所在行号

    #grep^$file


16、查询file1以abc结尾的行

    #grepabc$file1


17、打印出file1文件第1到第三行

    #sed-n'1,3p'file1
    #head-3file1


18、清空文件

    #true>1.txt
    #echo"">1.txt
    #>1.txt
    #cat/dev/null>1.txt


19、删除所有空目录

    #find/data-typed-empty-execrm-rf{};


20、linux下批量删除空文件(大小等于0的文件)的方法

    #find/data-typef-size0c-execrm-rf{};
    #find/data-typef-size0c|xargsrm–f


21、删除五天前的文件

    #find/data-mtime+5-typef-execrm-rf{};

22、for的巧用(如给MySQL建软链接)

    cd/usr/local/mysql/bin
    foriin*
    doln/usr/local/mysql/bin/$i/usr/bin/$i
    done


23、取IP地址

    ifconfigeth0|grep"inetaddr:"|awk'{print$2}'|cut-c6-

或者

    ifconfig|grep'inetaddr:'|grep-v'127.0.0.1'|cut-d:-f2|awk'{print$1}'


24、内存的大小:

    free-m|grep"Mem"|awk'{print$2}'


25

    netstat-an-t|grep":80"|grepESTABLISHED|awk'{printf"%s%sn",$5,$6}'|sort


26、删除两个文件重复的部份,打印其它

    #cat1.txt3.txt|sort|uniq


27、攻取远程服务器主机名

    #echo`ssh$IPcat/etc/sysconfig/network|awk-F='/hostname/{print$2}'`


28、实时监控网卡流量(安装iftop)

    #/usr/local/iftop/sbin/iftop-ieth1-n


29、查看Apache的并发请求数及其TCP连接状态:

    netstat-n|awk'/^tcp/{++S[$NF]}END{for(ainS)printa,S[a]}'


30、因为同事要统计一下服务器下面所有的jpg的文件的大小,写了个SHELL给他来统计。原来用xargs实现,但他一次处理一部分。搞的有多个总和……,下面的命令就能解决。

    find/-name*.jpg-execwc-c{};|awk'{print$1}'|awk'{a+=$1}END{printa}'

CPU的数量(多核算多个CPU,cat/proc/cpuinfo|grep-cprocessor)越多,系统负载越低,每秒能处理的请求数也越多。


31、CPU负载

    cat/proc/loadavg

检查前三个输出值是否超过了系统逻辑CPU的4倍。


32、CPU负载

    mpstat11

检查%idle是否过低(比如小于5%)。


33、内存空间

    free

检查free值是否过低,也可以用#cat/proc/meminfo


34、查看系统版本

    #lsb_release-a


35、强制踢出登陆用户

    #pkill-kill-tpts/1


36、tar增理备份、还原

    #tar-gking-zcvfkerry_full.tar.gzkerry
    #tar-gking-zcvfkerry_diff_1.tar.gzkerry
    #tar-gking-zcvfkerry_diff_2.tar.gzkerry
    #tar-zxvfkerry_full.tar.gz
    #tar-zxvfkerry_diff_1.tar.gz
    #tar-zxvfkerry_diff_2.tar.gz


37、SWAP空间

    free

检查swapused值是否过高,如果swapused值过高,进一步检查swap动作是否频繁:

    vmstat15

观察si和so值是否较大


38、磁盘空间

    df-h

检查是否有分区使用率(Use%)过高(比如超过90%)如发现某个分区空间接近用尽,可以进入该分区的挂载点,用以下命令找出占用空间最多的文件或目录:

    du-cks*|sort-rn|head-n10


39、将本地80端口的请求转发到8080端口,当前主机外网IP为202.96.85.46

    -APREROUTING-d202.96.85.46-ptcp-mtcp--dport80-jDNAT--to-destination192.168.9.10:8080


40、在11月份内,每天的早上6点到12点中,每隔2小时执行一次/usr/bin/httpd.sh

    #crontab-e
    06-12/2*11*/usr/bin/httpd.sh


41、查看占用端口8080的进程

    #netstat-tnlp|grep8080
    lsof-i:8080


42、磁盘I/O负载

    iostat-x12

检查I/O使用率(%util)是否超过100%


43、网络负载

    sar-nDEV

检查网络流量(rxbyt/s,txbyt/s)是否过高


44、网络错误

    netstat-i

检查是否有网络错误(dropfifocollscarrier),也可以用命令:#cat/proc/net/dev


45、网络连接数目

    netstat-an|grep-E“^(tcp)”|cut-c68-|sort|uniq-c|sort-n


46、在Shell环境下,如何查看远程Linux系统运行了多少时间?

    #sshuser被监控主机ip"uptime"


47、查看CPU使用情况的命令

每5秒刷新一次,最右侧有CPU的占用率的数据

    #vmstat5

top然后按Shift+P,按照进程处理器占用率排序

    #top


48、查看内存使用情况的命令

用free命令查看内存使用情况

    #free-m

top然后按Shift+M,按照进程内存占用率排序

    #top


49、进程总数

    psaux|wc-l

检查进程个数是否正常(比如超过250)


50、可运行进程数目

    vmwtat15

列给出的是可运行进程的数目,检查其是否超过系统逻辑CPU的4倍


51、进程

    top-id1

观察是否有异常进程出现。


52、网络状态,检查DNS,网关等是否可以正常连通

     ping traceroute nslookup dig

53、查看磁盘i/o

用iostat查看磁盘/dev/sdc3的磁盘i/o情况,每两秒刷新一次

    #iostat-d-x/dev/sdc32


54、修复文件系统

    #fsck–ytext3/
    -t指定文件系统
    -y对发现的问题自动回答yes


55、read命令5秒后自动退出

    #read-t5


56、用户

    who|wc-l

检查登录用户是否过多(比如超过50个)也可以用命令:#uptime。


57、系统日志

    #cat/var/log/rflogview/*errors

检查是否有异常错误记录也可以搜寻一些异常关键字,例如:

    grep-ierror/var/log/messages    grep-ifail/var/log/messages


58、核心日志

    dmesg

检查是否有异常错误记录。


59、系统时间

    date

检查系统时间是否正确。


60、打开文件数目

    lsof|wc-l

检查打开文件总数是否过多。


61、grep-E-P是什么意思

    -E,--extended-regexp采用扩展正规表达式。
    -P,--perl-regexp采用perl正规表达式


62、vi编辑器(涉及到修改,添加,查找)

    插入(insert)模式
    i光标前插入
    I光标行首插入
    a光标后插入
    A光标行尾插入
    o光标所在行下插入一行,行首插入
    O光标所在行上插入一行,行首插入
    G移至最后一行行首
    nG移至第n行行首
    n+下移n行,行首
    n-上移n行,行首
    :/str/从当前往右移动到有str的地方
    :?str?从当前往左移动到有str的地方
    :s/str1/str2/将找到的第一个str1替换为str2
    :s/str2/str2/g将当前行找到的所有str1替换为str2
    :n1,n2s/str1/str2/g将从n1行至n2行找到的所有的str1替换为str2
    :1,.s/str1/str2/g将从第1行至当前行的所有str1替换为str2
    :.,$s/str1/str2/g将从当前行至最后一行的所有str1替换为str2


63、日志

    #logwatch–print

配置/etc/log.d/logwatch.conf,将Mailto设置为自己的email地址,启动mail服务(sendmail或者postfix),这样就可以每天收到日志报告了。

缺省logwatch只报告昨天的日志,可以用#logwatch–print–rangeall获得所有的日志分析结果。

可以用#logwatch–print–detailhigh获得更具体的日志分析结果(而不仅仅是出错日志)。


64、杀掉80端口相关的进程

    lsof-i:80|grep-v“ID”|awk‘{print“kill-9”,$2}’|sh


65、linux服务器之间相互复制文件

copy本地文件1.sh到远程192.168.9.10服务器的/data/目录下

    #scp/etc/1.shking192.168.9.10:/data/

copy远程192.168.9.10服务器/data/2.sh文件到本地/data/目录

    #scpking192.168.9.10:/data/2.sh/data/


66、使用sed命令把test.txt文件的第23行的TEST换成TSET.

    #sed-i'23s/TEST/TSET/'test.txt
    #sed-i'23s/TEST/TSET/'test.txt


67、使history命令能显示时间

    #exportHISTTIMEFORMAT="%F%T"


68、清除僵死进程

    ps-eal|awk'{if($2=="Z"){print$4}}'|kill-9


69、tcpdump抓包,用来防止80端口被人攻击时可以分析数据

    tcpdump-c10000-ieth0-ndstport80>/root/pkts


70、然后检查IP的重复数并从小到大排序注意“-t+0”中间是两个空格

    #lesspkts|awk{'printf$3"n"'}|cut-d.-f1-4|sort|uniq-c|awk{'printf$1""$2"n"'}|sort-n-t+0


71、如何查看目标主机192.168.0.1开放那些端口

    #nmap-ps192.168.0.1


72、如何查看网络连接

    #netstat-n|awk'/^tcp/{++S[$NF]}END{for(ainS)printa,S[a]}'


73、如何查看当前系统使用了那些库文件

    #ldconfig-v


74、如何查看网卡的驱动版本

    #ethtool-ieth0


75、查看有多少个活动的php-cgi进程

    netstat-anp|grepphp-cgi|grep^tcp|wc-l


76、查看系统自启动的服务

    chkconfig--list|awk'{if($5=="3:on")print$1}'


77、使用tcpdump来监视主机192.168.0.1的tcp的80端口

    #tcpdumptcpport80host192.168.0.1


78、如何看其它用户的邮件列表

    #mial-uking


79、对大文件进行切割

按每个文件1000行来分割

    #split-l1000httperr8007.loghttperr

按照每个文件5m来分割

#split-b5mhttperr8007.loghttperr


80、合并文件

取出两个文件的并集(重复的行只保留一份)

    #catfile1file2|sort|uniq

取出两个文件的交集(只留下同时存在于两个文件中的文件)

    #catfile1file2|sort|uniq-d

删除交集,留下其他的行

    #catfile1file2|sort|uniq–u


81、kudzu查看网卡型号

    kudzu--probe--class=network



/../template/Home/Databay/PC/Static