1.?? find
?????? find pathname -options [-print -exec -ok]
?????? 讓我們來看看該命令的參數(shù):
?????? pathname find命令所查找的目錄路徑。例如用.來表示當(dāng)前目錄,用/來表示系統(tǒng)根目錄。
?????? -print find命令將匹配的文件輸出到標(biāo)準(zhǔn)輸出。
?????? -exec find命令對匹配的文件執(zhí)行該參數(shù)所給出的shell命令。相應(yīng)命令的形式為'command' {} \;,注意{}和\;之間的空格,同時兩個{}之間沒有空格,
?????? 注意一定有分號結(jié)尾。
?????? 0) -ok 和-exec的作用相同,只不過以一種更為安全的模式來執(zhí)行該參數(shù)所給出的shell命令,在執(zhí)行每一個命令之前,都會給出提示,讓用戶來確定是否執(zhí)行
?????? find . -name "datafile" -ctime -1 -exec ls -l {} \; 找到文件名為datafile*, 同時創(chuàng)建實(shí)際為1天之內(nèi)的文件, 然后顯示他們的明細(xì).
?????? find . -name "datafile" -ctime -1 -exec rm -f {} \; 找到文件名為datafile*, 同時創(chuàng)建實(shí)際為1天之內(nèi)的文件, 然后刪除他們.
?????? find . -name "datafile" -ctime -1 -ok ls -l {} \; 這兩個例子和上面的唯一區(qū)別就是-ok會在每個文件被執(zhí)行命令時提示用戶, 更加安全.
?????? find . -name "datafile" -ctime -1 -ok rm -f {} \;
?????? 1) find . -name?? 基于文件名查找,但是文件名的大小寫敏感.???
?????? find . -name "datafile*"
???
?????? 2) find . -iname? 基于文件名查找,但是文件名的大小寫不敏感.
?????? find . -iname "datafile*"
???
?????? 3) find . -maxdepth 2 -name fred 找出文件名為fred,其中find搜索的目錄深度為2(距當(dāng)前目錄), 其中當(dāng)前目錄被視為第一層.
???????
?????? 4) find . -perm 644 -maxdepth 3 -name "datafile*"? (表示權(quán)限為644的, 搜索的目錄深度為3, 名字為datafile*的文件)
???
?????? 5) find . -path "./rw" -prune -o -name "datafile*" 列出所有不在./rw及其子目錄下文件名為datafile*的文件。
?????? find . -path "./dir*" 列出所有符合dir*的目錄及其目錄的文件.
?????? find . \( -path "./d1" -o -path "./d2" \) -prune -o -name "datafile*" 列出所有不在./d1和d2及其子目錄下文件名為datafile*的文件。
???
?????? 6) find . -user ydev 找出所有屬主用戶為ydev的文件。
?????? find . ! -user ydev 找出所有屬主用戶不為ydev的文件, 注意!和-user之間的空格。
???
?????? 7) find . -nouser??? 找出所有沒有屬主用戶的文件,換句話就是,主用戶可能已經(jīng)被刪除。
???
??????
find . -group ydev 找出所有屬主用戶組為ydev的文件。
???
?????? 9) find . -nogroup??? 找出所有沒有屬主用戶組的文件,換句話就是,主用戶組可能已經(jīng)被刪除。
???
?????? 10) find . -mtime -3[+3] 找出修改數(shù)據(jù)時間在3日之內(nèi)[之外]的文件。
?????? find . -mmin? -3[+3] 找出修改數(shù)據(jù)時間在3分鐘之內(nèi)[之外]的文件。
?????? find . -atime -3[+3] 找出訪問時間在3日之內(nèi)[之外]的文件。
?????? find . -amin? -3[+3] 找出訪問時間在3分鐘之內(nèi)[之外]的文件。
?????? find . -ctime -3[+3] 找出修改狀態(tài)時間在3日之內(nèi)[之外]的文件。
?????? find . -cmin? -3[+3] 找出修改狀態(tài)時間在3分鐘之內(nèi)[之外]的文件。
???
?????? 11) find . -newer eldest_file ! -newer newest_file 找出文件的更改時間 between eldest_file and newest_file。
?????? find . -newer file???? 找出所有比file的更改時間更新的文件
?????? find . ! -newer file 找出所有比file的更改時間更老的文件
???????
?????? 12) find . -type d??? 找出文件類型為目錄的文件。
?????? find . ! -type d? 找出文件類型為非目錄的文件。
?????? b - 塊設(shè)備文件。
?????? d - 目錄。
?????? c - 字符設(shè)備文件。
?????? p - 管道文件。
?????? l - 符號鏈接文件。
?????? f - 普通文件。
???????
?????? 13) find . -size [+/-]100[c/k/M/G] 表示文件的長度為等于[大于/小于]100塊[字節(jié)/k/M/G]的文件。
???
?????? 14) find . -empty 查找所有的空文件或者空目錄.
???
?????? 15) find . -type f | xargs grep "ABC"
?????? 使用xargs和-exec的區(qū)別是, -exec可能會為每個搜索出的file,啟動一個新的進(jìn)程執(zhí)行-exec的操作, 而xargs都是在一個進(jìn)程內(nèi)完成, 效率更高.
???
2.?? crontab:
?????? 文件格式如下(每個列之間是使用空格分開的):
?????? 第1列分鐘1~59
?????? 第2列小時1~23(0表示子夜)
?????? 第3列日1~31
?????? 第4列月1~12
?????? 第5列星期0~6(0表示星期天)
?????? 第6列要運(yùn)行的命令
???
?????? 分 時 日 月 星期 要運(yùn)行的命令
???
?????? 30 21* * * /apps/bin/cleanup.sh
?????? 上面的例子表示每晚的21:30運(yùn)行/apps/bin目錄下的cleanup.sh。
?????? 45 4 1,10,22 * * /apps/bin/backup.sh
?????? 上面的例子表示每月1、10、22日的4:45運(yùn)行/apps/bin目錄下的backup.sh。
?????? 10 1 * * 6,0 /bin/find -name "core" -exec rm {} \;
?????? 上面的例子表示每周六、周日的1:10運(yùn)行一個find命令。
?????? 0,30 18-23 * * * /apps/bin/dbcheck.sh
?????? 上面的例子表示在每天18:00至23:00之間每隔30分鐘運(yùn)行/apps/bin目錄下的dbcheck.sh。
?????? 0 23 * * 6 /apps/bin/qtrend.sh
?????? 上面的例子表示每星期六的11:00pm運(yùn)行/apps/bin目錄下的qtrend.sh。
???
?????? -u 用戶名。
?????? -e 編輯crontab文件。
?????? -l 列出crontab文件中的內(nèi)容。
?????? -r 刪除crontab文件。
?????? 系統(tǒng)將在/var/spool/cron/目錄下自動保存名為<username>的cron執(zhí)行腳本.
?????? cron是定時完成的任務(wù), 在任務(wù)啟動時,一般來講都是重新啟動一個新的SHELL, 因此當(dāng)需要使用登錄配置文件的信息,特別是環(huán)境變量時,是非常麻煩的.
?????? 一般這種問題的使用方法如下:
?????? 0 2 * * * ( su - USERNAME -c "export LANG=en_US; /home/oracle/yb2.5.1/apps/admin/1.sh"; ) > /tmp/1.log 2>&1
?????? 如果打算執(zhí)行多條語句, 他們之間應(yīng)使用分號進(jìn)行分割. 注: 以上語句必須在root的帳戶下執(zhí)行.
???
3.?? nohup:
?????? nohup command &
?????? 如果你正在運(yùn)行一個進(jìn)程,而且你覺得在退出帳戶時該進(jìn)程還不會結(jié)束,那么可以使用nohup命令。該命令可以在你退出帳戶之后繼續(xù)運(yùn)行相應(yīng)的進(jìn)程。
?????? Nohup就是不掛起的意思(no hang up)。
???
4.?? cut:
?????? 1) cut一般格式為:cut [options] file1 file2
?????? -c list 指定剪切字符數(shù)。
?????? -f field 指定剪切域數(shù)。
?????? -d 指定與空格和tab鍵不同的域分隔符。
?????? -c 用來指定剪切范圍,如下所示:
?????? -c1,5-7 剪切第1個字符,然后是第5到第7個字符。
?????? -c2- 剪切第2個到最后一個字符
?????? -c-5 剪切最開始的到第5個字符
?????? -c1-50 剪切前50個字符。
?????? -f 格式與-c相同。
?????? -f1,5 剪切第1域,第5域。
?????? -f1,10-12 剪切第1域,第10域到第12域。
?????? 2) 使用方式:
?????? cut -d: -f3 cut_test.txt (基于":"作為分隔符,同時返回field 3中的數(shù)據(jù)) *field從0開始計算。
?????? cut -d: -f1,3 cut_test.txt (基于":"作為分隔符,同時返回field 1和3中的數(shù)據(jù))
?????? cut -d: -c1,5-10 cut_test.txt(返回第1個和第5-10個字符)
???
5.?? sort:????
?????? 1) 對文件內(nèi)容進(jìn)行排序,缺省分割符為空格,如果自定義需要使用-t選擇,如-t:
?????? 2) 使用分隔符分割后,第一個field為0,awk中為1
?????? 3) 具體用法如下:
?????? sort -t: sort_test.txt(缺省基于第一個field進(jìn)行排序,field之間的分隔符為":")
?????? sort -t: -r sort_test.txt(缺省基于第一個field進(jìn)行倒序排序,field之間的分隔符為":")
?????? sort -t: +1 sort_test.txt(基于第二個field進(jìn)行排序,field之間的分隔符為":")
?????? sort +3n sort_test.txt(基于第三個field進(jìn)行排序,其中n選項(xiàng)提示是進(jìn)行"數(shù)值型"排序)
?????? sort -u? sort_test.txt(去除文件中重復(fù)的行,同時基于整行進(jìn)行排序)
?????? sort -o output_file -t: +1.2[n] sort_text.txt(基于第二個field,同時從該field的第二個字符開始,這里n的作用也是"數(shù)值型"排序,并將結(jié)果輸出到output_file中)
?????? sort -t: -m +0 filename1 filename2(合并兩個文件之后在基于第一個field排序)
6.?? pgrep和pkill:
?????? 查找和殺死指定的進(jìn)程, 他們的選項(xiàng)和參數(shù)完全相同, 這里只是介紹pgrep
?????? /> sleep 100&
?????? 1000
?????? /> sleep 100&
?????? 1001
???
?????? /> pgrep sleep
?????? 1000
?????? 1001
?????? /> pgrep -d: sleep??? # -d定義多個進(jìn)程之間的分隔符, 如果不定義則使用newline
?????? 1000:1001
?????? /> pgrep -n sleep??? # -n表示如果該程序有多個進(jìn)程,查找最新的.
?????? 1001
?????? /> pgrep -o? sleep??? # -o表示如果該程序有多個進(jìn)程,查找最老的.
?????? 1000???
?????? /> pgrep -G root,oracle sleep # -G 表示進(jìn)程的group id在-G后面的組列表中的進(jìn)程會被考慮
?????? 1000
?????? 1001
?????? /> pgrep -u root,oracle sleep # -u 表示進(jìn)程的effetive user id在-u后面的組列表中的進(jìn)程會被考慮
?????? 1000
?????? 1001
?????? /> pgrep -U root,oracle sleep # -U 表示進(jìn)程的real user id在-u后面的組列表中的進(jìn)程會被考慮
?????? 1000
?????? 1001
?????? /> pgrep -x sleep # -x 表示進(jìn)程的名字必須完全匹配, 以上的例子均可以部分匹配
?????? 1000
?????? 1001
?????? /> pgrep -x sle
???
?????? /> pgrep -l sleep # -l 將不僅打印pid,也打印進(jìn)程名
?????? 1000 sleep
?????? 1001 sleep
?????? /> pgrep -lf sleep # -f 一般與-l合用, 將打印進(jìn)程的參數(shù)
?????? 1000 sleep 100
?????? 1001 sleep 100
???
?????? /> pgrep -f sleep -d, | xargs ps -fp
?????? UID??????? PID? PPID? C STIME TTY????????? TIME CMD
?????? root????? 1000? 2138? 0 06:11 pts/5??? 00:00:00 sleep 1000
?????? root????? 1001? 2138? 0 06:11 pts/5??? 00:00:00 sleep 1000
7.?? fuser:
?????? fuser -m /dev??? # 列出所有和/dev設(shè)備有染的進(jìn)程pid.
?????? fuser testfile??? # 列出和testfile有染的進(jìn)程pid
?????? fuser -u testfile # 列出和testfile有染的進(jìn)程pid和userid
?????? fuser -k testfile # 殺死和testfile有染的進(jìn)程pid
8.?? mount:
如何在unix下面mount一個windows下面的共享目錄
?????? mount -t smbfs -o username=USERNAME,password=PASSWORD //windowsIp/pub_directory? /mountpoint??
?????? /> mkdir -p /mnt/win32
?????? /> mount -o username=administrator,password=1234 //10.1.4.103/Mine /mnt/win32
?????? /> umount /mnt/win32??????? # 卸載該mount.
9.?? netstat:
-a 表示顯示所有的狀態(tài)
-l 則只是顯示listen狀態(tài)的,缺省只是顯示connected
-p 顯示應(yīng)用程序的名字
-n 顯示ip、port和user等信息
-t 只顯示TCP的連接
/> netstat -apnt
/> netstat -lpnt????? #如果只是顯示監(jiān)聽端口的狀態(tài),可以使用該命令
10. tune2fs:
調(diào)整ext2/ext3文件系統(tǒng)特性的工具
-l 查看文件系統(tǒng)信息
/> tune2fs -l /dev/sda1? #將會列出所有和該磁盤分區(qū)相關(guān)的數(shù)據(jù)信息,如Inode等。
/> tune2fs -l /dev/sda1 | grep -i "block size"????? #查看當(dāng)前文件系統(tǒng)的塊兒尺寸
/> tune2fs -l /dev/sdb1 |grep -i "mount count"?? #查看 mount count 掛載次數(shù)
11.? 開啟或關(guān)閉Linux(iptables)防火墻
????? 重啟后永久性生效:
????? /> chkconfig iptables on???????? #開啟
????? /> chkconfig iptables off???????? #關(guān)閉
???
????? 即時生效,重啟后還原:
????? /> service iptables start??????? #開啟
????? /> service iptables stop???????? #關(guān)閉?
12.? tar 分卷壓縮和合并
????? 以每卷500M為例
????? />tar cvzpf - somedir | split -d -b 500m??? #tar分卷壓縮
????? />cat x* > mytarfile.tar.gz????????????????????? #tar多卷合并
13.? 把man或info的信息存為文本文件
????? /> man tcsh | col -b > tcsh.txt
????? /> info tcsh -o tcsh.txt -s
14.? 查看正在執(zhí)行進(jìn)程的線程數(shù)
????? />ps -eo "args nlwp pid pcpu"
15.? 使用md5sum計算文件的md5
????? /> md5sum test.c
????? 07af691360175a6808567e2b08a11724? test.c
????? /> md5sum test.c > hashfile
????? /> md5sum –c hashfile???? # 驗(yàn)證hashfile中包含的md5值和對應(yīng)的文件,在執(zhí)行該命令時是否仍然匹配, 如果此時test.c被修改了,該命令將返回不匹配的警告.
16.? 在ps命令中顯示進(jìn)程的完整的命令行參數(shù)
????? />ps auwwx
?????? find pathname -options [-print -exec -ok]
?????? 讓我們來看看該命令的參數(shù):
?????? pathname find命令所查找的目錄路徑。例如用.來表示當(dāng)前目錄,用/來表示系統(tǒng)根目錄。
?????? -print find命令將匹配的文件輸出到標(biāo)準(zhǔn)輸出。
?????? -exec find命令對匹配的文件執(zhí)行該參數(shù)所給出的shell命令。相應(yīng)命令的形式為'command' {} \;,注意{}和\;之間的空格,同時兩個{}之間沒有空格,
?????? 注意一定有分號結(jié)尾。
?????? 0) -ok 和-exec的作用相同,只不過以一種更為安全的模式來執(zhí)行該參數(shù)所給出的shell命令,在執(zhí)行每一個命令之前,都會給出提示,讓用戶來確定是否執(zhí)行
?????? find . -name "datafile" -ctime -1 -exec ls -l {} \; 找到文件名為datafile*, 同時創(chuàng)建實(shí)際為1天之內(nèi)的文件, 然后顯示他們的明細(xì).
?????? find . -name "datafile" -ctime -1 -exec rm -f {} \; 找到文件名為datafile*, 同時創(chuàng)建實(shí)際為1天之內(nèi)的文件, 然后刪除他們.
?????? find . -name "datafile" -ctime -1 -ok ls -l {} \; 這兩個例子和上面的唯一區(qū)別就是-ok會在每個文件被執(zhí)行命令時提示用戶, 更加安全.
?????? find . -name "datafile" -ctime -1 -ok rm -f {} \;
?????? 1) find . -name?? 基于文件名查找,但是文件名的大小寫敏感.???
?????? find . -name "datafile*"
???
?????? 2) find . -iname? 基于文件名查找,但是文件名的大小寫不敏感.
?????? find . -iname "datafile*"
???
?????? 3) find . -maxdepth 2 -name fred 找出文件名為fred,其中find搜索的目錄深度為2(距當(dāng)前目錄), 其中當(dāng)前目錄被視為第一層.
???????
?????? 4) find . -perm 644 -maxdepth 3 -name "datafile*"? (表示權(quán)限為644的, 搜索的目錄深度為3, 名字為datafile*的文件)
???
?????? 5) find . -path "./rw" -prune -o -name "datafile*" 列出所有不在./rw及其子目錄下文件名為datafile*的文件。
?????? find . -path "./dir*" 列出所有符合dir*的目錄及其目錄的文件.
?????? find . \( -path "./d1" -o -path "./d2" \) -prune -o -name "datafile*" 列出所有不在./d1和d2及其子目錄下文件名為datafile*的文件。
???
?????? 6) find . -user ydev 找出所有屬主用戶為ydev的文件。
?????? find . ! -user ydev 找出所有屬主用戶不為ydev的文件, 注意!和-user之間的空格。
???
?????? 7) find . -nouser??? 找出所有沒有屬主用戶的文件,換句話就是,主用戶可能已經(jīng)被刪除。
???
??????

???
?????? 9) find . -nogroup??? 找出所有沒有屬主用戶組的文件,換句話就是,主用戶組可能已經(jīng)被刪除。
???
?????? 10) find . -mtime -3[+3] 找出修改數(shù)據(jù)時間在3日之內(nèi)[之外]的文件。
?????? find . -mmin? -3[+3] 找出修改數(shù)據(jù)時間在3分鐘之內(nèi)[之外]的文件。
?????? find . -atime -3[+3] 找出訪問時間在3日之內(nèi)[之外]的文件。
?????? find . -amin? -3[+3] 找出訪問時間在3分鐘之內(nèi)[之外]的文件。
?????? find . -ctime -3[+3] 找出修改狀態(tài)時間在3日之內(nèi)[之外]的文件。
?????? find . -cmin? -3[+3] 找出修改狀態(tài)時間在3分鐘之內(nèi)[之外]的文件。
???
?????? 11) find . -newer eldest_file ! -newer newest_file 找出文件的更改時間 between eldest_file and newest_file。
?????? find . -newer file???? 找出所有比file的更改時間更新的文件
?????? find . ! -newer file 找出所有比file的更改時間更老的文件
???????
?????? 12) find . -type d??? 找出文件類型為目錄的文件。
?????? find . ! -type d? 找出文件類型為非目錄的文件。
?????? b - 塊設(shè)備文件。
?????? d - 目錄。
?????? c - 字符設(shè)備文件。
?????? p - 管道文件。
?????? l - 符號鏈接文件。
?????? f - 普通文件。
???????
?????? 13) find . -size [+/-]100[c/k/M/G] 表示文件的長度為等于[大于/小于]100塊[字節(jié)/k/M/G]的文件。
???
?????? 14) find . -empty 查找所有的空文件或者空目錄.
???
?????? 15) find . -type f | xargs grep "ABC"
?????? 使用xargs和-exec的區(qū)別是, -exec可能會為每個搜索出的file,啟動一個新的進(jìn)程執(zhí)行-exec的操作, 而xargs都是在一個進(jìn)程內(nèi)完成, 效率更高.
???
2.?? crontab:
?????? 文件格式如下(每個列之間是使用空格分開的):
?????? 第1列分鐘1~59
?????? 第2列小時1~23(0表示子夜)
?????? 第3列日1~31
?????? 第4列月1~12
?????? 第5列星期0~6(0表示星期天)
?????? 第6列要運(yùn)行的命令
???
?????? 分 時 日 月 星期 要運(yùn)行的命令
???
?????? 30 21* * * /apps/bin/cleanup.sh
?????? 上面的例子表示每晚的21:30運(yùn)行/apps/bin目錄下的cleanup.sh。
?????? 45 4 1,10,22 * * /apps/bin/backup.sh
?????? 上面的例子表示每月1、10、22日的4:45運(yùn)行/apps/bin目錄下的backup.sh。
?????? 10 1 * * 6,0 /bin/find -name "core" -exec rm {} \;
?????? 上面的例子表示每周六、周日的1:10運(yùn)行一個find命令。
?????? 0,30 18-23 * * * /apps/bin/dbcheck.sh
?????? 上面的例子表示在每天18:00至23:00之間每隔30分鐘運(yùn)行/apps/bin目錄下的dbcheck.sh。
?????? 0 23 * * 6 /apps/bin/qtrend.sh
?????? 上面的例子表示每星期六的11:00pm運(yùn)行/apps/bin目錄下的qtrend.sh。
???
?????? -u 用戶名。
?????? -e 編輯crontab文件。
?????? -l 列出crontab文件中的內(nèi)容。
?????? -r 刪除crontab文件。
?????? 系統(tǒng)將在/var/spool/cron/目錄下自動保存名為<username>的cron執(zhí)行腳本.
?????? cron是定時完成的任務(wù), 在任務(wù)啟動時,一般來講都是重新啟動一個新的SHELL, 因此當(dāng)需要使用登錄配置文件的信息,特別是環(huán)境變量時,是非常麻煩的.
?????? 一般這種問題的使用方法如下:
?????? 0 2 * * * ( su - USERNAME -c "export LANG=en_US; /home/oracle/yb2.5.1/apps/admin/1.sh"; ) > /tmp/1.log 2>&1
?????? 如果打算執(zhí)行多條語句, 他們之間應(yīng)使用分號進(jìn)行分割. 注: 以上語句必須在root的帳戶下執(zhí)行.
???
3.?? nohup:
?????? nohup command &
?????? 如果你正在運(yùn)行一個進(jìn)程,而且你覺得在退出帳戶時該進(jìn)程還不會結(jié)束,那么可以使用nohup命令。該命令可以在你退出帳戶之后繼續(xù)運(yùn)行相應(yīng)的進(jìn)程。
?????? Nohup就是不掛起的意思(no hang up)。
???
4.?? cut:
?????? 1) cut一般格式為:cut [options] file1 file2
?????? -c list 指定剪切字符數(shù)。
?????? -f field 指定剪切域數(shù)。
?????? -d 指定與空格和tab鍵不同的域分隔符。
?????? -c 用來指定剪切范圍,如下所示:
?????? -c1,5-7 剪切第1個字符,然后是第5到第7個字符。
?????? -c2- 剪切第2個到最后一個字符
?????? -c-5 剪切最開始的到第5個字符
?????? -c1-50 剪切前50個字符。
?????? -f 格式與-c相同。
?????? -f1,5 剪切第1域,第5域。
?????? -f1,10-12 剪切第1域,第10域到第12域。
?????? 2) 使用方式:
?????? cut -d: -f3 cut_test.txt (基于":"作為分隔符,同時返回field 3中的數(shù)據(jù)) *field從0開始計算。
?????? cut -d: -f1,3 cut_test.txt (基于":"作為分隔符,同時返回field 1和3中的數(shù)據(jù))
?????? cut -d: -c1,5-10 cut_test.txt(返回第1個和第5-10個字符)
???
5.?? sort:????
?????? 1) 對文件內(nèi)容進(jìn)行排序,缺省分割符為空格,如果自定義需要使用-t選擇,如-t:
?????? 2) 使用分隔符分割后,第一個field為0,awk中為1
?????? 3) 具體用法如下:
?????? sort -t: sort_test.txt(缺省基于第一個field進(jìn)行排序,field之間的分隔符為":")
?????? sort -t: -r sort_test.txt(缺省基于第一個field進(jìn)行倒序排序,field之間的分隔符為":")
?????? sort -t: +1 sort_test.txt(基于第二個field進(jìn)行排序,field之間的分隔符為":")
?????? sort +3n sort_test.txt(基于第三個field進(jìn)行排序,其中n選項(xiàng)提示是進(jìn)行"數(shù)值型"排序)
?????? sort -u? sort_test.txt(去除文件中重復(fù)的行,同時基于整行進(jìn)行排序)
?????? sort -o output_file -t: +1.2[n] sort_text.txt(基于第二個field,同時從該field的第二個字符開始,這里n的作用也是"數(shù)值型"排序,并將結(jié)果輸出到output_file中)
?????? sort -t: -m +0 filename1 filename2(合并兩個文件之后在基于第一個field排序)
6.?? pgrep和pkill:
?????? 查找和殺死指定的進(jìn)程, 他們的選項(xiàng)和參數(shù)完全相同, 這里只是介紹pgrep
?????? /> sleep 100&
?????? 1000
?????? /> sleep 100&
?????? 1001
???
?????? /> pgrep sleep
?????? 1000
?????? 1001
?????? /> pgrep -d: sleep??? # -d定義多個進(jìn)程之間的分隔符, 如果不定義則使用newline
?????? 1000:1001
?????? /> pgrep -n sleep??? # -n表示如果該程序有多個進(jìn)程,查找最新的.
?????? 1001
?????? /> pgrep -o? sleep??? # -o表示如果該程序有多個進(jìn)程,查找最老的.
?????? 1000???
?????? /> pgrep -G root,oracle sleep # -G 表示進(jìn)程的group id在-G后面的組列表中的進(jìn)程會被考慮
?????? 1000
?????? 1001
?????? /> pgrep -u root,oracle sleep # -u 表示進(jìn)程的effetive user id在-u后面的組列表中的進(jìn)程會被考慮
?????? 1000
?????? 1001
?????? /> pgrep -U root,oracle sleep # -U 表示進(jìn)程的real user id在-u后面的組列表中的進(jìn)程會被考慮
?????? 1000
?????? 1001
?????? /> pgrep -x sleep # -x 表示進(jìn)程的名字必須完全匹配, 以上的例子均可以部分匹配
?????? 1000
?????? 1001
?????? /> pgrep -x sle
???
?????? /> pgrep -l sleep # -l 將不僅打印pid,也打印進(jìn)程名
?????? 1000 sleep
?????? 1001 sleep
?????? /> pgrep -lf sleep # -f 一般與-l合用, 將打印進(jìn)程的參數(shù)
?????? 1000 sleep 100
?????? 1001 sleep 100
???
?????? /> pgrep -f sleep -d, | xargs ps -fp
?????? UID??????? PID? PPID? C STIME TTY????????? TIME CMD
?????? root????? 1000? 2138? 0 06:11 pts/5??? 00:00:00 sleep 1000
?????? root????? 1001? 2138? 0 06:11 pts/5??? 00:00:00 sleep 1000
7.?? fuser:
?????? fuser -m /dev??? # 列出所有和/dev設(shè)備有染的進(jìn)程pid.
?????? fuser testfile??? # 列出和testfile有染的進(jìn)程pid
?????? fuser -u testfile # 列出和testfile有染的進(jìn)程pid和userid
?????? fuser -k testfile # 殺死和testfile有染的進(jìn)程pid
8.?? mount:
如何在unix下面mount一個windows下面的共享目錄
?????? mount -t smbfs -o username=USERNAME,password=PASSWORD //windowsIp/pub_directory? /mountpoint??
?????? /> mkdir -p /mnt/win32
?????? /> mount -o username=administrator,password=1234 //10.1.4.103/Mine /mnt/win32
?????? /> umount /mnt/win32??????? # 卸載該mount.
9.?? netstat:
-a 表示顯示所有的狀態(tài)
-l 則只是顯示listen狀態(tài)的,缺省只是顯示connected
-p 顯示應(yīng)用程序的名字
-n 顯示ip、port和user等信息
-t 只顯示TCP的連接
/> netstat -apnt
/> netstat -lpnt????? #如果只是顯示監(jiān)聽端口的狀態(tài),可以使用該命令
10. tune2fs:
調(diào)整ext2/ext3文件系統(tǒng)特性的工具
-l 查看文件系統(tǒng)信息
/> tune2fs -l /dev/sda1? #將會列出所有和該磁盤分區(qū)相關(guān)的數(shù)據(jù)信息,如Inode等。
/> tune2fs -l /dev/sda1 | grep -i "block size"????? #查看當(dāng)前文件系統(tǒng)的塊兒尺寸
/> tune2fs -l /dev/sdb1 |grep -i "mount count"?? #查看 mount count 掛載次數(shù)
11.? 開啟或關(guān)閉Linux(iptables)防火墻
????? 重啟后永久性生效:
????? /> chkconfig iptables on???????? #開啟
????? /> chkconfig iptables off???????? #關(guān)閉
???
????? 即時生效,重啟后還原:
????? /> service iptables start??????? #開啟
????? /> service iptables stop???????? #關(guān)閉?
12.? tar 分卷壓縮和合并
????? 以每卷500M為例
????? />tar cvzpf - somedir | split -d -b 500m??? #tar分卷壓縮
????? />cat x* > mytarfile.tar.gz????????????????????? #tar多卷合并
13.? 把man或info的信息存為文本文件
????? /> man tcsh | col -b > tcsh.txt
????? /> info tcsh -o tcsh.txt -s
14.? 查看正在執(zhí)行進(jìn)程的線程數(shù)
????? />ps -eo "args nlwp pid pcpu"
15.? 使用md5sum計算文件的md5
????? /> md5sum test.c
????? 07af691360175a6808567e2b08a11724? test.c
????? /> md5sum test.c > hashfile
????? /> md5sum –c hashfile???? # 驗(yàn)證hashfile中包含的md5值和對應(yīng)的文件,在執(zhí)行該命令時是否仍然匹配, 如果此時test.c被修改了,該命令將返回不匹配的警告.
16.? 在ps命令中顯示進(jìn)程的完整的命令行參數(shù)
????? />ps auwwx
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
