三、(1)常用文本查看及處理命令

cat、cut、uniq、sort、grep、wc命令的使用方法

cat命令

cat – concatenate files and print on the standard output(連接文件并在標準輸出上輸出)

  • 常見用法:
  • cat [OPTION]… [FILE]…
  1. -n:給顯示的文本行編號
  2. -E:顯示行結束符$
  • 使用實例:將/etc/fstab和/etc/issue文件的內容合并為同一個內容后保存至/tmp/etc.test文件中
    [root@localhost var]# cat /etc/fstab /etc/issue > /tmp/etc.test
    

cut命令

cut – remove sections from each line of files(從文件的每一行中提取片段)

  • 常見用法:
    1.-d [CHAR](使用指定符號做字段切分的分隔符)
    2.-f [FIELDS](挑選出指定的字段;”-“可指定連續的多個字段;”,”可指定多個字段)
  • 使用實例:取出root用戶的家目錄和默認shell
    [root@localhost ~]# cat /etc/passwd|grep root
    root:x:0:0:root:/root:/bin/bash
    operator:x:11:0:operator:/root:/sbin/nologin
    [root@localhost ~]# cat /etc/passwd|grep root|head -n 1
    root:x:0:0:root:/root:/bin/bash
    [root@localhost ~]# cat /etc/passwd|grep root|head -n 1|cut -d ':' -f 6
    /root
    [root@localhost ~]# cat /etc/passwd|grep root|head -n 1|cut -d ':' -f 7
    /bin/bash
    [root@localhost ~]# cat /etc/passwd|grep root|head -n 1|cut -d ':' -f 6-7
    /root:/bin/bash
    [root@localhost ~]# cat /etc/passwd|grep root|head -n 1|cut -d ':' -f 6,7
    /root:/bin/bash
    

uniq命令

uniq – report or omit repeated lines(報告或移除重復的行)

  • 常見用法:
  • uniq [OPTION]… [INPUT [OUTPUT]]
  1. -c:顯示每行的重復次數
  2. -u:僅顯示未曾重復過的行
  3. -d:僅顯示重復過的的行
  • 使用實例:計算當前系統上被用戶當做其默認shell的每種shell的次數
    [root@localhost ~]# cat /etc/passwd|head -n 1
    root:x:0:0:root:/root:/bin/bash
    [root@localhost ~]# cat /etc/passwd|cut -d ':' -f 7|uniq -c
        1 /bin/bash
        4 /sbin/nologin
        1 /bin/sync
        1 /sbin/shutdown
        1 /sbin/halt
       27 /sbin/nologin
        1 /bin/bash
    

sort命令

sort – sort lines of text files(對文本文件的內容進行排序,PS:不修改文件內容)

  • 常見用法:
  • sort [OPTION]… [FILE]…
  1. -n:基于數值大小而非字符進行排序
  2. -t [CHAR]:指定分隔符
  3. -k #:用于排序比較的字段
  4. -r:逆序排序
  5. -f:忽略字符大小寫
  6. -u:重復的行只保留一份(重復行:連續且相同)
  • 使用實例:
  1. 取出當前系統上被用戶當做其默認shell的最多的那個shell
    [root@localhost ~]# cut -d : -f 7 /etc/passwd|uniq -c
       1 /bin/bash
       4 /sbin/nologin
       1 /bin/sync
       1 /sbin/shutdown
       1 /sbin/halt
      27 /sbin/nologin
       1 /bin/bash
    [root@localhost ~]# cut -d : -f 7 /etc/passwd|uniq -c|sort -n
       1 /bin/bash
       1 /bin/bash
       1 /bin/sync
       1 /sbin/halt
       1 /sbin/shutdown
       4 /sbin/nologin
      27 /sbin/nologin
    [root@localhost ~]# cut -d : -f 7 /etc/passwd|uniq -c|sort -n|tail -n 1
      27 /sbin/nologin
    [root@localhost ~]# cut -d : -f 7 /etc/passwd|uniq -c|sort -n|tail -n 1|awk '{print $2}'
    /sbin/nologin
    
  2. 將/etc/passwd中的第三個字段數值最大的后10個用戶的信息全部改為大寫后保存至/tmp/maxusers.txt文件中
    [root@localhost ~]# sort -t : -n -k 3 /etc/passwd|tail -n 10|tr 'a-z' 'A-Z' > /tmp/maxusers.txt
    [root@localhost ~]# cat /tmp/maxusers.txt
    SYSTEMD-NETWORK:X:192:192:SYSTEMD NETWORK MANAGEMENT:/:/SBIN/NOLOGIN
    SSSD:X:993:988:USER FOR SSSD:/:/SBIN/NOLOGIN
    GEOCLUE:X:994:989:USER FOR GEOCLUE:/VAR/LIB/GEOCLUE:/SBIN/NOLOGIN
    CHRONY:X:995:990::/VAR/LIB/CHRONY:/SBIN/NOLOGIN
    SETROUBLESHOOT:X:996:993::/VAR/LIB/SETROUBLESHOOT:/SBIN/NOLOGIN
    LIBSTORAGEMGMT:X:997:994:DAEMON ACCOUNT FOR LIBSTORAGEMGMT:/VAR/RUN/LSM:/SBIN/NOLOGIN
    COLORD:X:998:996:USER FOR COLORD:/VAR/LIB/COLORD:/SBIN/NOLOGIN
    POLKITD:X:999:997:USER FOR POLKITD:/:/SBIN/NOLOGIN
    GENTOO:X:1000:1000::/HOME/GENTOO:/BIN/BASH
    NFSNOBODY:X:65534:65534:ANONYMOUS NFS USER:/VAR/LIB/NFS:/SBIN/NOLOGIN
    
  3. 取出/etc/group文件中第三個字段數值最小的10個組的名字
    [root@localhost var]# sort -t : -k 3 -n /etc/group | head -n 10
    root:x:0:
    bin:x:1:
    daemon:x:2:
    sys:x:3:
    adm:x:4:
    tty:x:5:
    disk:x:6:
    lp:x:7:
    mem:x:8:
    kmem:x:9:
    [root@localhost var]# sort -t : -k 3 -n /etc/group | head -n 10 | cut -d : -f 1
    root
    bin
    daemon
    sys
    adm
    tty
    disk
    lp
    mem
    kmem
    

grep命令

grep, egrep, fgrep – print lines matching a pattern(打印匹配給定模式的行)

  • 常見用法:
  • grep [OPTIONS] PATTERN [FILE…]
  • grep [OPTIONS] [-e PATTERN | -f FILE] [FILE…]
  1. —color=auto:對匹配到的文本著色后高亮顯示
  2. -i:忽略字符的大小寫
  3. -o:僅顯示匹配到的字符串本身
  4. -v:顯示不能被模式匹配到的行
  5. -E:支持使用擴展的正則表達式元字符
  6. -q:靜默模式,即不輸出任何信息
  7. -A #:after, 后#行
  8. -B #:before,前#行
  9. -C #:context,前后各#行
  • 使用實例:
  1. 取出當前主機的IP地址
    [root@localhost szhang]# ifconfig ens33|grep -o -E "[[:digit:]]+[.][[:digit:]]+[.][[:digit:]]+[.][[:digit:]]+"
    172.16.100.2
    255.255.255.0
    172.16.100.255
    [root@localhost szhang]# ifconfig ens33|grep -o -E "[[:digit:]]+[.][[:digit:]]+[.][[:digit:]]+[.][[:digit:]]+"|head -n 1
    172.16.100.2
    
  2. 列出/etc目錄下所有以.conf結尾的文件的文件名,并將其名字轉換為大寫后保存至/tmp/etc.conf文件中
    [root@localhost ~]# ls /etc | grep [.]conf$ | tr 'a-z' 'A-Z' > /tmp/etc.conf
    [root@localhost ~]# cat /tmp/etc.conf 
    ASOUND.CONF
    AUTOFS.CONF
    AUTOFS_LDAP_AUTH.CONF
    CGCONFIG.CONF
    CGRULES.CONF
    CGSNAPSHOT_BLACKLIST.CONF
    CHRONY.CONF
    DRACUT.CONF
    E2FSCK.CONF
    FPRINTD.CONF
    FUSE.CONF
    GEOIP.CONF
    HOST.CONF
    IDMAPD.CONF
    KDUMP.CONF
    KRB5.CONF
    LD.SO.CONF
    LIBAUDIT.CONF
    LIBUSER.CONF
    LOCALE.CONF
    LOGROTATE.CONF
    MAN_DB.CONF
    MKE2FS.CONF
    NFS.CONF
    NFSMOUNT.CONF
    NSSWITCH.CONF
    NTP.CONF
    ODDJOBD.CONF
    PBM2PPA.CONF
    PNM2PPA.CONF
    REQUEST-KEY.CONF
    RESOLV.CONF
    RSYNCD.CONF
    RSYSLOG.CONF
    SESTATUS.CONF
    SOS.CONF
    SUDO.CONF
    SUDO-LDAP.CONF
    SYSCTL.CONF
    TCSD.CONF
    TROLLTECH.CONF
    UPDATEDB.CONF
    USB_MODESWITCH.CONF
    VCONSOLE.CONF
    WVDIAL.CONF
    YUM.CONF
    

wc命令

wc – print newline, word, and byte counts for each file(輸出文件中的行數、單詞數、字節數)

  • 常見用法:
  • wc [OPTION]… [FILE]…
  1. -l:輸出行數
  2. -w:輸出單詞數
  3. -c:輸出字符數
  • 使用實例:顯示/var目錄下一級子目錄或文件的總個數
    [root@localhost var]# ll -d /var/*
    drwxr-xr-x.  2 root root   19 Dec  9 16:52 /var/account
    drwxr-xr-x.  2 root root    6 Nov  5  2016 /var/adm
    drwxr-xr-x. 12 root root  144 Jan  9 20:42 /var/cache
    drwxr-xr-x.  2 root root    6 Aug  7  2017 /var/crash
    drwxr-xr-x.  3 root root   34 Dec  9 16:52 /var/db
    drwxr-xr-x.  3 root root   18 Dec  9 16:52 /var/empty
    drwxr-xr-x.  2 root root    6 Nov  5  2016 /var/games
    drwxr-xr-x.  2 root root    6 Nov  5  2016 /var/gopher
    drwxr-xr-x.  3 root root   18 Dec  9 16:45 /var/kerberos
    drwxr-xr-x. 55 root root 4096 Dec  9 18:04 /var/lib
    drwxr-xr-x.  2 root root    6 Nov  5  2016 /var/local
    lrwxrwxrwx.  1 root root   11 Dec  9 16:42 /var/lock -> ../run/lock
    drwxr-xr-x. 18 root root 4096 Apr 11 05:15 /var/log
    lrwxrwxrwx.  1 root root   10 Dec  9 16:43 /var/mail -> spool/mail
    drwxr-xr-x.  2 root root    6 Nov  5  2016 /var/nis
    drwxr-xr-x.  2 root root    6 Nov  5  2016 /var/opt
    drwxr-xr-x.  2 root root    6 Nov  5  2016 /var/preserve
    lrwxrwxrwx.  1 root root    6 Dec  9 16:42 /var/run -> ../run
    drwxr-xr-x. 12 root root  140 Dec  9 16:52 /var/spool
    drwxr-xr-x.  4 root root   28 Dec  9 16:48 /var/target
    drwxrwxrwt.  8 root root 4096 Apr 11 05:16 /var/tmp
    drwxr-xr-x.  2 root root    6 Nov  5  2016 /var/yp
    [root@localhost var]# ll -d /var/* | wc -l
    22

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

(0)
ZSZS
上一篇 2018-01-14 21:30
下一篇 2018-01-15

相關推薦

  • liunx基礎命令

    alias:查看命令別名(別名只針對用戶有效) alias h=hostname(定義別名) cdnet=‘cd /etc/sysconfig/network-scripts/’(帶參數命令的要帶單引號) 想長久生效修改.bashrc文件(root為/root/.bashrc,全部用戶為/etc/bashrc,其他/home/user/.bashrc) un…

    Linux筆記 2018-04-08
  • 追風箏的人

    IO重定向 管道 tr 用戶管理 組管理 文件權限管理 文本處理工具
    Grep和正則表達式 擴展的正則表達式和VIM

    Linux筆記 2018-04-08
  • Linux中RAID詳解

    RAID簡介

    2018-05-05
  • 腳本相關

    變量 echo $name 與 echo “$name” 假如變量是讀取文件,前者會自動縮進成一行,后者保留原有格式 (umask=022,mkdir /f1)括號相當于開啟一個臨時子進程,能讀取當前shall的變量等信息,但是進程號不變,命令結束后恢復剛才狀態 局部變量,環境變量,只讀變量(常量),位置變量,數組 局部變量:只在當前…

    2018-05-14
  • Linux 命令

    screen 創建會話

    2018-04-07
  • 第二周作業

    第二周

    Linux筆記 2018-05-20
欧美性久久久久