開啟電源 --> 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/wwwroot/ -type d -exec chmod 755 {} \。
find /data/wwwroot/ -type f -exec chmod 644 {} \。
find /data/wwwroot/ -type d -exec chmod 755 {} 。
find /data/wwwroot/ -type f -exec chmod 644 {} 。
11、linux下批量刪除空文件(大小等于0的文件)的方法
find /data/wwwroot/ -type d -exec chmod 755 {} \。
find /data/wwwroot/ -type f -exec chmod 644 {} \。
find /data/wwwroot/ -type d -exec chmod 755 {} 。
find /data/wwwroot/ -type f -exec chmod 644 {} 。
# find /data -type f -size 0c|xargs rm –f
12、刪除五天前的文件
find /data/wwwroot/ -type d -exec chmod 755 {} \。
find /data/wwwroot/ -type f -exec chmod 644 {} \。
find /data/wwwroot/ -type d -exec chmod 755 {} 。
find /data/wwwroot/ -type f -exec chmod 644 {} 。
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情況,每?jī)擅胨⑿乱淮?/p>
# 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á)式。linux命令
-P,--perl-regexp 采用perl正規(guī)表達(dá)式
插入(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.sh king@192.168.9.10:/data/
copy遠(yuǎn)程192.168.9.10服務(wù)器/data/2.sh文件到本地/data/目錄
# scp king@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)使用了那些庫(kù)文件
# 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-a|awk'/^tcp/{++s[$nf]}end{for(ains)printa,s[a]}'。
netstat -n |awk '/^tcp/ {print $nf}'|sort|uniq -c|sort -rn。
netstat -anlp|grep 80|grep tcp|awk '{print $5}'|awk -f: '{print $1}'|sort|uniq -c|sort -nr|head -n20 | netstat -ant |awk '/:80/{split($5,ip,":")。
netstat -ant | 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($1n); 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