案例一:在 Gnome 桌面下开启命令行终端
# gnome-terminal
案例二:在 Gnome 桌面下开启命令行终端 (最大窗口化)
# gnome-terminal --window --maximize
# gnome-terminal
# gnome-terminal --window --maximize
# 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 内容的行为例)
# screen -S <screen window name>
(补充:这样会同时创建并且进入 screen 窗口中)
(步骤略)
同时按下 “ctrl” 键和 “a” 键和 “d” 键
(补充:这里 d 代表的是 Detached 的意思)
# screen -d <screen window name>
# screen -ls
6474.1 (Attached)
29438.2 (Detached)
(
补充:这里以显示
1) 激活状态(Attached)的 screen 窗口 1 为例
2) 挂起状态(Detached)的 screen 窗口 2 为例
)
# screen -r <screen window name>
# screen -d <screen window name>
(注意:此时正在使用这个 screen 窗口的人会断开)
# screen -r <screen window name>
# screen -d -r <screen window name>
(注意:此时正在使用这个 screen 窗口的人会断开)
# screen -x <screen window name>
(步骤略)
# exit
(步骤略)
同时按下 “ctrl” 键和 “a” 键和 “c” 键
(步骤略)
同时按下 “ctrl” 键和 “a” 键和 “<screen window name code>”
(步骤略)
同时按下 “ctrl” 键和 “a” 键和 “w” 键
服务器系统要配置好可用的软件源
# cat /proc/version
# uname -a
# lsb_release -a
(
补充:
1) 如果系统没有 lsb_release 命令则可以单独安装一个
2) CentOS & RHEL 安装 lsb_release 命令的方法:
# yum -y install redhat-lsb-core
3) openSUSE & SUSE 安装 lsb_release 命令的方法:
# zypper -n in lsb-release
)
# cat /etc/*release*
# cat /etc/issue
# cat /proc/cpuinfo | egrep "core id|physical id|processor" | tr -d "\n" | sed s/processor/\\nprocessor/g | sed 's/physical/ physical/' | sed 's/core/ core/' | grep -v ^$ | wc -l
# cat /proc/cpuinfo | egrep "core id|physical id" | tr -d "\n" | sed s/physical/\\nphysical/g | grep -v ^$ | sort | uniq | wc -l
# cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
# lscpu
或者:
# cat /proc/cpuinfo
(补充链接:Linux 处理器详细信息的显示 (显示 /proc/cpuinfo 文件里的信息))
# free -m
(注意:这里显示的内存会比真实的硬件内存大小小一点)
# cat /proc/meminfo
# memunit=`dmidecode -t memory | egrep -i 'Size:' | egrep -i 'kb|mb|gb' | egrep -v -i 'Volatile|Maximum|Memory|Installed|Enabled' | awk '{print $NF}' | head -1`;memsize=`dmidecode -t memory | egrep -i 'Size:' | egrep -i 'kb|mb|gb' | egrep -v -i 'Volatile|Maximum|Memory|Installed|Enabled' | awk 'BEGIN{memtotal=0}{memtotal+=$2}END{print memtotal}'`; echo "$memsize $memunit"
# df -h
# lsblk
# disksizeb=`lsblk -b | egrep -iv '\/|SWAP|NAME' | awk '$1!~/[0-9]/' | egrep 'disk' | awk 'BEGIN{disktotal=0}{disktotal=disktotal+$4}END{print disktotal}'`;let disksizek=$disksizeb/1024;let disksizem=$disksizek/1024;let disksizeg=$disksizem/1024;echo "$disksizeg GB"
# dmesg
# dmesg | grep -i mouse
(补充:这里以显示鼠标信息的方法为例)