1、显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录[root@localhost ~]# ls -d /var/l*[[:digit:]]*[[:lower:]]
/var/ladw23fsret
/var/ljjie3424sjfAAa:
2、显示/etc目录下以任意一位数字开头,且以非数字结尾的文件或目录[root@localhost ~]# ls -d /etc/[[:digit:]]*[^[:digit:]]
/etc/334adawdad
/etc/12adniwda:
3、显示/etc/目录下以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件或目录[root@localhost ~]# ls -d /etc/[^[:alpha:]]*[[:alpha:]]?*
/etc/334adawdad /etc/334adawdad123
/etc/12adniwda:
4、显示/etc目录下所有以m开头以非数字结尾的文件或目录[root@localhost ~]# ls /etc/m*[^[:digit:]] -d
/etc/machine-id /etc/man_db.conf /etc/modules-load.d /etc/my.cnf
/etc/magic /etc/maven /etc/motd /etc/my.cnf.d
/etc/mailcap /etc/mime.types /etc/mtab
/etc/mail.rc /etc/mke2fs.conf /etc/mtools.conf
/etc/makedumpfile.conf.sample /etc/modprobe.d /etc/multipath
5、显示/etc目录下,所有以.d结尾的文件或目录[root@localhost ~]# ls -d /etc/*.d
/etc/bash_completion.d /etc/ipsec.d /etc/profile.d /etc/rwtab.d
/etc/binfmt.d /etc/ld.so.conf.d /etc/rc0.d /etc/sane.d
/etc/chkconfig.d /etc/libibverbs.d /etc/rc1.d /etc/setuptool.d
/etc/cron.d /etc/logrotate.d /etc/rc2.d /etc/statetab.d
/etc/depmod.d /etc/modprobe.d /etc/rc3.d /etc/sudoers.d
/etc/dnsmasq.d /etc/modules-load.d /etc/rc4.d /etc/sysctl.d
/etc/dracut.conf.d /etc/my.cnf.d /etc/rc5.d /etc/tmpfiles.d
/etc/exports.d /etc/oddjobd.conf.d /etc/rc6.d /etc/usb_modeswitch.d
/etc/gdbinit.d /etc/pam.d /etc/rc.d /etc/xinetd.d
/etc/grub.d /etc/popt.d /etc/request-key.d /etc/yum.repos.d
/etc/init.d /etc/prelink.conf.d /etc/rsyslog.d
6、显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录[root@localhost ~]# ls -d /etc/[mnrp]*.conf
/etc/man_db.conf /etc/nfsmount.conf /etc/pbm2ppa.conf /etc/request-key.conf /etc/rsyslog.conf
/etc/mke2fs.conf /etc/nsswitch.conf /etc/pnm2ppa.conf /etc/resolv.conf
/etc/mtools.conf /etc/numad.conf /etc/radvd.conf /etc/rsyncd.conf
7、显示当前系统上root、fedora、或user1用户的默认shell[root@localhost ~]# grep -e "^root\b" -e "^fedora\b" -e "^user1\b" /etc/passwd
root:x:0:0:root:/root:/bin/bash
[root@localhost ~]# grep -e "^root\b" -e "^fedora\b" -e "^user1\b" /etc/passwd|cut -d: -f7
/bin/bash[root@localhost ~]# egrep "^(root|fedora|user1)\b" /etc/passwd
root:x:0:0:root:/root:/bin/bash
[root@localhost ~]# egrep "^(root|fedora|user1)\b" /etc/passwd|cut -d: -f7
/bin/bash
8、找出/etc/rc.d/init.d/functions文件中某单词后跟一组小括号的行[root@localhost ~]# grep "\b[[:alpha:]]\+\b()" /etc/rc.d/init.d/functions
checkpid() {
daemon() {
killproc() {
pidfileofproc() {
pidofproc() {
status() {
success() {
failure() {
passed() {
warning() {
action() {
strstr() {
9、使用echo命令输出一个路径,而后使用grep取出其基名[root@localhost ~]# echo "/etc/init.d/functions" |grep -o "[^/]\+\?$"
functions
10、找出ifconfig命令结果中的1-255之间的数[root@localhost ~]# egrep "\b([1-9]|[1-9][0-9]|1[0-9][0-9]|2([0-4][0-9]|5[0-5]))\b" a
123
2
34
255
1
1、显示/etc/rc.d/rc.sysinit中以#开头,且后面跟一个或多个空白字符,而后又跟了任意非空白字符的行[root@localhost ~]# grep "^#[[:space:]]\+.\+" /etc/rc.d/init.d/functions
# -*-Shell-script-*-
# functions This file contains functions to be used by most or all
# shell scripts in the /etc/init.d directory.
# Make sure umask is sane
# Set up a default search path.
# Get a sane screen width
.......
2、查找/proc/cpuinfo文件中关键字,并显示前后1行[root@localhost ~]# grep -C1 "model name" /proc/cpuinfo
model : 94
model name : Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
stepping : 3
--
model : 94
model name : Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
stepping : 3
--
model : 94
model name : Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
stepping : 3
--
model : 94
model name : Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
stepping : 3
3、查找包含至少一个 root关键字 的文件[root@localhost ~]# grep -lr "root" /etc
/etc/X11/xinit/Xclients
/etc/X11/xinit/xinitrc
/etc/X11/xinit/xinitrc.d/zz-liveinst.sh
/etc/pki/tls/certs/make-dummy-cert
/etc/pki/tls/openssl.cnf
/etc/pki/ca-trust/ca-legacy.conf
/etc/pki/ca-trust/extracted/README
/etc/pki/ca-trust/extracted/java/README
......
4、查找文本中的所有QQ邮箱[root@localhost ~]# grep "[1-9][0-9]{4,10}@qq.com$" mail_list.txt
5、查找/etc/fstab中default和dev两个关键字[root@localhost ~]# grep -e "default" -e "dev" /etc/fstab
# Accessible filesystems, by reference, are maintained under '/dev/disk'
UUID=1aa7af5a-15a0-4cf2-a11d-8304d67c7093 / xfs defaults 0 0
UUID=2fb41265-5d13-4ef0-82f6-3147009bd1a5 /boot xfs defaults 0 0
UUID=a5a6b450-ba91-4e5b-a5ad-a17e12a2a994 /testdir xfs defaults 0 0
UUID=1d6f94c4-7eb4-430c-b143-b63b498c1c98 swap
6、查找/etc目录下,所有包含root关键字的文件并显示文件路径及文件名[root@localhost ~]# grep -lr "root" /etc/
/etc/X11/xinit/Xclients
/etc/X11/xinit/xinitrc
/etc/X11/xinit/xinitrc.d/zz-liveinst.sh
/etc/pki/tls/certs/make-dummy-cert
/etc/pki/tls/openssl.cnf
/etc/pki/ca-trust/ca-legacy.conf
/etc/pki/ca-trust/extracted/README
/etc/pki/ca-trust/extracted/java/README
/etc/pki/ca-trust/extracted/java/cacerts
/etc/pki/ca-trust/extracted/openssl/README
/etc/pki/ca-trust/extracted/pem/README
/etc/rpm/macros.perl-srpm
........
7、监控日志文档中产生Error的行,并只打印包含Error的行tailf /var/www/logs/error.log | grep --line-buffered "Error"--line-buffered是不断刷新缓存的选项,当文件较大时可能会导致效率下降
8、过滤functions文件中,以单词或者单词前面跟了一个”_“开头的行,并显示前后2行[root@localhost ~]# egrep -C2 "^[_[:alnum:]]+\(\)" /etc/rc.d/init.d/functions
# Check if any of $pid (could be plural) are running
checkpid() {
local i
--
# local in the caller.
# Returns LSB exit code for the 'status' action.
__pids_var_run() {
local base=${1##*/}
local pid_file=${2:-/var/run/$base.pid}
--
# Output PIDs of matching processes, found using pidof
__pids_pidof() {
pidof -c -m -o $$ -o $PPID -o %PPID -x "$1" || \
pidof -c -m -o $$ -o $PPID -o %PPID -x "${1##*/}"
--