天天看點

運維日常操作--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, 按照程序記憶體占用率排序

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.sh [email protected]:/data/

copy遠端192.168.9.10伺服器/data/2.sh檔案到本地/data/目錄

scp [email protected]:/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}'