UNIXBASIC第8章UNIX實用程序.pptx

上傳人:max****ui 文檔編號:20880367 上傳時間:2021-04-20 格式:PPTX 頁數(shù):66 大?。?01.62KB
收藏 版權申訴 舉報 下載
UNIXBASIC第8章UNIX實用程序.pptx_第1頁
第1頁 / 共66頁
UNIXBASIC第8章UNIX實用程序.pptx_第2頁
第2頁 / 共66頁
UNIXBASIC第8章UNIX實用程序.pptx_第3頁
第3頁 / 共66頁

下載文檔到電腦,查找使用更方便

14.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《UNIXBASIC第8章UNIX實用程序.pptx》由會員分享,可在線閱讀,更多相關《UNIXBASIC第8章UNIX實用程序.pptx(66頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、第8章 UNIX實用程序 8.1.1 文件查找工具find 8.1.2 模式匹配工具grep 8.1.3 排序工具sort 8.1.4 head和tail工具 8.1.5 網(wǎng)絡基本工具 8.1.6 歸檔工具tar8.1 UNIX實用程序(一) 8.2.1 xargs命令 8.2.2 可執(zhí)行文件查找工具 8.2.3 確定文件類型工具(file) 8.2.4 文件比較工具 8.2.5 解壓縮工具 8.2.6 顯示特殊字符8.2 UNIX實用程序(二)習題 掌握find命令的使用掌握grep命令并了解其工作原理掌握sort命令的使用掌握正則表達式的使用掌握head及tail命令的使用掌握如何定位命令

2、所在路徑掌握文件及目錄比較命令掌握文件壓縮命令 l命令語法:find path expressionl功能:1.在指定路徑(一個或多個目錄)和其下所有的子目錄中遞歸的查找符合指定規(guī)則的文件2.顯示找到的文件名或對這些文件執(zhí)行命令 fleasmiscphone1phone2 childlargemediumsmallsyncsizeblue brown greensumwhiteyellowcolor miscoval roundspheresumsyncshapejoehome/ l一般來說find主要用于在指定目錄結構中查找特定文件:$ find . -name sum ./color/su

3、m ./shape/sum l在一些較老的UNIX系統(tǒng)(例如AIX 4.2),如果需要將查找到的文件名打印出來要指定選項-print: $ find . -name sum -print ./color/sum ./shape/sum 場景: 在當前目錄下查找所有以c開頭的文件 $ ls c* c1 c2 $ find . -name c* ./c1 ./c2 ./dir1/c3 ./dir1/c4 ./dir1/dir2/c5 ./dir1/dir2/c6/hometeam01dir1 dir2c1c2 c3c4 c5c6Shell擴展通配符find擴展通配符 l exec選項:對找到的文件

4、執(zhí)行命令,執(zhí)行指定命令時不會產(chǎn)生交互。$ find . -name m* -exec ls -l ;-rw-r-r- 1 joe staff 83 Jan 11 15:55 ./shape/misc-rw-r-r- 1 joe staff 21 Jan 11 16:01 ./size/medium-rw-r-r- 1 joe staff 38 Jan 11 15:34 ./misc匹配的文件名 l ok選項:對找到的文件執(zhí)行命令,執(zhí)行指定命令時產(chǎn)生交互,詢問用戶是否執(zhí)行該命令。 $ find . -name m* -ok rm ; ? y ? y ? n -typefd普通文件目錄文件-siz

5、e+n-n n大于“n”塊(block,512字節(jié))小于“n”塊(block,512字節(jié))等于“n”塊(block,512字節(jié))-mtime+x-x修改日期超過“x”天修改日期小于“x”天-permonummode訪問權限等于“onum” (例如, 755)訪問權限等于“mode” (例如, rwx)-useruser根據(jù)文件的所有者-o邏輯“或”運算-newerfile與參照文件相比較更“新” $ find . -name s* -type f -size +2 -exec ls -l ;-rwxr-xr-x 1 joe staff 1512 Jan 11 15:43 ./color/sum

6、-rwxr-xr-x 1 joe staff 2148 Jan 11 15:57 ./shape/sum$ find . -perm 644 -mtime +4 -print./shape/misc$ find . -name fleas -o -name misc./misc./shape/misc./fleas $ find / -name security -print 2 errfile/var/security/usr/lpp/bos.sysmgt/inst_root/var/security/usr/lib/security/etc/security l命令語法:grep opti

7、ons pattern file1 file2 .l功能:1.從系統(tǒng)的一個或多個文件或從標準輸入中查找匹配指定模式的行。2.指定模式可以是簡單文本或是邏輯結構(正則表達式),正則表達式(Regular Expression)通過通配符來擴展。簡單文本正則表達式 phone1:As of: 1/31/2000Anatole 389-8200Avis Betty 817 422-8345Baker John 656-4333Computer Room CE phone 689-5790Dade Travel Sue 422-5690Hotline HW 800 322-4500phone2:As

8、of: 2/15/2000Anatole 389-8200Avis Betty 817 422-8345 Baker John 656-4333Computer Room CE phone 592-5712Dade Travel Sue 422-5690Hotline HW 800 322-4500 $ grep 800 phone1Hotline HW 800 322-4500$ grep 800 phone*phone1:Hotline HW 800 322-4500phone2:Hotline HW 800 322-4500l第一個例子從文件phone1中找出了包含800的行l(wèi)第二個例子

9、文件名使用了通配符,所以grep會在phone1和phone2中進行搜索 $ ps -ef | grep team01team01 10524 13126 0 09:27:45 pts/1 0:00 kshl找出當前運行的進程中用戶team01的所有進程。通過管道,ps的標準輸出作為grep的標準輸入。$ ps aux | grep httpd.l找出進程名稱包含httpd的進程 l命令語法:grep regular_expression filel正則表達式合法的元字符:.任意單個字符*零個或多個前一個字符aA枚舉:a 或 Aa-f在a-f范圍的任一字符a以a開頭的任一行 Z$以z結尾的任一

10、行 lgrep命令和find命令中使用元字符,都應該用單引號括起來,避免shell對元字符進行擴展。grep grep中的含義shell Shell中的含義作為一行開頭老的管道符號$作為一行結束$表示變量.單個字符?單個字符.*零個或多個字符*多個字符 - 匹配之間的單個字符 - 匹配之間的單個字符 $ grep B phone1Baker John 656-4333$ grep 5$ phone1Avis Betty 817 422-8345$ grep DH phone1Dade Travel Sue 422-5690Hotline HW 800 322-4500$ grep A.*0$

11、phone1As of: 1/31/2000Anatole 389-8200 : 開頭$: 結尾DH: 枚舉.* : 零個或多個任意字符 -V顯示文件中不匹配的行-c僅打印文件中匹配的行數(shù)-l僅顯示有匹配的行的文件名-n顯示匹配行序號-i尋找時忽略大小寫-w模式作為整個字的匹配查找 lfgrep$ fgrep HW phone1Hotline HW 800 322-4500 legrep$ egrep 800|817 phone1 Avis Betty 817 422-8345Hotline HW 800 322-4500 fast grep: 快速查找,只能匹配固定字符串,不支持正則表達式

12、Extended grep: 擴展查找,支持多個模式的查找(或) grep ? l命令語法:sort -t delimiter+field.columnoptionsl功能:對指定文件中所有的行進行排序,并將結果到標準輸出l命令選項:-d按照字典順序僅比較字母、數(shù)字和空格-r反序排列-n對數(shù)字字段按算術值順序排序 -t指定字段的分界符,缺省分界符是空格或tab鍵. $ cat animalsdog.2cat.4elephant.10rabbit.7$ sort animalscat.4dog.2elephant.10rabbit.7$ cat animals | sort +0.1rabbit

13、.7cat.4elephant.10 dog.2$ cat animals | sort -t. -n +1dog.2cat.4rabbit.7elephant.10默認的sort排序 (0.0)按第二個字符排序 (0.1) -t: 分隔符 . -n: 數(shù)值順序 +1: 第二個字段 (1.0) # more /etc/passwd | sort -t: -n +2 -6 root:!:0:0:/:/bin/ksh daemon:!:1:1:/etc: bin:!:2:2:/bin: sys:!:3:3:/usr/sys: adm:!:4:4:/var/adm: uucp:!:5:5:/usr/

14、lib/uucp:$ ls l | moretotal 3-rwxr-xr-x 1 team01 staff 175 Dec 11 21:17 script-rwxr-xr-x 1 team01 staff 47 Dec 11 20:35 script1-rwxr-xr-x 1 team01 staff 318 Dec 11 21:41 test$ ls l | sort +4 -5 -n-rwxr-xr-x 1 team01 staff 47 Dec 11 20:35 script1 -rwxr-xr-x 1 team01 staff 175 Dec 11 21:17 script-rwxr

15、-xr-x 1 team01 staff 318 Dec 11 21:41 testtotal 3 l命令語法:head -number_of_lines file(s)l功能:顯示文件的前n行,默認是10行。$ head -5 myfile$ ls -l | head -12l命令語法:tail -number_of_lines | +starting_line_number file(s)l功能:顯示文件后n行。-n表示顯示文件的最后n行,+n表示從文件的第n行一直顯示到文件尾.-f選項顯示后10行并且動態(tài)刷新.$ tail -20 file $ tail +20 file l遠程登錄工具

16、(telnet)l文件傳輸工具(ftp)l非交互式遠程執(zhí)行工具(rexec,rsh)l安全Shell套件(OpenSSH) 使用telnet命令可以登陸到遠程主機l命令語法:telnet 主機名/ip地址 端口號(默認23)l示例:$ telnet IBM-p610Trying .Connected to IBM-p610.AIX Version 5 (C) Copyright by IBM and others 1982, 1996login: team01 使用ftp命令可以在主機間傳輸文件l命令語法:ftp 主機名/ip地址 端口號(默認21)l示例:$ ftp IBM-p610Conn

17、ected to IBM-p610220 FTP server readyName (IBM-p610: team01): team05Password required for team05.Password: 230 User team05 logged in.ftpftp提示符,等待用戶輸入ftp子命令 常用ftp子命令pwd顯示當前所在目錄cd RemoteDir切換遠程的目錄dir (or) ls -l顯示當前目錄下的內容get ReomteFile localFile下載遠程主機上的文件(到本地)put LocalFile remoteFile上傳本地文件到遠程主機help sub

18、command獲取命令幫助quit (or) bye退出ftp 使用rexec 或 rsh 可以非交互式的執(zhí)行遠程命令.示例:$ rexec sys1 dateName (sys1:team01): team01Password (sys1:team01):Fri Nov 23 14:38:23 EST 2007$ rsh sys1 dateFri Nov 23 14:38:30 EST 2007 $lrexec可以通過使用本地主機的$HOME/.netrc文件保存賬號信息實現(xiàn)自動登錄lrsh 需要在遠程主機的/etc/hosts.equiv或$HOME/.rhosts 配置文件中進行設置才能

19、使用 l提供了更安全的命令來代替telnet, ftp, rexec, rlogin, rcp, rsh.數(shù)據(jù)加密后通過網(wǎng)絡傳輸連接遠程主機前要進行身份校驗(用戶密碼和RSA密鑰雙重驗證)l提供的命令:ssh:遠程登錄和遠程執(zhí)行命令scp:遠程拷貝sftp: 加密FTP$ ssh team01sys1The authenticity of host sys1 (192.168.1.1) cant be established.RSA key fingerprint is 21:b0:91:cb:6b:c7:47:7d:96:8d:73:43:44:e8:e3:8d. Are you sure

20、you want to continue connecting (yes/no)? yesWarning: Permanently added sys1,192.168.1.1 (RSA) to the list of known hosts.team01s password:$ tar (tape archiver)命令用來遞歸的保存目錄中的所有文件,儲存為一個檔案文件(非壓縮)AXI DISK AXItar -cvf /tmp/file.tar .tar -cvf /dev/rmt0 .tar -cvf /dev/fd0 . tar -xvf /dev/rmt0 tar -xvf /dev

21、/fd0 tar -xvf /tmp/file.tar查看檔案文件內容:tar -tvf /dev/rmt0 (or /dev/fd0) -c創(chuàng)建一個歸檔文件-t顯示內容列表 -v顯示詳細的信息-f指定歸檔文件名-r擴展歸檔-x解包歸檔文件名 l The find command is used to recursively search directories for files with particular characteristics.l The grep command is used to select entire lines containing a particular p

22、attern.l The head and tail commands are used to view specific lines in a file.l The sort command sorts the contents of the file by the options specified. 8.2.1 xargs命令 8.2.2 可執(zhí)行文件查找工具 8.2.3 確定文件類型工具(file) 8.2.4 文件比較工具 8.2.5 解壓縮工具 8.2.6 顯示特殊字符8.2 AIX實用程序 (二)習題 l命令語法:command1 | xargs command2l功能:從標準輸入

23、讀取一組參數(shù),并運行一條命令使用該組參數(shù)。 $ cat oldfilelist file1 file2 file3 file4 $ cat oldfilelist | xargs -t rm rm file1 file2 file3 file4file1 file2 file3 file4 $ ls printlist $ vi printlist file1 file2 file3 file4 . file10 $ xargs -t qprt printlist qprt file1 file2 file3 file4 file5 . file10l使用xargs命令,可以一次打印print

24、list文件中列出的所有文件l-t參數(shù)的作用是啟動跟蹤模式,在命令執(zhí)行之前將構造的命令輸出到標準輸出設備。 $ ls | xargs -t -I mv .old mv apple apple.old mv banana banana.old mv carrot carrot.oldl-I 選項通知xargs將ls命令的輸出的每一行插入到位置處。l表示占位符。用戶使用-I選項定義占位符所使用的符號,可以改成其他符號例如等。 lxargs與find組合使用$ find . -type f -mtime +30 | xargs -t rmrm ./file1 ./file2 ./file3 ./fi

25、le4l只使用find$ find . -type f -mtime +30 -exec rm ; l兩種方式的區(qū)別:這兩種方式都可以刪除同樣的文件。第一條命令是rm執(zhí)行4個參數(shù),效率高,而且沒有參數(shù)數(shù)量的限制。第二條命令是find找到的每個文件都去執(zhí)行一次rm,效率低,而且有參數(shù)數(shù)量的限制。 lxargs,find和grep組合使用$ find . -type f | xargs -t grep -l Hellogrep -l Hello ./file5 ./file7 ./file10 ./file7$ find . type f | xargs t grep abcgrep abc ./

26、file1 ./file2 ./file3 ./file4lfind查找當前目錄下的普通文件,這些文件由xargs作為參數(shù)傳給grep進行處理 $ find /home -type f -links +1 | xargs ls li127 -rw-r-r 3 team01 staff 156 July 26 13:11 /home/team01/myfile127 -rw-r-r 3 team01 staff 156 July 26 13:11 /home/team01/yourfile127 -rw-r-r 3 team01 staff 156 July 26 13:11 /home/tea

27、m01/akafilel-links +1 硬鏈接數(shù)大于1l-type f 縮小搜索的范圍(目錄默認的情況的鏈接數(shù)都大于等于2) 如果不使用xargs可以改寫成: $ find /home type f links +1 -exec ls li ;相同的i節(jié)點硬鏈接數(shù)文件大小相同 $ cat $HOME/.kshrcalias mylinks=find . -type f -links +1 | xargs ls -lialias myrm=find . -type f -mtime +30 | xargs rm$ mylinks127 -rw-r-r- 3 team01 staff . /h

28、ome/team01/myfile127 -rw-r-r- 3 team01 staff . /home/team01/yourfile127 -rw-r-r- 3 team01 staff . /home/team02/akafile$ myrmENV=$HOME/.kshrc lfind命令可以查找所有類型的文件,如果只查找可執(zhí)行文件,通常使用: which whereis whencel命令語法:which | whereis | whence 命令名稱 $ which find grep根據(jù)PATH變量定義查找/usr/bin/find/usr/bin/grep$ whereis fi

29、nd grep在預定義路徑中查找find: /usr/bin/findgrep: /usr/bin/grep$ whence -pv find grep根據(jù)alias和PATH查找grep is /usr/bin/grepfind is /usr/bin/find l命令語法:file .l功能:確定文件類型使用配置文件/etc/magic來進行識別 $ file /usr/bin/vi/usr/bin/vi:executable (RISC System/6000) or object module$ file c1c1: ascii text$ file /usr/bin/usr/bin:

30、 directory$ ls filenames$ cat filenamesc1 dir1$ file -f filenamesc1: ascii textdir1: directory AIX提供了三個文件比較的工具:ldifflcmpldircmp l命令語法: diff -options file1 file2l功能:比較兩個文本文件之間的差異逐行分析比較的文本文件將它們之間差異輸出到標準輸出 ldiff命令只能對文本文件使用l命令選項:-w忽略空格鍵和tab鍵-b 忽略開頭的空格鍵和tab鍵, 多個空格鍵看成一個-e 生成適合于ed行編輯器處理的格式ldiff的輸出結果表示: 僅在f

31、ile2中出現(xiàn)的行 $ diff names names.old1c1 Caroline4d3 SamCarolBobJimDonMary CarolineBobJimMarySamnames: () 指令如何將文件file1轉化為文件file21 1 file2第1行內容 將file1的第1行換成file2的第1行4 3 file2第5行內容 將file2的第5行添加到file1的5行之后 l命令語法:cmp -options file1 file2l功能:比較兩個文件是否相同lcmp與diff的區(qū)別:1. diff只能比較文本文件,cmp可以比較所有類型文件2. diff以ascii為比較

32、單位,cmp以bit為比較單位3. cmp比較結果以八進制表示,可讀性很差 $ cmp names names.oldnames names.old differ: byte 6, line 1$ cmp -l names names.old6 12 1517 102 1568 157 145.cmp: EOF on namesl默認只打印第一個不相同的字符l使用-l選項可以顯示詳細的比較信息 l命令語法:dircmp -options dir1 dir2l功能:比較兩個目錄的內容,并將比較結果輸出到標準輸出 /home/team01.profile.sh_historyc1c2 c3c4 c

33、5c6dir1 dir2 /home/team02.profile.sh_historyb1c1c2 $ dircmp -d /home/team01 /home/team02Fri Jan 21 10:31:10 CDT 2000 /home/team01 only and /home/team02 only./dir1 ./b1./dir1/c3./dir1/c4./dir1/dir2./dir1/dir2/c5./dir1/dir2/c6Fri Jan 21 10:31:10 CDT 2000 Comparison of /home/team01 and /home/team02dire

34、ctory .same ./.profiledifferent ./.sh_historydifferent ./c1same ./c2 Fri Jan 21 10:31:10 CDT 2000 diff of ./c1 in /home/team01 and /home/team021c1 Now is the time for all good women第1段:列出每個目錄獨有的文件第2段: 兩個目錄中同名文件的比較第3段:顯示有差異的同名文件的細節(jié) UNIX上常用的解壓縮工具包括:lcompress 壓縮文件luncompress 解壓文件lzcat 不進行解壓查看壓縮文件的內容 $

35、ls -l file1-rw-r-r- 1 team01 staff 13383 July 26 10:10 file1$ compress -v file1file1: Compression 56.99% file1 is replaced with file1.Z$ ls -l file1.Z-rw-r-r- 1 team01 staff 5756 July 26 10:10 file1.Z$ zcat file1.Z(output is the normal output of the uncompressed file)$ uncompress file1.Z$ ls -l file

36、1 -rw-r-r- 1 team01 staff 13383 July 26 10:10 file1 $ cat myfileThis file has tabs and spaces and ends with a return$ cat -vte myfileThisIfileG has tabsIand spaces andIends with aIreturn$選項說明:-v:將非打印字符顯示為可見字符。-t:將tab鍵顯示為I-e:在每一行的末尾顯示一個$符號 $ lsgreatfile myfile$ rm greatfileNo such file$ ls | cat -vtG

37、greatfilemyfile1. rm Ggreatfile2. mv Ggreatfile greatfile3. ls -i 130 Ggreatfile 127 myfile find . -inum 130 -exec rm ;要修正這個錯誤的文件名有三種辦法處理 $ touch myfile$ lsmyfile1288$ dateMon Feb 14 07:20:15 CDT 2001$ date +%m%d%H%M%S0214072015$ touch myfile.$(date +%m%d)$ lsmyfile.0214使用命令替換將文件名附加上日期文件名附加上進程號: $ 1

38、、用一條命令查找系統(tǒng)上所有以”UNIX”開頭的文件。2、下面的命令有什么作用?$ ps -ef | grep -w root | grep -w netscape3、下面的命令有什么作用?$ ls -l /home | egrep txt$ | team01$ | sort -r +7 | tail +4 | head -54、find命令查找時會查找制定的目錄下的整個目錄樹。(T/F)5、find命令中使用的元字符,如果加上引號后,shell會先對其進行元字符擴展,然后再交給find處理。(T/F)6、下列哪個命令能夠確定文件的類型A.cmpB.diffC.fileD.dircmp 7、di

39、ff只能比較文本文件。(T/F)8、compress命令壓縮文件時將刪除原有文件,并將壓縮后的文件加上.z的后綴。 (T/F)9、UNIX環(huán)境中,不可以不做解壓操作而直接查看壓縮文件的內容。(T/F)10、顯示目錄或文件中的非打印字符用下列哪條命令A. ls -liB. cat -vteC. diff -cD. cmp lxargs reads arguments one line at a time from STDIO and assembles as many of them as will fit into one command line.l-links searches for t

40、he number of links in files or directories.lwhich, whereis and whence are used to locate programs.ldiff compares the contents of two text files.lcmp compares the contents of two files of all file types.ldircmp is used to compare the contents of two directories.lcompress compresses data in files using Lempel-Zev coding.lcat -vte displays non-printable characters in a file or directory.

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!