文本查看及處理工具

文本查看及處理工具

wc

wc命令用來計算數字。利用wc指令我們可以計算文件的Byte數、字數或是列數

語法

wc(選項)(參數)

選項

-c或--bytes或——chars:只顯示Bytes數;
-l或——lines:只顯示列數;
-w或——words:只顯示字數。

參數

文件:需要統計的文件列表

實例

[root@localhost tmp]# cat test
hello world
hello world
hello everyone
[root@localhost tmp]# wc test
 3  6 39 test
[root@localhost tmp]# wc -c test
39 test
[root@localhost tmp]# wc -l test
3 test
[root@localhost tmp]# wc -w test
6 test

cut

cut命令用來顯示行中的指定部分,刪除文件中指定字段

語法

cut(選項)(參數)

選項

-b:僅顯示行中指定直接范圍的內容;
-c:僅顯示行中指定范圍的字符;
-d:指定字段的分隔符,默認的字段分隔符為“TAB”;
-f:顯示指定字段的內容;
-n:與“-b”選項連用,不分割多字節字符;
--complement:補足被選擇的字節、字符或字段;
--out-delimiter=<字段分隔符>:指定輸出內容是的字段分割符;

參數

文件:指定要進行內容過濾的文件

實例

    [root@localhost ~]# cat /tmp/test
    No      Name    Mark    Percent
    01      tom     69      91
    02      jack    71      87
    03      alex    68      98
  • 顯示第二列內容,第二、四列,前二列,從第二到第四列
    [root@localhost ~]# cut -f 2 /tmp/test
    Name
    tom
    jack
    alex
    [root@localhost ~]# cut -f 2,4 /tmp/test
    Name    Percent
    tom     91
    jack    87
    alex    98
    [root@localhost ~]# cut -f -2 /tmp/test
    No      Name
    01      tom
    02      jack
    03      alex
    [root@localhost ~]# cut -f 2-4 /tmp/test
    Name    Mark    Percent
    tom     69      91
    jack    71      87
    alex    68      98
    
  • 使用指定分隔符
    [root@localhost ~]# cat /tmp/test2
    No Name Mark Percent
    01 tom 69 91
    02 jack 71 87
    03 alex 68 98
    [root@localhost ~]# cut -f 2 -d " " /tmp/test2
    Name
    tom
    jack
    alex
    
  • 顯示指定字符,第一個字符,第二到第五個字符,第二和第五個字符
    [root@localhost ~]# cut -c 1 /tmp/test2
    N
    0
    0
    0
    [root@localhost ~]# cut -c 2-5 /tmp/test2
    o Na
    1 to
    2 ja
    3 al
    [root@localhost ~]# cut -c 2,5 /tmp/test2
    oa
    1o
    2a
    3l
    

sort

sort命令是在Linux里非常有用,它將文件進行排序,并將排序結果標準輸出。sort命令既可以從特定的文件,也可以從stdin中獲取輸入。

語法

sort(選項)(參數)

選項

-b:忽略每行前面開始出的空格字符;
-c:檢查文件是否已經按照順序排序;
-d:排序時,處理英文字母、數字及空格字符外,忽略其他的字符;
-f:排序時,將小寫字母視為大寫字母;
-i:排序時,除了040至176之間的ASCII字符外,忽略其他的字符;
-m:將幾個排序號的文件進行合并;
-M:將前面3個字母依照月份的縮寫進行排序;
-n:依照數值排序;
-o<輸出文件>:將排序后的結果存入制定的文件;
-r:以相反的順序來排序;
-t<分隔字符>:指定排序時所用的欄位分隔字符;
+<起始欄位>-<結束欄位>:以指定的欄位來排序,范圍由起始欄位到結束欄位的前一欄位。

 -k選項的具體語法格式

    k選項的語法格式,如下:

    [ FStart [ .CStart ] ] [ Modifier ] [ , [ FEnd [ .CEnd ] ][ Modifier ] ]

    語法格式可以被其中的逗號(“,”)分為兩大部分,Start部分和End部分。

    “如果不設定End部分,那么就認為End被設定為行尾”。

    Start部分也由三部分組成,其中的Modifier部分就是類似n和r的選項部分。

    其中Start部分的FStart和C.Start:

    C.Start也是可以省略的,省略的話就表示從本域的開頭部分開始。

    FStart.CStart,其中FStart就是表示使用的域,而CStart則表示在FStart域中從第幾個字符開始算“排序首字符”。

    同理,在End部分中,你可以設定FEnd.CEnd,如果你省略.CEnd,則表示結尾到“域尾”,即本域的最后一個字符?;蛘?,如果你將CEnd設定為0(零),也是表示結尾到“域尾”。

參數

文件:指定待排序的文件列表。

實例

[root@localhost ~]# cat /tmp/test3
aaa:10:1.1
ccc:30:3.3
ddd:40:4.4
bbb:20:2.2
eee:50:5.5
eee:50:5.5
  • 默認升序排序
    [root@localhost ~]# sort /tmp/test3
    aaa:10:1.1
    bbb:20:2.2
    ccc:30:3.3
    ddd:40:4.4
    eee:50:5.5
    eee:50:5.5
    
  • 忽略相同行 -u 等同于 | uniq
    [root@localhost ~]# sort -u /tmp/test3
    aaa:10:1.1
    bbb:20:2.2
    ccc:30:3.3
    ddd:40:4.4
    eee:50:5.5
    

選項k實例

    [root@localhost ~]# cat /tmp/test3
    google 110 5000
    baidu 100 5000
    guge 50 3000
    sohu 100 4500

按第一列首字母排列

[root@localhost ~]# sort -t " " -k1 /tmp/test3
baidu 100 5000
google 110 5000
guge 50 3000
sohu 100 4500

按第二列數值排序

[root@localhost ~]# sort -n -t " " -k2 /tmp/test3
guge 50 3000
baidu 100 5000
sohu 100 4500
google 110 5000

按第二列數值排序,如相同按照第三列數值排序

[root@localhost ~]# sort -n -t " " -k2 -k3 /tmp/test3
guge 50 3000
sohu 100 4500
baidu 100 5000
google 110 5000

按第三列數值排序,如相同按第二列數值排降序

[root@localhost ~]# sort -n -t " " -k3 -k2r /tmp/test3
guge 50 3000
sohu 100 4500
google 110 5000
baidu 100 5000

對每一列進行排序時,要按照數值大小進行排序

[root@localhost ~]# sort  -t " " -nk3 -nk2r /tmp/test3
guge 50 3000
sohu 100 4500
google 110 5000
baidu 100 5000

從第一列第二個字符進行排序

[root@localhost ~]# sort -t " " -k 1.2 /tmp/test3
baidu 100 5000
sohu 100 4500
google 110 5000
guge 50 3000

uniq

uniq命令用于報告或忽略文件中的重復行,一般與sort命令結合使用。

語法

uniq(選項)(參數)

選項

-c或——count:在每列旁邊顯示該行重復出現的次數;
-d或--repeated:僅顯示重復出現的行列;
-f<欄位>或--skip-fields=<欄位>:忽略比較指定的欄位;
-s<字符位置>或--skip-chars=<字符位置>:忽略比較指定的字符;
-u或——unique:僅顯示出一次的行列;
-w<字符位置>或--check-chars=<字符位置>:指定要比較的字符。

參數

  • 輸入文件:指定要去除的重復行文件。如果不指定此項,則從標準讀取數據;
  • 輸出文件:指定要去除重復行后的內容要寫入的輸出文件。如果不指定此選項,則將內容顯示到標準輸出設備(顯示終端)。

實例

    [root@localhost ~]# cat /tmp/test3
    google 110 5000
    baidu 100 5000
    guge 50 3000
    sohu 100 4500
    baidu 100 6000
    google 110 5000
  • 統計重復的次數
    [root@localhost ~]# sort /tmp/test3 | uniq -c
          1 baidu 100 5000
          1 baidu 100 6000
          2 google 110 5000
          1 guge 50 3000
          1 sohu 100 4500
    
  • 只顯示重復的行
    [root@localhost ~]# sort /tmp/test3 | uniq -d
    google 110 5000
    
  • 顯示不重復的行
    [root@localhost ~]# sort /tmp/test3 | uniq -u
    baidu 100 5000
    baidu 100 6000
    guge 50 3000
    sohu 100 4500
    

diff

diff命令在最簡單的情況下,比較給定的兩個文件的不同。diff命令是以逐行的方式,比較文本文件的異同處。

語法

    diff(選項)(參數)

選項

-<行數>:指定要顯示多少行的文本。此參數必須與-c或-u參數一并使用;
-a或——text:diff預設只會逐行比較文本文件;
-b或--ignore-space-change:不檢查空格字符的不同;
-B或--ignore-blank-lines:不檢查空白行;
-c:顯示全部內容,并標出不同之處;
-C<行數>或--context<行數>:與執行“-c-<行數>”指令相同;
-d或——minimal:使用不同的演算法,以小的單位來做比較;
-D<巨集名稱>或ifdef<巨集名稱>:此參數的輸出格式可用于前置處理器巨集;
-e或——ed:此參數的輸出格式可用于ed的script文件;
-f或-forward-ed:輸出的格式類似ed的script文件,但按照原來文件的順序來顯示不同處;
-H或--speed-large-files:比較大文件時,可加快速度;
-l<字符或字符串>或--ignore-matching-lines<字符或字符串>:若兩個文件在某幾行有所不同,而之際航同時都包含了選項中指定的字符或字符串,則不顯示這兩個文件的差異;
-i或--ignore-case:不檢查大小寫的不同;
-l或——paginate:將結果交由pr程序來分頁;
-n或——rcs:將比較結果以RCS的格式來顯示;
-N或--new-file:在比較目錄時,若文件A僅出現在某個目錄中,預設會顯示:Only in目錄,文件A 若使用-N參數,則diff會將文件A 與一個空白的文件比較;
-p:若比較的文件為C語言的程序碼文件時,顯示差異所在的函數名稱;
-P或--unidirectional-new-file:與-N類似,但只有當第二個目錄包含了第一個目錄所沒有的文件時,才會將這個文件與空白的文件做比較;
-q或--brief:僅顯示有無差異,不顯示詳細的信息;
-r或——recursive:比較子目錄中的文件;
-s或--report-identical-files:若沒有發現任何差異,仍然顯示信息;
-S<文件>或--starting-file<文件>:在比較目錄時,從指定的文件開始比較;
-t或--expand-tabs:在輸出時,將tab字符展開;
-T或--initial-tab:在每行前面加上tab字符以便對齊;
-u,-U<列數>或--unified=<列數>:以合并的方式來顯示文件內容的不同;
-v或——version:顯示版本信息;
-w或--ignore-all-space:忽略全部的空格字符;
-W<寬度>或--width<寬度>:在使用-y參數時,指定欄寬;
-x<文件名或目錄>或--exclude<文件名或目錄>:不比較選項中所指定的文件或目錄;
-X<文件>或--exclude-from<文件>;您可以將文件或目錄類型存成文本文件,然后在=<文件>中指定此文本文件;
-y或--side-by-side:以并列的方式顯示文件的異同之處;
--help:顯示幫助;
--left-column:在使用-y參數時,若兩個文件某一行內容相同,則僅在左側的欄位顯示該行內容;
--suppress-common-lines:在使用-y參數時,僅顯示不同之處。

參數

  • 文件1:指定要比較的第一個文件;
  • 文件2:指定要比較的第二個文件。

實例

    [root@localhost ~]# cat /tmp/test3 
    google 110 5000
    baidu 100 5000
    guge 50 3000
    sohu 100 4500
    baidu 100 6000
    google 110 5000

    [root@localhost ~]# cat /tmp/test4
    google 200 5000
    baidu 100 5000
    guge 50 3000
    sohu 300 4500
    baidu 100 6000
  • 比較2個文件不同,normal模式
    [root@localhost ~]# diff /tmp/test3 /tmp/test4
    1c1
    < google 110 5000
    ---
    > google 200 5000
    4c4
    < sohu 100 4500
    ---
    > sohu 300 4500
    6d5
    < google 110 5000
    

    diff描述兩個文件不同的方式是告訴我們怎么樣改變第一個文件之后與第二個文件匹配

    1c1:前面的數字表示第一個文件的第一行,后面的數字表示第二個文件的第一行

    操作: a=add   c=change   d=delete

  • 比較2個文件不同,context模式
    [root@localhost ~]# diff -c /tmp/test3 /tmp/test4*** /tmp/test3  2018-03-16 11:07:47.034584349 +0800 //***代表test3--- /tmp/test4  2018-03-16 11:36:01.154251821 +0800 //---代表test4***************                                     //分隔符*** 1,6 ****                                        //test3文件的1-6行! google 110 5000                                     baidu 100 5000  guge 50 3000! sohu 100 4500   baidu 100 6000- google 110 5000--- 1,5 ----                                            //! google 200 5000  baidu 100 5000  guge 50 3000! sohu 300 4500  baidu 100 6000操作 !表示修改,-表示刪除,+表示增加無論這些符號出現在哪個區域,都表示第一個文件需要做出一些操作才能與第二個文件想匹配。
  • 比較2個文件不同,Unified模式
    [root@localhost ~]# diff -u /tmp/test3 /tmp/test4--- /tmp/test3  2018-03-16 11:07:47.034584349 +0800+++ /tmp/test4  2018-03-16 11:36:01.154251821 +0800@@ -1,6 +1,5 @@-google 110 5000+google 200 5000 baidu 100 5000 guge 50 3000-sohu 100 4500+sohu 300 4500 baidu 100 6000-google 110 5000
  • 目錄比較
    [root@localhost tmp]# ll test1總用量 8-r--r--r--. 1 root root   33 1月  30 17:28 machine-id-r--r--r--. 1 root root 2207 1月  30 17:28 mtab[root@localhost tmp]# ll testtest總用量 4-r--r--r--. 1 root root 33 1月  30 17:24 machine-id[root@localhost tmp]# diff -r -q test1 testtest只在 test1 存在:mtab

patch

patch 打補丁。通過diff工具生成補丁,patch工具打上補丁。

語法

path(選項)(參數)

選項

-b或--backup  備份每一個原始文件。
-B<備份字首字符串>或--prefix=<備份字首字符串>  設置文件備份時,附加在文件名稱前面的字首字符串,該字符串可以是路徑名稱。
-c或--context  把修補數據解譯成關聯性的差異。
-d<工作目錄>或--directory=<工作目錄>  設置工作目錄。
-D<標示符號>或--ifdef=<標示符號>  用指定的符號把改變的地方標示出來。
-e或--ed  把修補數據解譯成ed指令可用的敘述文件。
-E或--remove-empty-files  若修補過后輸出的文件其內容是一片空白,則移除該文件。
-f或--force  此參數的效果和指定"-t"參數類似,但會假設修補數據的版本為新 版本。
-F<監別列數>或--fuzz<監別列數>  設置監別列數的最大值。
-g<控制數值>或--get=<控制數值>  設置以RSC或SCCS控制修補作業。
-i<修補文件>或--input=<修補文件>  讀取指定的修補問家你。
-l或--ignore-whitespace  忽略修補數據與輸入數據的跳格,空格字符。
-n或--normal  把修補數據解譯成一般性的差異。
-N或--forward  忽略修補的數據較原始文件的版本更舊,或該版本的修補數據已使 用過。
-o<輸出文件>或--output=<輸出文件>  設置輸出文件的名稱,修補過的文件會以該名稱存放。
-p<剝離層級>或--strip=<剝離層級>  設置欲剝離幾層路徑名稱。
-f<拒絕文件>或--reject-file=<拒絕文件>  設置保存拒絕修補相關信息的文件名稱,預設的文件名稱為.rej。
-R或--reverse  假設修補數據是由新舊文件交換位置而產生。
-s或--quiet或--silent  不顯示指令執行過程,除非發生錯誤。
-t或--batch  自動略過錯誤,不詢問任何問題。
-T或--set-time  此參數的效果和指定"-Z"參數類似,但以本地時間為主。
-u或--unified  把修補數據解譯成一致化的差異。
-v或--version  顯示版本信息。
-V<備份方式>或--version-control=<備份方式>  用"-b"參數備份目標文件后,備份文件的字尾會被加上一個備份字符串,這個字符串不僅可用"-z"參數變更,當使用"-V"參數指定不同備份方式時,也會產生不同字尾的備份字符串。
-Y<備份字首字符串>或--basename-prefix=--<備份字首字符串>  設置文件備份時,附加在文件基本名稱開頭的字首字符串。
-z<備份字尾字符串>或--suffix=<備份字尾字符串>  此參數的效果和指定"-B"參數類似,差別在于修補作業使用的路徑與文件名若為src/linux/fs/super.c,加上"backup/"字符串后,文件super.c會備份于/src/linux/fs/backup目錄里。
-Z或--set-utc  把修補過的文件更改,存取時間設為UTC。
--backup-if-mismatch  在修補數據不完全吻合,且沒有刻意指定要備份文件時,才備份文件。
--binary  以二進制模式讀寫數據,而不通過標準輸出設備。
--help  在線幫助。
--nobackup-if-mismatch  在修補數據不完全吻合,且沒有刻意指定要備份文件時,不要備份文件。
--verbose  詳細顯示指令的執行過程。

參數

  • 文件1:需打補丁的文件;
  • 文件2:補丁文件。

實例

[root@localhost tmp]# cat /tmp/test2
aaa:10:1.1
ccc:30:3.3
ddd:40:4.4
bbb:20:2.2
eee:50:5.5
eee:50:5.5
[root@localhost tmp]# cat /tmp/test3
google 110 5000
baidu 100 5000
guge 50 3000
sohu 100 4500
baidu 100 6000
google 110 5000

[root@localhost tmp]# diff /tmp/test2 /tmp/test3 > /tmp/test.patch
[root@localhost tmp]# cat test.patch
1,6c1,6
< aaa:10:1.1
< ccc:30:3.3
< ddd:40:4.4
< bbb:20:2.2
< eee:50:5.5
< eee:50:5.5
---
> google 110 5000
> baidu 100 5000
> guge 50 3000
> sohu 100 4500
> baidu 100 6000
> google 110 5000

[root@localhost tmp]# patch -p0 /tmp/test2 /tmp/test.patch
patching file /tmp/test2
[root@localhost tmp]# cat /tmp/test2
google 110 5000
baidu 100 5000
guge 50 3000
sohu 100 4500
baidu 100 6000
google 110 5000

綜合實例

  • 列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。
    [root@localhost ~]# who
    root     pts/0        2018-03-16 10:51 (10.88.201.253)
    centos   pts/1        2018-03-16 17:16 (10.88.201.53)
    root     pts/2        2018-03-16 17:16 (10.88.201.253)
    
    [root@localhost ~]# who | cut -d " " -f 1 | sort -u
    centos
    root
    
  • 取出最后登錄到當前系統的用戶的相關信息。
    [root@localhost ~]# last | head -1 | cut -d " " -f 1 | id
    uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
    
  • 取出當前系統上被用戶當作其默認shell的最多的那個shell。
    [root@localhost ~]# cat /etc/passwd | cut -d ":" -f7 | uniq -c | sort -nr | head -1
         12 /sbin/nologin
    
  • 將/etc/passwd中的第三個字段數值最大的后10個用戶的信息全部改為大寫后保存至/tmp/maxusers.txt文件中。
    [root@localhost ~]# cat /etc/passwd | sort -t: -nk3 | tail -10 | tr "a-z" "A-Z" > /tmp/maxuser.txt
    [root@localhost ~]# cat /tmp/maxuser.txt
    NOBODY:X:99:99:NOBODY:/:/SBIN/NOLOGIN
    SYSTEMD-NETWORK:X:192:192:SYSTEMD NETWORK MANAGEMENT:/:/SBIN/NOLOGIN
    TEST2:X:567:1004::/HOME/TEST2:/BIN/BASH
    POLKITD:X:998:996:USER FOR POLKITD:/:/SBIN/NOLOGIN
    SYSTEMD-BUS-PROXY:X:999:997:SYSTEMD BUS PROXY:/:/SBIN/NOLOGIN
    CENTOS:X:1000:1000::/HOME/CENTOS:/BIN/BASH
    TEST:X:1001:1001::/HOME/TEST:/BIN/BASH
    LINUX:X:1002:1003::/HOME/LINUX:/BIN/BASH
    TESTUSER:X:1003:1002::/HOME/TESTUSER:/BIN/BASH
    TESTUSERS:X:1004:1001::/HOME/TEST1:/BIN/BASH
    
  • 取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。
    [root@localhost ~]# ifconfig ens33 
    ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.1.27  netmask 255.255.255.0  broadcast 192.168.1.255
            inet6 fe80::954a:d872:f506:678b  prefixlen 64  scopeid 0x20<link>
            ether 00:0c:29:52:81:1a  txqueuelen 1000  (Ethernet)
            RX packets 76310  bytes 7928110 (7.5 MiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 3877  bytes 668914 (653.2 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    [root@localhost ~]# ifconfig ens33 | grep "\<inet\>" | cut -d " " -f10
    192.168.1.27
    
  • 列出/etc目錄下所有以.conf結尾的文件的文件名,并將其名字轉換為大寫后保存至/tmp/etc.conf文件中。
    [root@localhost ~]# ls /etc/*.conf | tr "a-z" "A-Z" >/tmp/etc.conf
    [root@localhost ~]# cat /tmp/etc.conf
    /ETC/ASOUND.CONF
    /ETC/DNSMASQ.CONF
    /ETC/DRACUT.CONF
    /ETC/E2FSCK.CONF
    /ETC/FUSE.CONF
    /ETC/GEOIP.CONF
    /ETC/HOST.CONF
    /ETC/KDUMP.CONF
    /ETC/KRB5.CONF
    /ETC/LD.SO.CONF
    /ETC/LIBAUDIT.CONF
    /ETC/LIBUSER.CONF
    /ETC/LOCALE.CONF
    /ETC/LOGROTATE.CONF
    /ETC/MAN_DB.CONF
    /ETC/MKE2FS.CONF
    /ETC/NSSWITCH.CONF
    /ETC/RESOLV.CONF
    /ETC/RSYSLOG.CONF
    /ETC/SESTATUS.CONF
    /ETC/SUDO.CONF
    /ETC/SUDO-LDAP.CONF
    /ETC/SYSCTL.CONF
    /ETC/TCSD.CONF
    /ETC/VCONSOLE.CONF
    /ETC/YUM.CONF
    
  • 顯示/var目錄下一級子目錄或文件的總個數
    [root@localhost ~]# ll /var
    total 8
    drwxr-xr-x.  2 root root    6 Nov  5  2016 adm
    drwxr-xr-x.  6 root root   62 Dec 23 22:04 cache
    drwxr-xr-x.  2 root root    6 Nov  7  2016 crash
    drwxr-xr-x.  3 root root   34 Dec 23 22:04 db
    drwxr-xr-x.  3 root root   18 Dec 23 22:04 empty
    drwxr-xr-x.  2 root root    6 Nov  5  2016 games
    drwxr-xr-x.  2 root root    6 Nov  5  2016 gopher
    drwxr-xr-x.  3 root root   18 Dec 23 22:03 kerberos
    -rw-r--r--.  1 root root    0 Mar 12 15:22 la5bc
    drwxr-xr-x.  2 root root   19 Mar 12 15:29 la6bc
    drwxr-xr-x. 24 root root 4096 Mar 12 14:24 lib
    drwxr-xr-x.  2 root root    6 Nov  5  2016 local
    lrwxrwxrwx.  1 root root   11 Dec 23 22:03 lock -> ../run/lock
    drwxr-xr-x.  7 root root 4096 Mar 12 14:24 log
    lrwxrwxrwx.  1 root root   10 Dec 23 22:03 mail -> spool/mail
    drwxr-xr-x.  2 root root    6 Nov  5  2016 nis
    drwxr-xr-x.  2 root root    6 Nov  5  2016 opt
    drwxr-xr-x.  2 root root    6 Nov  5  2016 preserve
    lrwxrwxrwx.  1 root root    6 Dec 23 22:03 run -> ../run
    drwxr-xr-x.  8 root root   87 Dec 23 22:04 spool
    drwxrwxrwt.  4 root root  166 Mar 12 14:25 tmp
    drwxr-xr-x.  2 root root    6 Nov  5  2016 yp
    
    [root@localhost ~]# ll /var | grep '[-d]' | wc -l
    22
    
  • 取出/etc/group文件中第三個字段數值最小的10個組的名字
    [root@localhost ~]# cat /etc/group | sort -t: -nk3 | head -10 | cut -d":" -f 1
    root
    bin
    daemon
    sys
    adm
    tty
    disk
    lp
    mem
    kmem
    
  • 將/etc/fstab和/etc/issue文件的內容合并為同一個內容后保存至/tmp/etc.test文件中
    [root@localhost ~]# cat /etc/fstab /etc/issue > /tmp/etc.test
    [root@localhost ~]# cat /tmp/etc.test
    
    #
    # /etc/fstab
    # Created by anaconda on Sat Dec 23 22:03:02 2017
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk'
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
    #
    /dev/mapper/cl-root     /                       xfs     defaults        0 0
    UUID=738ad172-a69c-4c16-a207-0bed0add31b5 /boot                   xfs     defaults        0 0
    /dev/mapper/cl-swap     swap                    swap    defaults        0 0
    \S
    Kernel \r on an \m

 

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/92649

(0)
eighteenxueighteenxu
上一篇 2018-03-18
下一篇 2018-03-18

相關推薦

  • MongoDB安裝部署手稿

    Edit MongoDB 手冊 MongoDB 手冊 第一章 Introduction MongoDB入門學習目錄(建議) Databases Collections Documents 第二章 部署安裝 1. Import the MongoDB public key 2. Configure the package management system (…

    Linux干貨 2016-03-26
  • N25第三周博客作業

    第三周博客作業: 1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 2、取出最后登錄到當前系統的用戶的相關信息。                  …

    Linux干貨 2016-12-12
  • 2016/10/14作業

    操作類: 1、設置自己的終端提示符,要求終端登陸時:     a> 需要帶顏色      b> 需要顯示當前執行到了第幾條命令      c> 顯示當前登錄終端,主機名和當前時間 首先我們要了解一個環境…

    Linux干貨 2016-10-19
  • 好好學習 天天向上 先試試

    Linux干貨 2016-10-27
  • DNS域名系統

    【本文導航】DNS域名系統DNS域名系統DNS解析類型DNS查詢類型DNS服務器類型資源記錄   SOA記錄   NS記錄   MX記錄   A記錄與泛域名   PTR記錄   CNAME記錄   AAAA記錄子域區域傳…

    Linux干貨 2016-12-26
  • 第四周練習

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限 # cp -a /etc/skel /home/tuser1 # chmod -R go= /home/tuser1 2、編輯/etc/group文件,添加組hadoop #vim /etc/group #hadoop:x:5…

    Linux干貨 2017-10-21
欧美性久久久久