linux运维常用命令一句话
整理收集一些linux運(yùn)維管理、系統(tǒng)管理的常用命令,太多了記不住,只能記錄下來方便日后查看。也可以和大家分享。如果你有好的一句話命令也貼出來吧。本文持續(xù)更新中。
1、linux啟動(dòng)過程
開啟電源 --> BIOS開機(jī)自檢 --> 引導(dǎo)程序lilo或grub --> 內(nèi)核的引導(dǎo)(kernel boot)--> 執(zhí)行init(rc.sysinit、rc)--> mingetty(建立終端) --> shell
2、網(wǎng)卡綁定多IP
# ifconfig eth0:1 192.168.1.99 netmask 255.255.255.0
3、設(shè)置DNS、網(wǎng)關(guān)
# echo "nameserver 202.16.53.68" 》/etc/resolv.conf
# route add default gw 192.168.1.1
4、彈出、收回光驅(qū)
# eject
# eject -t
5、用date查詢昨天的日期
# date --date=yesterday
6、查詢file1里面空行的所在行號(hào)
# grep ^$ file
7、查詢file1以abc結(jié)尾的行
# grep abc$ file1
8、打印出file1文件第1到第三行
# sed -n '1,3p' file1
# head -3 file1
9、清空文件
# true > 1.txt
# echo "" > 1.txt
# > 1.txt
# cat /dev/null > 1.txt
10、刪除所有空目錄
# find /data -type d -empty -exec rm -rf {} \;
11、linux下批量刪除空文件(大小等于0的文件)的方法
# find /data -type f -size 0c -exec rm -rf {} \;
# find /data -type f -size 0c|xargs rm –f
12、刪除五天前的文件
# find /data -mtime +5 -type f -exec rm -rf {} \;
13、刪除兩個(gè)文件重復(fù)的部份,打印其它
# cat 1.txt 3.txt |sort |uniq
14、攻取遠(yuǎn)程服務(wù)器主機(jī)名
# echo `ssh $IP cat /etc/sysconfig/network|awk -F = '/HOSTNAME/ {print$2}'`
15、實(shí)時(shí)監(jiān)控網(wǎng)卡流量(安裝iftop)
# /usr/local/iftop/sbin/iftop -i eth1 -n
16、查看系統(tǒng)版本
# lsb_release -a
17、強(qiáng)制踢出登陸用戶
# pkill -KILL -t pts/1
18、tar增理備份、還原
# tar -g king -zcvf kerry_full.tar.gz kerry
# tar -g king -zcvf kerry_diff_1.tar.gz kerry
# tar -g king -zcvf kerry_diff_2.tar.gz kerry
# tar -zxvf kerry_full.tar.gz
# tar -zxvf kerry_diff_1.tar.gz
# tar -zxvf kerry_diff_2.tar.gz
19、將本地80端口的請(qǐng)求轉(zhuǎn)發(fā)到8080端口,當(dāng)前主機(jī)外網(wǎng)IP為202.96.85.46
-A PREROUTING -d 202.96.85.46 -p tcp -m tcp --dport 80 -j DNAT--to-destination 192.168.9.10:8080
20、在11月份內(nèi),每天的早上6點(diǎn)到12點(diǎn)中,每隔2小時(shí)執(zhí)行一次/usr/bin/httpd.sh
# crontab -e
0 6-12/2 * 11 * /usr/bin/httpd.sh
21、查看占用端口8080的進(jìn)程
# netstat -tnlp | grep 8080
lsof -i:8080
22、在Shell環(huán)境下,如何查看遠(yuǎn)程Linux系統(tǒng)運(yùn)行了多少時(shí)間?
# ssh user@被監(jiān)控主機(jī)ip "uptime"
23、查看CPU使用情況的命令
""每5秒刷新一次,最右側(cè)有CPU的占用率的數(shù)據(jù)
# vmstat 5
""top 然后按Shift+P,按照進(jìn)程處理器占用率排序
# top
24、查看內(nèi)存使用情況的命令
""用free命令查看內(nèi)存使用情況
# free -m
""top 然后按Shift+M, 按照進(jìn)程內(nèi)存占用率排序
# top
25、查看磁盤i/o
""用iostat查看磁盤/dev/sdc3的磁盤i/o情況,每兩秒刷新一次
# iostat -d -x /dev/sdc3 2
26、修復(fù)文件系統(tǒng)
# fsck –yt ext3 /
-t 指定文件系統(tǒng)
-y 對(duì)發(fā)現(xiàn)的問題自動(dòng)回答yes
27、read 命令5秒后自動(dòng)退出
# read -t 5
28、grep -E -P 是什么意思
-E, --extended-regexp 采用擴(kuò)展正規(guī)表達(dá)式。
-P,--perl-regexp 采用perl正規(guī)表達(dá)式
29、vi編輯器(涉及到修改,添加,查找)
插入(insert)模式
i 光標(biāo)前插入
I 光標(biāo)行首插入
a 光標(biāo)后插入
A 光標(biāo)行尾插入
o 光標(biāo)所在行下插入一行,行首插入
O 光標(biāo)所在行上插入一行,行首插入
G 移至最后一行行首
nG 移至第n行行首
n+ 下移n行,行首
n- 上移n行,行首
:/str/ 從當(dāng)前往右移動(dòng)到有str的地方
str? 從當(dāng)前往左移動(dòng)到有str的地方
:s/str1/str2/ 將找到的第一個(gè)str1替換為str2
:s/str2/str2/g 將當(dāng)前行找到的所有str1替換為str2
:n1,n2s/str1/str2/g 將從n1行至n2行找到的所有的str1替換為str2
:1,.s/str1/str2/g 將從第1行至當(dāng)前行的所有str1替換為str2
:.,$s/str1/str2/g 將從當(dāng)前行至最后一行的所有str1替換為str2
30、linux服務(wù)器之間相互復(fù)制文件
copy 本地文件1.sh到遠(yuǎn)程192.168.9.10服務(wù)器的/data/目錄下
# scp /etc/1.shking@192.168.9.10:/data/
copy遠(yuǎn)程192.168.9.10服務(wù)器/data/2.sh文件到本地/data/目錄
# scpking@192.168.9.10:/data/2.sh/data/
31、使用sed命令把test.txt文件的第23行的TEST換成TSET.
# sed -i '23s/TEST/TSET/' test.txt
# sed -i '23 s/TEST/TSET/' test.txt
32、使history命令能顯示時(shí)間
# export HISTTIMEFORMAT="%F %T "
33、如何查看目標(biāo)主機(jī)192.168.0.1開放那些端口
# nmap -PS 192.168.0.1
34、如何查看網(wǎng)絡(luò)連接
# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a,S[a]}'
35、如何查看當(dāng)前系統(tǒng)使用了那些庫文件
# ldconfig -v
36、如何查看網(wǎng)卡的驅(qū)動(dòng)版本
# ethtool -i eth0
37、使用tcpdump來監(jiān)視主機(jī)192.168.0.1的tcp的80端口
# tcpdump tcp port 80 host 192.168.0.1
38、如何看其它用戶的郵件列表
# mial -u king
39、對(duì)大文件進(jìn)行切割
按每個(gè)文件1000行來分割
# split -l 1000 httperr8007.log httperr
按照每個(gè)文件5m來分割
# split -b 5m httperr8007.log httperr
40、合并文件
取出兩個(gè)文件的并集(重復(fù)的行只保留一份)
# cat file1 file2 | sort | uniq
取出兩個(gè)文件的交集(只留下同時(shí)存在于兩個(gè)文件中的文件)
# cat file1 file2 | sort | uniq -d
刪除交集,留下其他的行
# cat file1 file2 | sort | uniq –u
41、打印文本模式下運(yùn)行的服務(wù)
# chkconfig --list|awk '$5~/on/{print $1,$5}'
42、刪除0字節(jié)文件
# find -type f -size 0 -exec rm -rf {} \;
43、查看進(jìn)程,按內(nèi)存從大到小排列
# ps -e ?-o "%C ?: %p : %z : %a"|sort -k5 -nr
44、查看http的并發(fā)請(qǐng)求數(shù)及其TCP連接狀態(tài)
# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a,S[a]}'
45、獲取IP地址
# ifconfig eth0|sed -n '2p'|awk '{print $2}'|cut -c 6-30
perl實(shí)現(xiàn)獲取IP地址:
# ifconfig -a | perl -ne 'if ( m/^\s*inet (?:addr:)?([\d.]+).*?cast/ ) { print qq($1 ); exit 0; }'
46、獲取內(nèi)存大小
# free -m |grep "Mem" | awk '{print $2}'
47、查看CPU核心數(shù)
# cat /proc/cpuinfo |grep -c processor
48、查看磁盤使用情況
# df -h
49、查看有多少個(gè)活動(dòng)的php-cgi進(jìn)程
# netstat -anp | grep php-cgi | grep ^tcp | wc -l
50、查看硬件制造商
# dmidecode -s system-product-name
查詢TCP連接情況:
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) printa, S[a]}'
1.刪除0字節(jié)文件
find -typef -size 0 -exec rm -rf {} \;
2.查看進(jìn)程按內(nèi)存從大到小排列
ps -e -o"%C : %p : %z : %a"|sort -k5 -nr
3.按cpu利用率從大到小排列
ps -e -o"%C : %p : %z : %a"|sort -nr
4.打印說cache里的URL
grep -r -ajpg /data/cache/* | strings | grep "http:" | awk -F'http:' '{print"http:"$2;}'
5.查看http的并發(fā)請(qǐng)求數(shù)及其TCP連接狀態(tài):netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
6. sed -i'/Root/s/no/yes/' /etc/ssh/sshd_config sed在這個(gè)文里Root的一行,匹配Root一行,將no替換成yes.
7.如何殺掉mysql進(jìn)程: ps aux|grep mysql|grep-v grep|awk '{print $2}'|xargs kill -9 (從中了解到awk的用途) killall -TERM mysqld kill -9 `cat/usr/local/apache2/logs/httpd.pid` 試試查殺進(jìn)程PID
8.顯示運(yùn)行3級(jí)別開啟的服務(wù): ls /etc/rc3.d/S* |cut-c 15- (從中了解到cut的用途,截取數(shù)據(jù))
9.如何在編寫SHELL顯示多個(gè)信息,用EOF cat <<EOF +---------+ | === Welcome to Tunoff services === | +-------+ EOF
10. for 的巧用(如給mysql建軟鏈接)
cd/usr/local/mysql/bin for i in * do ln /usr/local/mysql/bin/$i /usr/bin/$i done
11. 取IP地址: ifconfig eth0 |grep "inetaddr:" |awk '{print $2}'|cut -c 6- 或者 ifconfig |grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'
12.內(nèi)存的大小: free -m |grep "Mem" | awk '{print $2}'
13.netstat -an -t | grep ":80" | grep ESTABLISHED | awk '{printf"%s %s\n",$5,$6}' | sort
14.查看Apache的并發(fā)請(qǐng)求數(shù)及其TCP連接狀態(tài):
netstat -n| awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
15.因?yàn)橥乱y(tǒng)計(jì)一下服務(wù)器下面所有的jpg的文件的大小,寫了個(gè)shell給他來統(tǒng)計(jì).原來用xargs實(shí)現(xiàn),但他一次處理一部分,搞的有多個(gè)總和....,下面的命令就能解決啦. find / -name *.jpg -exec wc -c {} \;|awk '{print$1}'|awk '{a+=$1}END{print a}' CPU的數(shù)量(多核算多個(gè)CPU,cat /proc/cpuinfo |grep -c processor)越多,系統(tǒng)負(fù)載越低,每秒能處理的請(qǐng)求數(shù)也越多。
16 CPU負(fù)載
# cat/proc/loadavg 檢查前三個(gè)輸出值是否超過了系統(tǒng)邏輯CPU的4倍。
18
CPU負(fù)載 #mpstat 1 1 檢查%idle是否過低(比如小于5%)
19 內(nèi)存空間
# free 檢查free值是否過低 也可以用 # cat /proc/meminfo
20 swap空間
# free 檢查swap used值是否過高 如果swap used值過高,進(jìn)一步檢查swap動(dòng)作是否頻繁: # vmstat 1 5 觀察si和so值是否較大
21 磁盤空間
# df -h 檢查是否有分區(qū)使用率(Use%)過高(比如超過90%)如發(fā)現(xiàn)某個(gè)分區(qū)空間接近用盡,可以進(jìn)入該分區(qū)的掛載點(diǎn),用以下命令找出占用空間最多的文件或目錄: # du-cks * | sort -rn | head -n 10
轉(zhuǎn)載于:https://blog.51cto.com/lucifer119/1280232
總結(jié)
以上是生活随笔為你收集整理的linux运维常用命令一句话的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【网摘阅读】舒迅:产品经理必读的九步法
- 下一篇: 安装SCOM Reporting Se