案例一:在 Gnome 桌面下开启命令行终端
# gnome-terminal
案例二:在 Gnome 桌面下开启命令行终端 (最大窗口化)
# gnome-terminal --window --maximize
# gnome-terminal
# gnome-terminal --window --maximize
# vim /etc/yum.conf
添加以下内容:
......
proxy=http://<user>:<password>@<IP address>:<port>/
(
注意:
1) 如果没有用户和密码就写成 proxy=http://<IP address>:<port>/
2) 如果密码中也有一个 “@” 符号,则需要把 “@” 符号转义一下,转义成 %40
)
或者:
# vim /etc/yum.conf
添加以下内容:
......
proxy=http://<IP address>:<port>
proxy_username=<user>
proxy_password=<password>
(注意:如果没有用户和密码就不写后面两行)
或者:
# vim /etc/rhsm/rhsm.conf
添加以下内容:
......
proxy=<IP address>
proxy_port=<port>
proxy_username=<user>
proxy_password=<password>
(注意:如果没有用户和密码就不写后面两行)
# vim /etc/yum.repos.d/<yum source file name prefix>.repo
添加以下内容:
......
proxy=http://<user>:<password>@<IP address>:<port>/
......
(
注意:
1) 如果没有用户和密码就写成 proxy=http://<IP address>:<port>/
2) 如果密码中也有一个 “@” 符号,则需要把 “@” 符号转义一下,转义成 %40
)
或者:
# vim /etc/yum.repos.d/<yum source file name prefix>.repo
添加以下内容:
......
proxy=http://<IP address>:<port>
proxy_username=<user>
proxy_password=<password>
(注意:如果没有用户和密码就不写后面两行)
1) 等级 0 关机模式
2) 等级 1 单用户模式
3) 等级 2 无网络的多用户命令行模式
4) 等级 3 有网络的多用户命令行模式
5) 等级 4 被系统保留
6) 等级 5 带图形界面的多用户模式
7) 等级 6 重启模式
# grep -P '^root' /etc/passwd
或者:
# grep --perl-regexp '^root' /etc/passwd
(补充:这里以匹配 /etc/passwd 文件里开头为 root 的行为例)
# grep -P 'name\\s*=\\s*mingyuzhu' test.txt
或者:
# grep --perl-regexp 'name\\s*=\\s*mingyuzhu' test.txt
(补充:这里以在 test.txt 文件里匹配包含内容 name=mingyuzhu 的行,等号 “=” 两边可以有任意多个空格 “ ” 为例)
# grep -rE "^\\\$InputTCPServerRun" /etc/rsyslog.conf
(补充:这里以在 /etc/rsyslog.conf 文件里匹配包含内容以内容 $InputTCPServerRun 开头的行为例)
(注意:匹配美元 “$” 符号时需要前面有 3 个斜杠 “\”)
# grep -rEi "(mingyuzhu|zhumingyu)?" test.txt
(补充:这里以在 test.txt 文件里匹配出现内容 mingyuzhu 或内容 zhumingyu 的行为例)
# grep -e '^root' /etc/passwd
或者:
# grep --regexp=PATTERN '^root' /etc/passwd
(补充:这里以匹配 /etc/passwd 文件中开头为 root 的行为例)
# grep -E '([1-9][0-9]{0,2}\.){3}[1-9][0-9]{0,2}' /etc/sysconfig/network-scripts/ifcfg-ens192
或者:
# grep -P '([1-9][0-9]{0,2}\.){3}[1-9][0-9]{0,2}' /etc/sysconfig/network-scripts/ifcfg-ens192
或者:
# grep --extended-regexp '([1-9][0-9]{0,2}\.){3}[1-9][0-9]{0,2}' /etc/sysconfig/network-scripts/ifcfg-ens192
或者:
# egrep '([1-9][0-9]{0,2}\.){3}[1-9][0-9]{0,2}' /etc/sysconfig/network-scripts/ifcfg-ens192
(补充:这里以匹配 /etc/sysconfig/network-scripts/ifcfg-ens192 文件里含有 IP 地址的行为例)
# ip route get 127.0.0.1
local 127.0.0.1 dev lo src 127.0.0.1 uid 1001
cache <local>
# ip route get 127.0.0.1 | grep -P '\d+\.\d+\.\d+\.\d+(?= dev)'
local 127.0.0.1 dev lo src 127.0.0.1 uid 1001
(补充:这里以匹配字符串 ‘ dev’ (dev 前面有 1 个空格) 前面的 IP 地址为例)
(注意:这里匹配到的是第 1 个 127.0.0.1)
# ip route get 127.0.0.1
local 127.0.0.1 dev lo src 127.0.0.1 uid 1001
cache <local>
# ip route get 127.0.0.1 | grep -Po '(?<=dev )\S+'
lo
(补充:这里以匹配字符串 ‘dev ‘ (dev 后面有 1 个空格) 后面任意多个非空字符为例)
# ip route get 127.0.0.1
local 127.0.0.1 dev lo src 127.0.0.1 uid 1001
cache <local>
ip route get 127.0.0.1 | grep -P '(?<!local )127.0.0.1'
local 127.0.0.1 dev lo src 127.0.0.1 uid 1001
(补充:这里以匹配前面不是 ‘local ‘ (local 后面有 1 个空格) 的 127.0.0.1 为例)
(注意:这里匹配到的是第 2 个 127.0.0.1)
# ip route get 127.0.0.1
local 127.0.0.1 dev lo src 127.0.0.1 uid 1001
cache <local>
# ip route get 127.0.0.1 | grep -P '127.0.0.1(?! dev)'
local 127.0.0.1 dev lo src 127.0.0.1 uid 1001
(补充:这里以匹配后面不是 ‘ dev’ (dev 前面有 1 个空格) 的 127.0.0.1 为例)
(注意:这里匹配到的是第 2 个 127.0.0.1)
# egrep -n '([1-9][0-9]{0,2}\.){3}[1-9][0-9]{0,2}' /etc/sysconfig/network-scripts/ifcfg-ens192
或者:
# egrep --line-number '([1-9][0-9]{0,2}\.){3}[1-9][0-9]{0,2}' /etc/sysconfig/network-scripts/ifcfg-ens192
或者:
# egrep --line-buffered '([1-9][0-9]{0,2}\.){3}[1-9][0-9]{0,2}' /etc/sysconfig/network-scripts/ifcfg-ens192
(补充:这里以匹配 /etc/sysconfig/network-scripts/ifcfg-ens192 文件里含有 IP 地址的行并显示行号为例)
# egrep -n ^$ /etc/resolv.conf
或者:
# egrep --line-number ^$ /etc/resolv.conf
或者:
# egrep --line-buffered ^$ /etc/resolv.conf
(补充:这里以匹配 /etc/resolv.conf 里的空行并显示行号为例)
# egrep -v '([1-9][0-9]{0,2}\.){3}[1-9][0-9]{0,2}' /etc/sysconfig/network-scripts/ifcfg-ens192
或者:
# egrep --invert-match '([1-9][0-9]{0,2}\.){3}[1-9][0-9]{0,2}' /etc/sysconfig/network-scripts/ifcfg-ens192
(补充:这里以匹配 /etc/sysconfig/network-scripts/ifcfg-ens192 文件里不含有 IP 地址的行并显示行号为例)
# egrep -v ^$ /etc/resolve.conf
或者:
# egrep --invert-match ^$ /etc/resolve.conf
(补充:这里以匹配 /etc/resolve.conf 文件里不为空的行为例)
# grep '^[^#]' /etc/resolve.conf
(补充:这里以匹配 /etc/resolve.conf 文件里不以井号 “#” 开头的行为例)
# grep '^[^#| ]' /etc/resolve.conf
(补充:这里以匹配 /etc/resolve.conf 文件里不以井号 “#” 和空格 “ ” 开头的行为例)
# egrep -o '([1-9][0-9]{0,2}\.){3}[1-9][0-9]{0,2}' /etc/sysconfig/network-scripts/ifcfg-ens192
或者:
# egrep --only-matching '([1-9][0-9]{0,2}\.){3}[1-9][0-9]{0,2}' /etc/sysconfig/network-scripts/ifcfg-ens192
(补充:这里以匹配 /etc/sysconfig/network-scripts/ifcfg-ens192 里的 IP 地址为例)
(注意:这里匹配后只显示 IP 地址,而不显示 IP 地址所在行里的其他内容)
# egrep -i '([1-9][0-9]{0,2}\.){3}[1-9][0-9]{0,2}' /etc/sysconfig/network-scripts/ifcfg-ens192
或者:
# egrep --ignore-case '([1-9][0-9]{0,2}\.){3}[1-9][0-9]{0,2}' /etc/sysconfig/network-scripts/ifcfg-ens192
(补充:这里以匹配 /etc/sysconfig/network-scripts/ifcfg-ens192 文件里含有 IP 地址的行并忽略大小写为例)
# egrep -c '([1-9][0-9]{0,2}\.){3}[1-9][0-9]{0,2}' /etc/sysconfig/network-scripts/ifcfg-ens192
或者:
# egrep --count '([1-9][0-9]{0,2}\.){3}[1-9][0-9]{0,2}' /etc/sysconfig/network-scripts/ifcfg-ens192
(补充:这里以匹配 /etc/sysconfig/network-scripts/ifcfg-ens192 文件里含有 IP 地址的行的数量为例)
# egrep --color=auto '([1-9][0-9]{0,2}\.){3}[1-9][0-9]{0,2}' /etc/sysconfig/network-scripts/ifcfg-ens192
(补充:这里以匹配 /etc/sysconfig/network-scripts/ifcfg-ens192 文件里含有 IP 地址的行并自动添加颜色为例)
# egrep --color=no '([1-9][0-9]{0,2}\.){3}[1-9][0-9]{0,2}' /etc/sysconfig/network-scripts/ifcfg-ens192
(补充:这里以匹配 /etc/sysconfig/network-scripts/ifcfg-ens192 文件里含有 IP 地址的行并取消自动添加颜色为例)
# grep -e root -e zhumingyu /etc/passwd
(补充:这里以匹配 /etc/passwd 文件中包含 root 或 zhumingyu 的行为例)
# grep -a 10 eternalcenter test.txt
或者:
# grep --text 10 eternalcenter test.txt
(补充:这里以匹配 test.txt 文件中包含 eternalcenter 的行并显示其前 10 行为例)
# grep -b 10 eternalcenter test.txt
或者:
# grep --byte-offset 10 eternalcenter test.txt
(补充:这里以匹配 test.txt 文件中包含 eternalcenter 的行并显示其后 10 行为例)
# grep -a -b 10 eternalcenter test.txt
或者:
# grep --text --byte-offset 10 eternalcenter test.txt
(补充:这里以匹配 test.txt 文件中包含 eternalcenter 的行并显示其前后 10 行为例)
# grep -q root /etc/passwd
或者:
# grep --quiet root /etc/passwd
或者:
# grep --silent root /etc/passwd
# echo $?
0
(
补充:
1) 这种方法主要用于在 Shell 脚本中,随后使用 if 判断判断匹配是否成功
2) 这里以匹配 /etc/passwd 中是否包含 root 用户为例
)
# grep -rE "^\\\$InputTCPServerRun" /etc/rsyslog.conf /etc/rsyslog.d/*
(补充:这里以在 /etc/rsyslog.conf 文件和 /etc/rsyslog.d/* 文件里匹配以$InputTCPServerRun 内容开头的行为例)
# grep -R -- '--autologin' test.txt
(补充:这里以在 test.txt 文件里匹配包含 –autologin 内容的行为例)
1) RPM 的全名是 RPM Package Manager
1) RPM 是 CentOS、RHEL、openSUSE、SUSE 的软件安装包
2) RPM 是使用 cpio 格式压缩成的包
# rpm2cpio <文件名> | cpio -div
(补充:解压之后就可以看到如果安装这个 RPM 文件的话,有哪些目录和文件会被创建)