婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > UNIX命令行慣用語ibm官方完整版本

UNIX命令行慣用語ibm官方完整版本

熱門標簽:濟南智能語音電銷機器人加盟 易聯系統外呼營銷來回呼 無錫ai智能語音電銷機器人廠家 電銷機器人怎么打卡 江西意向度高的羿智云外呼系統 河南語音電銷機器人加盟公司 無錫真人電銷機器人供應商 如何找電銷機器人 抖音商家地圖標注入駐店

當您到使用不同語言的國家去旅行時,可能需要掌握一些關鍵的日常用語,如“這個東西多少錢?”、“這是什么肉?”以及“洗手間在何處?”。記住這些簡短的日常用語可以確保別人不會對您定購的三明治要價太高,并且在需要上廁所的時候,您知道該去何處。

UNIX® 也具有自己的方言,在過去的 6 個月中,這個對話 UNIX 系列為 UNIX 命令行慣用語提供了速成教程。這個月我們將介紹一些有用的短語,它們能夠使您立即成為地道的 UNIX 用戶。帶上牙刷,穿上舒適的鞋子,并且更新您的慣用語。我們要出門迎接陽光、沙灘和貝殼。(置身于陽光和沙灘中,面朝海灘,打開便攜式計算機,然后閱讀本專欄。可不要忘了抹點防曬油。)

開始學習之旅

在以前的對話 UNIX 專欄(請參見參考資料部分)中曾多次介紹了 find 命令,這是一種非常有用的實用工具,可用于掃描并處理各種文件,甚至整個 UNIX 文件系統。例如,我經常將 find 與 grep 或者 Perl 一起使用,以便對大量的文件進行處理。您需要了解在一大段代碼中的何處定義了變量或常量嗎?可以嘗試下面的命令:


復制代碼
代碼如下:

$ find /path/to/src -type f | xargs grep -H -I -i -n string

該命令的輸出是一個文件名列表,其中包含 string,包括行編號和匹配的特定文本。在每個匹配的文件名和行編號的前面分別加上了 -H 和 -n 選項。-i 選項忽略大小寫。-I(大寫“I”)跳過二進制文件。

您以前可能沒有見過 xargs,它將使用列出的所有選項運行您所指定的命令,在本示例中是 grep,每次使用通過標準輸入提供的一個參數。假設 /path/to/src 目錄包含文件 a、b 和 c,使用 find 與 xargs 等價于:


復制代碼
代碼如下:

grep -H -I -i -n string a
grep -H -I -i -n string b
grep -H -I -i -n string c

事實上,搜索文件集是一項常見的工作,所以 grep 具有相應的選項以遞歸遍歷整個文件系統層次結構。可以使用 -d recurse 或其同義詞 -R 或者 -r。例如,可以使用:


復制代碼
代碼如下:

$ grep -H -I -i -n -R string/path/to/src

這個命令與 find/xargs 完成相同的任務。(您將發現,許多與文件相關的 UNIX 實用工具都具有遞歸選項。ls -R 可以遞歸地列出層次結構中的內容。chmod、chgrp 和 chown 使用 -R 可以遞歸地將模式、組和所有權變更應用到整個文件系統層次結構。在使用 chmod -R 時,請多加小心。如果刪除了目錄的執行位,比如 chmod -R a-x,您可能會使得一個目錄變得不可使用。為了更具選擇性,可以使用 find . -type f | xargs chmod a-x。)

那么,什么時候應該使用 find/xargs,什么時候應該使用 grep 呢?當需要具有一定的選擇性時,可以使用 find。find 命令具有許多選項,使得您可以選擇滿足特定要求的文件,如“所有在午夜后修改過的、并由 Joe 擁有的常規文件”。否則,使用 grep -R 就可以了。

另一種實用工具可能比 find 使用起來更加方便,并且速度更快。如果您打算根據名稱來查找一個文件,那么可以嘗試使用 locate 來代替 find -name。locate 命令周期性地(大約每天一次,由系統管理員設置)為系統中所有的文件編制目錄,并構建一個由路徑和文件名組成的數據庫。當您運行 locate 時,它將掃描其私有的數據庫,嘗試進行匹配。

例如,運行查詢 locate '*.1',將得到名稱以 .1 結尾的所有文件和目錄。(前面的星號表示匹配任何字符串。)為了方便起見,運行 locate fish 命令與運行 locate '*fish*' 是相同的。

貨幣替換

有許多 UNIX 實用工具可以對文件進行修改。在大多數情況下,可以將經過修改的內容發送到標準輸出,您可以使用重定向操作符對其進行進一步的處理(使用管道“|”)或捕獲其中的結果(使用 > 或 >> 操作符)。

其他的實用工具(那些通常可以一次處理許多文件的工具)可以出于安全考慮而保留原始文件,并為修改后的內容生成一個新的文件。例如,您可以直接在命令行中使用 Perl 對文件進行處理。以下命令:


復制代碼
代碼如下:

$ perl -i.bak -pe 's/\bdollar(s?)/buck\1/g' file.txt

將“dollar”替換為“buck”,將“dollars”替換為“bucks”。perl -i 命令在原地對 file.txt 進行修改,而 perl -i.bak 則為原始文件建立一個副本,并在其名稱后面添加 .bak,以區別于新的、經過修改的版本。因此,如下的命令:


復制代碼
代碼如下:

perl -i.bak -pe 's/\bdollar(s?)/buck\1/g' *

將為當前目錄中每個文件創建一個備份。假設有文件 file1.txt、file2.txt 和 file3.txt,那么您將得到 file1.txt.bak、file2.txt.bak 和 file3.txt.bak。錯誤操作時常發生,所以建立備份是明智之舉。

如果出現了錯誤,并且必須恢復原始文件,您只需輸入:


復制代碼
代碼如下:

mv file1.txt.bak file1.txt

。但是,如果有數百個文件 需要進行重命名,那又應該怎么辦呢?當然,您并不希望輸入數百個單獨的 mv 命令。相反,您可以輸入下面的命令:


復制代碼
代碼如下:

foreach file in (*.txt)
do
mv $file.bak $file
done

它適用于一些簡單的情況,如本示例中的情況。然而,這類任務非常常見,可以使用另一種特殊的實用工具,它能夠更快速地完成這項任務。以下命令:


復制代碼
代碼如下:

$ rename 's/\.bak$//' *.bak

執行了相同的任務。正則表達式 s/\.bak$// 將命令行中列出的每個文件名后面的 .bak 刪去,在本示例中是 * 或所有文件,并使用縮短后的名稱作為目標文件名。

當文件名沒有什么規律時,rename 命令尤其有用。例如,可以考慮下面這個目錄中的內容,它看起來像一個大學一年級新生的信件集合。


復制代碼
代碼如下:

$ ls
RenT.txt bEErMoNey.txt gASmoNey.TXt

上面的 foreach 腳本無法處理這個問題,因為這些文件名毫無規律可循。而 rename 可以輕松地對其進行處理:


復制代碼
代碼如下:

$ rename 'y/A-Z/a-z/' *

正則表達式 y/A-Z/a-z/ 中的 y 操作符用于進行轉換。轉換工作需要兩個列表:一個原始字符列表和一個替換字符列表。如果這兩個列表大小相同,那么在這段文本中,將原始列表中第一個字符的實例替換為替換列表中的第一個字符。換句話說,在本示例中,每個大寫“A”的實例都將替換為小寫“a”、“B”替換為“b”,依此類推。文本中的小寫字母保持不變。

如果您需要先對 rename 所執行的工作進行預覽,那么可以添加 -n 選項。這個選項可以顯示該命令所執行的工作,但并不真正地進行這些更改:


復制代碼
代碼如下:

$ rename -n 'y/A-Z/a-z/' *
RenT.txt renamed as rent.txt
bEErMoNey.txt renamed as beermoney.txt
gASmoNey.TXt renamed as gasmoney.txt
$ rename 'y/A-Z/a-z/' *
$ ls
beermoney.txt gasmoney.txt rent.txt

其中有一個缺點需要避免:在 UNIX 系統中,文件名是區分大小寫的。一個目錄中可能包含 Aa.Txt 和 aA.txT。如上所述,可以編寫一條重命名規則將區分大小寫的文件名轉換為小寫文件名,這樣可能會與以前已存在的唯一的文件名發生沖突。在這種情況下,rename 將如何操作呢?讓我們來看一下:


復制代碼
代碼如下:

$ rename -n 'y/A-Z/a-z/' *
Aa.Txt renamed as aa.txt
aA.txT renamed as aa.txt
$ rename 'y/A-Z/a-z/' *
aA.txT not renamed: aa.txt already exists
$ ls
aA.txT aa.txt

如果您希望在進行重命名的過程中刪除現有的文件,那么可以添加 -f 標志。在這個示例中,將得到一個名為 aa.txt 的文件。那么哪個文件是其原始文件呢?因為 rename 按照字母順序進行處理,后面的 aA.txT 文件是現在的 aa.txt。為什么要使用 -f 呢?如果兩個文件是相同的,僅僅是名稱不同,rename -f 會刪除重復的文件。

不要刪除重復的文件

文件管理是使用 UNIX 系統時非常重要的工作。系統中包含大量的配置文件。您可能擁有非常多的數據文件和個人文件。您可能不時地需要刪除或覆蓋某個有價值的文件。Shell 和一些文件管理實用工具可以幫助您避免災難。

在 Shell 提示符處輸入下面的命令。這些命令可以在 bash 中執行,但 zsh 和其他 Shell 也具有類似的選項。


復制代碼
代碼如下:

$ alias mv=mv -i
$ alias rm=rm -i
$ set -o noclobber

前兩個命令分別在命令行中將 mv 替換為 mv -i、將 rm 替換為 rm -i。交互式的模式強制您對操作進行確認。

第三個命令在 Shell 中提供了一定的安全性。啟用了 noclobber 之后,您就不會一不小心使用 > 重定向操作符覆蓋某個文件:


復制代碼
代碼如下:

$ ls
secret.txt
$ cat > secret.txt
bash: secret.txt: cannot overwrite existing file

要禁用 noclobber,可以輸入:


復制代碼
代碼如下:

set +o noclobber

。您還可以在任何時候使用 >|(一個小于號加上一個豎線)重定向操作符強制進行覆蓋。


復制代碼
代碼如下:

$ cat secret.txt
I love green eggs and ham.
$ echo "No more secrets" >| secret.txt
$ cat secret.txt
No more secrets

關于本地的一些秘密

如果您真的希望發現一個城市,那么您得到當地的公眾聚談之處走訪一下。下面是一些命令行的組合,相當于提供旅游資訊的 Zagat。

mkdir -p 可以快速地創建層次結構。使用 -p 選項后,mkdir 將為指定路徑創建所有的目錄和子目錄:


復制代碼
代碼如下:

$ mkdir -p make/many/directories/at/once
$ ls -R
./make:
many/p> p>./make/many:
directories/p> p>./make/many/directories:
at/p> p>./make/many/directories/at:
once/p> p>./make/many/directories/at/once:

如果您需要了解下一個發薪日的時間,只需要輸入 cal。不帶任何參數時,cal 將顯示當前月份的日歷。cal -3 命令顯示上個月、這個月和下個月的日歷,而 cal 06 2009 將顯示 2009 年 6 月的日歷。(我的生日是那一年的某個星期一!)


復制代碼
代碼如下:

$ cal/p> p> November 2006
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
$ cal 06 2009/p> p> June 2009
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

因為 UNIX 具有許多命令,所以不太可能記住所有實用工具的所有選項。事實上,有時候甚至記不住實用工具的名稱。

在遇到困難時,可以求助于 man。例如,要查看如何使用 man 本身,可以輸入 man man。使用 man rm 和 man mv,您還可以查看有關 rm 和 mv 的解釋。并且,如果清楚需要查找的主題,那么您可以使用 man -k 查找與該主題相關的 man 頁面列表。


復制代碼
代碼如下:

$ man -k cron
cron (8) - daemon to execute scheduled commands (Vixie Cron)
crontab (1) - maintain crontab files for individual users (V3)
crontab (5) - tables for driving cron
dh_installcron (1) - install cron scripts into etc/cron.*

在本示例中,man 找出了一些實用工具的 man 頁面,其中有一行描述內容中包含單詞 cron。這些 man 頁面中可能解釋了如何使用 cron,這是一個負責系統任務調度的守護進程。

那么其中的數值代表什么含義呢?每個數值表示聯機 UNIX 手冊中的一個部分。第 1 部分保留用于 UNIX 用戶可以在 Shell 中運行的所有命令。第 5 部分描述了一些文件格式。第 8 部分對系統管理命令進行了編目。其他的部分描述了系統調用 (2)、庫調用 (3),等等。

正如您所看到的,大多數命令都會產生某類輸出。大多數命令行命令使用標準輸出來顯示結果。但其他的一些命令則使用標準輸出和標準錯誤,并按順序顯示處理過程和錯誤消息。如果您希望忽略這類輸出(這是非常有價值的,因為它通常可以干預命令行中執行的操作),那么可以將輸出重定向到 UNIX bit bucket,/dev/null。這些位只能進,不能出。

下面是一個簡單的示例:


復制代碼
代碼如下:

$ ls
secret.txt
$ cat secret.txt
I am the Walrus.
$ cat secret.txt > /dev/null
$ cat socrates.txt > /dev/null
cat: socrates.txt: No such file or directory
$ cat socrates.txt > /dev/null
$ echo Done.
Done.

如果將 cat 的標準輸出重定向到 /dev/null,那么將不會顯示任何內容,因為已將所有的位發送到了虛擬的“永久豎向文件”。然而,如果出現了錯誤,將顯示發送到標準錯誤的錯誤消息。如果您希望忽略所有的輸出,可以使用 > 操作符以便將 stdout 和 stderr 丟棄。

您還可以將 /dev/null 作為一個長度為零的文件,以清空現有的文件或者創建新的空白文件:


復制代碼
代碼如下:

$ cat secret.txt
Anakin Skywalker is Darth Vader.
$ cp /dev/null secret.txt
$ cat secret.txt
$ echo "The moon is made of cheese!" > secret.txt
$ cat secret.txt
The moon is made of cheese!
$ cat /dev/null > secret.txt
$ cat secret.txt
$ cp /dev/null newsecret.txt
$ cat newsecret.txt
$ echo Done.

Done.順便提一下,如果您在 Macintosh 中使用 UNIX,那么可以在一個終端窗口中嘗試 open 命令。例如,如果當前工作目錄中有一個名為 poodle.jpg 的文件,命令 open poodle.jpg 將啟動 Preview 并打開 poodle.jpg,Preview 是 Mac OS X 中內置的圖像查看器。Mac OS X open 是命令行和 Macintosh 的窗口環境之間的紐帶,并且它比借助于 Finder 要快得多。

下面來總結一下!
噢!盡管這是一輛高速行駛的列車,但現在您已經做好了準備,可以更深入地探索 UNIX。您甚至了解了在不需要某些內容時,應該將其丟棄。

和以前一樣,還有更多的內容需要介紹。在以后的幾個月中,對話 UNIX 系列將深入研究作業控制、正則表達式(一種奇怪的方言,但并不難掌握)、如何編譯從 Internet 上下載的新的實用工具,等等。

不要忘了抹點防曬油喲!

標簽:常德 濱州 河源 宿州 綏化 亳州 保山 江蘇

巨人網絡通訊聲明:本文標題《UNIX命令行慣用語ibm官方完整版本》,本文關鍵詞  UNIX,命令行,慣,用語,ibm,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《UNIX命令行慣用語ibm官方完整版本》相關的同類信息!
  • 本頁收集關于UNIX命令行慣用語ibm官方完整版本的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    色诱视频网站一区| 久久精品国产77777蜜臀| 精品在线播放免费| 亚洲综合偷拍欧美一区色| 国产精品久久久久婷婷二区次| 制服视频三区第一页精品| 一本久久综合亚洲鲁鲁五月天| 日日夜夜一区二区| 亚洲精品va在线观看| 中文字幕欧美一| 中文字幕av资源一区| 国产婷婷色一区二区三区| 91精品国产综合久久香蕉的特点| 91碰在线视频| 色综合久久久久综合99| 91毛片在线观看| 欧美日韩国产影片| 精品久久五月天| 久久久精品天堂| 国产精品美女www爽爽爽| 99精品一区二区| 欧美午夜影院一区| 黄页视频在线91| 成人a区在线观看| 蜜臀av性久久久久蜜臀aⅴ四虎 | 日韩一区二区三区视频在线| 91精品国产综合久久久久久| 日韩午夜在线影院| 国产精品久久免费看| 亚洲国产成人tv| 国产一区激情在线| 在线精品视频小说1| 91精品国产色综合久久ai换脸| 日本一区二区免费在线 | 亚洲资源中文字幕| 国产成人av电影在线观看| 91福利国产成人精品照片| 精品国产一区二区三区四区四| 亚洲欧美日韩久久| 国产+成+人+亚洲欧洲自线| 色成年激情久久综合| 日韩天堂在线观看| 日韩影视精彩在线| 91高清视频免费看| 一区二区久久久久久| 成人h版在线观看| 欧美日韩视频在线第一区| 国产精品久99| 成人激情黄色小说| 欧美一区二区视频在线观看2020| 亚洲福利视频一区二区| 色综合天天做天天爱| 亚洲女人****多毛耸耸8| 寂寞少妇一区二区三区| 久久亚洲一级片| 成人av电影在线| 国产mv日韩mv欧美| 精品国产乱码久久久久久浪潮| 日本欧美一区二区| 精品免费国产二区三区| 成人性生交大片免费看视频在线| 精品国产不卡一区二区三区| 蜜臀国产一区二区三区在线播放| 精品少妇一区二区三区在线视频| 男人操女人的视频在线观看欧美| 欧美在线观看视频一区二区| 亚洲一区二区五区| 久久人人超碰精品| 91在线小视频| 韩国视频一区二区| 亚洲综合色噜噜狠狠| 精品国产一区二区三区av性色 | 一级特黄大欧美久久久| 久久久久久久久久久久久久久99| 最新中文字幕一区二区三区| 色婷婷亚洲综合| 高清国产一区二区| 国内国产精品久久| 欧美aaaaaa午夜精品| 国产精品乱码妇女bbbb| 精品人在线二区三区| 欧美视频自拍偷拍| 在线看日韩精品电影| 色综合中文字幕国产| 国产成人亚洲综合a∨猫咪| 日韩经典一区二区| 亚洲一区二区在线免费观看视频| 欧美日韩国产a| 中文字幕欧美三区| 欧美一级高清片| 欧美一卡2卡三卡4卡5免费| 色婷婷亚洲婷婷| 欧美在线观看一区二区| 色激情天天射综合网| www.欧美日韩| 欧美妇女性影城| 欧美激情中文字幕一区二区| 国产欧美一区二区三区在线老狼| 精品成a人在线观看| 精品国产一区二区精华| 国产成人在线视频播放| 99久久婷婷国产综合精品 | 奇米色777欧美一区二区| 亚洲精品成人悠悠色影视| 国产精品嫩草影院com| 久久久久久久久久久久久女国产乱 | 色综合久久久久综合| 一本久道久久综合中文字幕 | 亚洲综合色区另类av| 亚洲老妇xxxxxx| 日日欢夜夜爽一区| 九九九久久久精品| 欧美一区二区精美| 国产午夜精品久久久久久免费视| 久久日韩精品一区二区五区| 久久免费看少妇高潮| 中文字幕av不卡| 精品久久久影院| 日韩高清在线电影| 成人av在线资源网站| 欧美色窝79yyyycom| 欧美tickling网站挠脚心| 欧美国产一区在线| 国产成人免费视频| 色综合久久久久网| 亚洲国产高清aⅴ视频| 亚洲综合清纯丝袜自拍| 美女网站视频久久| 国产一区二区不卡在线| 亚洲精品在线电影| 日一区二区三区| 久久精品亚洲乱码伦伦中文| 成人教育av在线| 欧美日韩午夜在线| 国产精品网曝门| 欧美aaaaaa午夜精品| 6080国产精品一区二区| 亚洲午夜在线电影| 91福利社在线观看| 亚洲天天做日日做天天谢日日欢 | 成人免费视频一区二区| 国产sm精品调教视频网站| 色偷偷久久人人79超碰人人澡| 久久久久久电影| 激情久久久久久久久久久久久久久久| 色偷偷久久一区二区三区| 国产精品福利电影一区二区三区四区 | 午夜精品视频在线观看| 97se狠狠狠综合亚洲狠狠| 国产精品乱子久久久久| 国产99久久精品| 亚洲欧洲综合另类| 欧美日韩一区二区三区在线 | 高清不卡一二三区| 国产精品无圣光一区二区| 成人免费毛片片v| 5858s免费视频成人| 国产资源精品在线观看| 色噜噜久久综合| 亚洲柠檬福利资源导航| 91麻豆精品国产91久久久久久| 男人的天堂亚洲一区| 国产精品青草久久| 欧美精品v国产精品v日韩精品| 亚洲综合图片区| 亚洲最大的成人av| 欧美激情一区三区| 欧美顶级少妇做爰| 91久久精品一区二区三区| 三级精品在线观看| 国产精品三级电影| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 美腿丝袜亚洲色图| ww久久中文字幕| 欧美一二三区在线| 成人开心网精品视频| 国产精品自拍av| 久久国产综合精品| 免费看日韩精品| 国产色产综合产在线视频| 91麻豆6部合集magnet| 日本女人一区二区三区| 日韩黄色小视频| 天天影视涩香欲综合网| 亚洲美女视频一区| 欧美日韩视频不卡| 国产传媒一区在线| 亚洲婷婷在线视频| 一级中文字幕一区二区| 欧美日本一道本在线视频| 欧美日韩成人在线| 欧美做爰猛烈大尺度电影无法无天| 成人禁用看黄a在线| 久久99精品久久久久久久久久久久| 激情综合色综合久久综合| 九色综合狠狠综合久久| 成人免费视频免费观看| www.欧美色图| 久久精品夜夜夜夜久久| 亚洲综合丁香婷婷六月香|