歡迎您光臨本站 註冊首頁

linux運維常用命令一句話

←手機掃碼閱讀     火星人 @ 2014-03-24 , reply:0

整理收集一些linux運維管理、系統管理的常用命令,太多了記不住,只能記錄下來方便日後查看。也可以和大家分享。如果你有好的一句話命令也貼出來吧。本文持續更新中。
1、linux啟動過程
  開啟電源 --> BIOS開機自檢 --> 引導程序lilo或grub --> 內核的引導(kernel boot)--> 執行init(rc.sysinit、rc)--> mingetty(建立終端) --> shell
2、網卡綁定多IP
# ifconfig eth0:1 192.168.1.99 netmask 255.255.255.0
3、設置DNS、網關
# echo "nameserver 202.16.53.68" 》/etc/resolv.conf
# route add default gw 192.168.1.1
4、彈出、收回光碟機
# eject
# eject -t
5、用date查詢昨天的日期
# date --date=yesterday
6、查詢file1裡面空行的所在行號
# grep ^$ file
7、查詢file1以abc結尾的行
# 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、刪除兩個文件重複的部份,列印其它
# cat 1.txt 3.txt |sort |uniq
14、攻取遠程伺服器主機名
# echo `ssh $IP cat /etc/sysconfig/network|awk -F = '/HOSTNAME/ {print$2}'`
15、實時監控網卡流量(安裝iftop)
# /usr/local/iftop/sbin/iftop -i eth1 -n
16、查看系統版本
# lsb_release -a
17、強制踢出登陸用戶
# 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埠的請求轉發到8080埠,當前主機外網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月份內,每天的早上6點到12點中,每隔2小時執行一次/usr/bin/httpd.sh
# crontab -e
0 6-12/2 * 11 * /usr/bin/httpd.sh
21、查看佔用埠8080的進程
# netstat -tnlp | grep 8080
lsof -i:8080
22、在Shell環境下,如何查看遠程Linux系統運行了多少時間?
# ssh user@被監控主機ip "uptime"
23、查看CPU使用情況的命令
""每5秒刷新一次,最右側有CPU的佔用率的數據
# vmstat 5
""top 然後按Shift+P,按照進程處理器佔用率排序
# top
24、查看內存使用情況的命令
""用free命令查看內存使用情況
# free -m
""top 然後按Shift+M, 按照進程內存佔用率排序
# top
25、查看磁碟i/o
""用iostat查看磁碟/dev/sdc3的磁碟i/o情況,每兩秒刷新一次
# iostat -d -x /dev/sdc3 2
26、修復文件系統
# fsck ?yt ext3 /
-t 指定文件系統
-y 對發現的問題自動回答yes
27、read 命令5秒后自動退出
# read -t 5
28、grep -E -P 是什麼意思
-E, --extended-regexp 採用擴展正規表達式。
-P,--perl-regexp 採用perl正規表達式
29、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
30、linux伺服器之間相互複製文件
copy 本地文件1.sh到遠程192.168.9.10伺服器的/data/目錄下
# scp /etc/1.shking@192.168.9.10:/data/
copy遠程192.168.9.10伺服器/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命令能顯示時間
# export HISTTIMEFORMAT="%F %T "
33、如何查看目標主機192.168.0.1開放那些埠
# nmap -PS 192.168.0.1
34、如何查看網路連接
# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a,S[a]}'
35、如何查看當前系統使用了那些庫文件
# ldconfig -v
36、如何查看網卡的驅動版本
# ethtool -i eth0
37、使用tcpdump來監視主機192.168.0.1的tcp的80埠
# tcpdump tcp port 80 host 192.168.0.1
38、如何看其它用戶的郵件列表
# mial -u king
39、對大文件進行切割
  按每個文件1000行來分割
# split -l 1000 httperr8007.log httperr
  按照每個文件5m來分割
# split -b 5m httperr8007.log httperr
40、合併文件
  取出兩個文件的並集(重複的行只保留一份)
# cat file1 file2 | sort | uniq
  取出兩個文件的交集(只留下同時存在於兩個文件中的文件)
# cat file1 file2 | sort | uniq -d
  刪除交集,留下其他的行
# cat file1 file2 | sort | uniq ?u
41、列印文本模式下運行的服務
# chkconfig --list|awk '$5~/on/{print $1,$5}'
42、刪除0位元組文件
# find -type f -size 0 -exec rm -rf {} \;
43、查看進程,按內存從大到小排列
# ps -e -o "%C : %p : %z : %a"|sort -k5 -nr
44、查看http的併發請求數及其TCP連接狀態
# 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實現獲取IP地址:
# ifconfig -a | perl -ne 'if ( m/^\s*inet (?:addr:)?([\d.]+).*?cast/ ) { print qq($1 ); exit 0; }'
46、獲取內存大小
# free -m |grep "Mem" | awk '{print $2}'
47、查看CPU核心數
# cat /proc/cpuinfo |grep -c processor
48、查看磁碟使用情況
# df -h
49、查看有多少個活動的php-cgi進程
# 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位元組文件

find -typef -size 0 -exec rm -rf {} \;

2.查看進程按內存從大到小排列

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的併發請求數及其TCP連接狀態: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在這個文里Root的一行,匹配Root一行,將no替換成yes.

7.如何殺掉mysql進程: 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` 試試查殺進程PID

8.顯示運行3級別開啟的服務: ls /etc/rc3.d/S* |cut-c 15- (從中了解到cut的用途,截取數據)

9.如何在編寫SHELL顯示多個信息,用EOF cat <
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.內存的大小: 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的併發請求數及其TCP連接狀態:

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

15.因為同事要統計一下伺服器下面所有的jpg的文件的大小,寫了個shell給他來統計.原來用xargs實現,但他一次處理一部分,搞的有多個總和....,下面的命令就能解決啦. find / -name *.jpg -exec wc -c {} \;|awk '{print$1}'|awk '{a+=$1}END{print a}' CPU的數量(多核算多個CPU,cat /proc/cpuinfo |grep -c processor)越多,系統負載越低,每秒能處理的請求數也越多。

16 CPU負載

# cat/proc/loadavg 檢查前三個輸出值是否超過了系統邏輯CPU的4倍。

18

CPU負載 #mpstat 1 1 檢查%idle是否過低(比如小於5%)

19 內存空間

# free 檢查free值是否過低 也可以用 # cat /proc/meminfo

20 swap空間

# free 檢查swap used值是否過高 如果swap used值過高,進一步檢查swap動作是否頻繁: # vmstat 1 5 觀察si和so值是否較大

21 磁碟空間

# df -h 檢查是否有分區使用率(Use%)過高(比如超過90%)如發現某個分區空間接近用盡,可以進入該分區的掛載點,用以下命令找出佔用空間最多的文件或目錄: # du-cks * | sort -rn | head -n 10

[火星人 ] linux運維常用命令一句話已經有614次圍觀

http://coctec.com/docs/linux/show-post-139447.html