cat命令
cat – concatenate files and print on the standard output(连接文件并在标准输出上输出)
- 常见用法:
- cat [OPTION]… [FILE]…
- -n:给显示的文本行编号
- -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]]
- -c:显示每行的重复次数
- -u:仅显示未曾重复过的行
- -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]…
- -n:基于数值大小而非字符进行排序
- -t [CHAR]:指定分隔符
- -k #:用于排序比较的字段
- -r:逆序排序
- -f:忽略字符大小写
- -u:重复的行只保留一份(重复行:连续且相同)
- 使用实例:
- 取出当前系统上被用户当做其默认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
- 将/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
- 取出/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…]
- —color=auto:对匹配到的文本着色后高亮显示
- -i:忽略字符的大小写
- -o:仅显示匹配到的字符串本身
- -v:显示不能被模式匹配到的行
- -E:支持使用扩展的正则表达式元字符
- -q:静默模式,即不输出任何信息
- -A #:after, 后#行
- -B #:before,前#行
- -C #:context,前后各#行
- 使用实例:
- 取出当前主机的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
- 列出/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]…
- -l:输出行数
- -w:输出单词数
- -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.178linux.com/91119