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

下 Linux系統(tǒng)文件命令精通指南( 二 )


Diff 和 Date 。顧名思義,Diff 比較兩個(gè)文件 。它返回那些導(dǎo)致文件不同的行,并返回關(guān)于如何使文件變得相同的一些含義隱晦的輸出:
$ diff test.out test2.out
0a1
> Another test.
在這里我們被告知,需要將 "Another test." 這一行添加到 test.out,以便使它與 test2.out 相似 。第一個(gè)字符 "0" 是要在 test.out 中編輯的行號(hào);"a" 表示該行應(yīng)該被添加到 test.out,以便與 test2.out 的第一行 "1" 相匹配 。如果我們需要更改 test.out,則第二個(gè)字符也可以是 "c",而如果我們需要從 test.out 中刪除一些內(nèi)容,則第二個(gè)字符是 "d" 。
您可能希望使一個(gè)文件與另一個(gè)文件相似,以便為某些代碼提供補(bǔ)丁 。diff 還經(jīng)常作為分析工具,用于驗(yàn)證程序或腳本 — 例如 sed 腳本 — 的輸出是否是所預(yù)期的輸出 。
date 命令可用于顯示或設(shè)置日期 。如果用戶具有超級(jí)用戶權(quán)限,則他或她可以通過在以下命令中提供一個(gè)數(shù)字型字符串來設(shè)置日期:
$ date 0101010004
此命令將日期設(shè)置為 2004 年 (04) 1 月 1 日 (0101) 凌晨 1 時(shí) (0100) 。
但是,任何用戶可以用所需的格式來顯示日期 。注意在格式序列之前需要一個(gè)加號(hào) " " 。如果沒有出現(xiàn)此命令的預(yù)期輸出,則嘗試將它包含在單引號(hào)中:
$ date"%H%M%S"
204748
您可以在序列中包含空格,這時(shí)您需要使用雙引號(hào):
$ date"%H %M %S"
20 47 51
在日期的主頁上列有三十多種不同的格式序列,這些序列可以按需要結(jié)合起來,以獲得您最后的輸出格式 。
date 的輸出還可以用于腳本中,如:
$ date -d "2 day"
Thu Jan 29 19:02:02 EST 2004
-d 選項(xiàng)指示 date 顯示其后字符串中所描述的時(shí)間 。在上例中,我們要求顯示從現(xiàn)在起(2004 年 1 月 27 日)兩天后的日期 。我們也可以要求顯示三天前的日期,其命令為:
$ date -d "-3 day"
Sun Jan 25 20:56:59 EST 2004
date 多種功能的另一個(gè)示例是能夠向其輸出附加字符串,為生成唯一的文件名提供了一種便利的方法 。
$ ls -l | cat > $(datels_%d%b%y%H%M.out)
$ ls ls_*.out
ls_04Feb041633.out
在這里,我們將一個(gè)長(zhǎng)文件列表的輸出傳送給 cat,它將我們的輸出再傳送到一個(gè)名為 ls_04Feb041609.out 的文件 。注意我們?yōu)槲募褂昧艘粋€(gè)變量,由美元符號(hào) "$" 表示 。依次將 "ls_" 和 ".out" 附加到日期,其格式為月份中的日 (%d)、本地的月份名稱縮寫 (%b)、年份的最后兩位數(shù)字 (%y)、小時(shí) (%H) 和分鐘 (%M),從而產(chǎn)生此文件名 。
Sort 和 Uniq 。您可以從管道或從命令行所指定的文件對(duì)文本文件的行進(jìn)行 sort 操作 。除非另外指定,sort 對(duì)多列輸出的第一列進(jìn)行操作 。在默認(rèn)情況下,除非使用 -n 選項(xiàng),數(shù)字型的列按字母順序排序 。
Sort 列可以用兩種不同的格式指定 。如果使用 -k 選項(xiàng),則列的位置從 1 開始進(jìn)行編號(hào) 。您還可以使用POS1 格式,從第一列編號(hào)為零開始進(jìn)行列的編號(hào) 。以下兩個(gè)命令產(chǎn)生相同的輸出:

$ ls -l *.out | sort5 -7
$ ls -l *.out | sort -k 6,8
-rw-r--r-- 1 bluher users 375 Dec 5 2002 fdisk.out
-rw-r--r-- 1 bluher users 2447 Dec 28 20:15 ls.out
-rw-r--r-- 1 bluher users 590 Jan 4 21:24 greps.out
-rw-r--r-- 1 bluher users 78 Jan 4 21:25 sgrep.out
...
在默認(rèn)情況下,sort 命令的列分隔符是空格和制表符 ??梢允褂?-t SEP 選項(xiàng)指定其他分隔符,其中 SEP 是您指定的分隔符號(hào) 。sort 的默認(rèn)順序是從最低到最高,利用 -r 選項(xiàng)可以將順序顛倒 。
Sort 可用于很多不同的任務(wù) 。例如,它可用于對(duì)文件輸出進(jìn)行排序(如 /etc/passwd),或者如我們?cè)谙旅嫠吹降哪菢?,?duì) du 的輸出進(jìn)行排序 。當(dāng)使用 -m 選項(xiàng)時(shí),sort 將文件合并,實(shí)際上并沒有對(duì)它們進(jìn)行排序 。但是,如果您希望將它們排序,就應(yīng)該在文件合并前對(duì)它們排序 。

推薦閱讀