> my_temp_file.txt More text ^D $ cat my_temp_file.txt This is my temp file text More text 使用 curl 命令行實(shí)用工具 我是否可以從命令行訪問(wèn)。UNIX 技巧: UNIX 高手的另外 10 個(gè)習(xí)慣( 三 )。" />

日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

UNIX 技巧: UNIX 高手的另外 10 個(gè)習(xí)慣( 三 )


清單 9.快速向文件附加內(nèi)容
$ cat >> my_temp_file.txt
More text
^D
$ cat my_temp_file.txt
This is my temp file text
More text
使用 curl 命令行實(shí)用工具
我是否可以從命令行訪問(wèn) Web?你瘋了嗎?沒(méi)有,這就是 curl 的用途!curl 命令使您可以使用 HTTP、HTTPS、FTP、FTPS、Gopher、DICT、TELNET、LDAP 或 FILE 協(xié)議從服務(wù)器檢索數(shù)據(jù) 。如清單 10 所示,我可以使用 curl 命令從美國(guó)國(guó)家氣象局了解我所在位置(紐約州布法羅市)的當(dāng)前天氣狀況 。當(dāng)與 grep 命令組合使用時(shí),我可以檢索布法羅市的天氣狀況 。使用 -s 命令行選項(xiàng)來(lái)禁止 curl 處理輸出 。
清單 10. 使用 curl 檢索當(dāng)前天氣狀況
$ curl –s http://www.srh.noaa.gov/data/ALY/RWRALY | grep BUFFALO
BUFFALOMOSUNNY43 22 43 NE13 30.10R
如清單 11 所示,您也可以使用 curl 命令來(lái)下載 HTTP 托管的文件 。使用 -o 參數(shù)來(lái)指定保存輸出的位置 。
清單 11. 使用 curl 下載 HTTP 承載的文件
$ curl -o archive.tar http://www.somesite.com/archive.tar
這實(shí)際上只是您使用 curl 命令可以完成的操作的提示 。您只需在命令提示符處鍵入 man curl 顯示 curl 命令的完整使用信息,就可以開(kāi)始了解更多內(nèi)容 。
最有效地利用正則表達(dá)式
大量 UNIX 命令使用正則表達(dá)式作為參數(shù) 。從技術(shù)角度而言,正則表達(dá)式 是表示某種模式的字符串(也就是說(shuō),由字母、數(shù)字和符號(hào)組成的字符序列),用于定義零或更長(zhǎng)的字符串 。正則表達(dá)式使用元字符(例如,星號(hào) [*] 和問(wèn)號(hào) [?])來(lái)匹配其他字符串的部分或全部?jī)?nèi)容 。正則表達(dá)式不一定包含通配符,但通配符可以使正則表達(dá)式在搜索模式和處理文件時(shí)發(fā)揮更大的作用 。表 1 顯示了一些基本正則表達(dá)式序列 。
表 1. 正則表達(dá)式序列
序列說(shuō)明脫字符 (^)匹配出現(xiàn)在行首的表達(dá)式,例如 ^A 美元符號(hào) ($)匹配出現(xiàn)在行末的表達(dá)式,例如 A$ 反斜杠 ()取消下一個(gè)字符的特殊含義,例如 ^ 方括號(hào) ([])匹配括起來(lái)的任一字符,例如 [aeiou](使用連字符 [-] 表示范圍,例如 [0-9]) 。[^ ] 匹配除括起來(lái)字符以外的任一字符,例如 [^0-9] 句點(diǎn) (.)匹配除行尾之外的任意單個(gè)字符星號(hào) (*)匹配零個(gè)或多個(gè)前驅(qū)字符或表達(dá)式{x,y} 匹配出現(xiàn)過(guò) x 到 y 個(gè)和前面相同的內(nèi)容{x} 精確匹配出現(xiàn)過(guò) x 個(gè)和前面相同的內(nèi)容{x,} 匹配出現(xiàn)過(guò) x 個(gè)或更多和前面相同的內(nèi)容
清單 12 顯示了與 grep 命令一起使用的一些基本正則表達(dá)式 。
清單 12. 使用正則表達(dá)式和 grep
$ # Lists your mail
$ grep '^From: ' /usr/mail/$USER 
$ # Any line with at least one letter 
$ grep '[a-zA-Z]' search-file.txt
$ # Anything not a letter or number
$ grep '[^a-zA-Z0-9] search-file.txt
$ # Find phone numbers in the form 999-9999
$ grep '[0-9]{3}-[0-9]{4}' search-file.txt
$ # Find lines with exactly one character
$ grep '^.$' search-file.txt
$ # Find any line that starts with a period "." 
$ grep '^.' search-file.txt
$ # Find lines that start with a "." and 2 lowercase letters
$ grep '^.[a-z][a-z]' search-file.txt
有大量書(shū)籍專門講述正則表達(dá)式 。有關(guān)命令行正則表達(dá)式的深入描述,建議您閱讀 developerWorks 文章“對(duì)話 UNIX,第 9 部分:正則表達(dá)式 。
確定當(dāng)前用戶
有時(shí),您可能希望確定某個(gè)特定用戶是否運(yùn)行過(guò)您的管理腳本 。為找出答案,您可以使用 whoami 命令來(lái)返回當(dāng)前用戶的名稱 。清單 13 顯示了獨(dú)自運(yùn)行的 whoami 命令;清單 14 顯示了使用 whoami 確保當(dāng)前用戶不是根用戶的 Bash 腳本的摘錄 。
清單 13. 從命令行使用 whoami
$ whoami
John
清單 14. 在腳本中使用 whoami

推薦閱讀