内容一:显示 kill 所有可用的选项
# kill --help
内容二:kill 的常用案例
2.1 案例一:强杀某一个 PID 号
# kill -9 <PID number>
或者:
# kill -<kill option> <PID number>
2.2 案例二:正常退出某一个 PID 号
# kill -15 <PID number>
2.3 案例三:杀死某一个进程名称下的所有 PID 号
# killall <process name>
# kill --help
# kill -9 <PID number>
或者:
# kill -<kill option> <PID number>
# kill -15 <PID number>
# killall <process name>
# man <name>
# mandb
# man -k <name>
# man <code> <name>
# tmux new -s <tmux name>
或者:
# tmux new -s <tmux code>
# exit
或者:
同时按下 “ctrl” 键和 “d” 键
或者:
同时按下 “ctrl” 键和 “b” 键之后再按下 “x” 键
# tmux detach
或者:
同时按下 “ctrl” 键和 “b” 键之后再按下 “d” 键
# tmux info
(注意:这种方式只能在进入某个 tmux 之后再操作)
# tmux ls
或者:
# tmux list-session
或者:
同时按下 “ctrl” 键和 “b” 键之后再按下 “s” 键
(注意:这种方式只能在进入某个 tmux 之后再操作)
# tmux a -t <tmux name>
或者:
# tmux attach -t <tmux name>
或者:
# tmux attach-session -t <tmux name>
(
注意:如果此时只有 1 个正在后台运行的 tmux,则可以使用以下命令直接进入到其中:
# tmux a -t
或者:
# tmux attach -t
或者:
# tmux attach-session -t
)
# tmux kill-session -t <tmux name>
# tmux switch -t <tmux name>
(注意:这种方式只能在进入某个 tmux 之后再操作)
# tmux rename-session -t <tmux old name> <tmux new name>
或者:
同时按下 “ctrl” 键和 “b” 键之后再按下 “$” 键
(注意:这种方式只能在进入某个 tmux 之后再操作)
# tmux split-window
或者:
同时按下 “ctrl” 键和 “b” 键之后再按下 “”” 键
(注意:tmux 终端分屏只能在进入某一个 tmux 之后再使用)
# tmux split-window -h
或者:
同时按下 “ctrl” 键和 “b” 键之后再按下 “%” 键
(注意:tmux 终端分屏只能在进入某一个 tmux 之后再使用)
# tmux select-pane -U
或者:
同时按下 “ctrl” 键和 “b” 键之后再按下 “上方向” 键
(注意:tmux 终端分屏只能在进入某个 tmux 之后再使用)
# tmux select-pane -D
或者:
同时按下 “ctrl” 键和 “b” 键之后再按下 “下方向” 键
(注意:tmux 终端分屏只能在进入某个 tmux 之后再使用)
# tmux select-pane -L
或者:
同时按下 “ctrl” 键和 “b” 键之后再按下 “左方向” 键
(注意:tmux 终端分屏只能在进入某个 tmux 之后再使用)
# tmux select-pane -R
或者:
同时按下 “ctrl” 键和 “b” 键之后再按下 “右方向” 键
(注意:tmux 终端分屏只能在进入某个 tmux 之后再使用)
同时按下 “ctrl” 键和 “b” 键之后再按下 “o” 键
(注意:tmux 终端分屏只能在进入某个 tmux 之后再使用)
# tmux swap-pane -U
或者:
同时按下 “ctrl” 键和 “b” 键之后再同时按下 “ctrl” 键和 “o” 键
或者:
同时按下 “ctrl” 键和 “b” 键不放再按下 “o” 键
(注意:tmux 终端分屏只能在进入某个 tmux 之后再使用)
# tmux swap-pane -D
或者:
同时按下 “ctrl” 键和 “b” 键之后再同时按下 “alt” 键和 “o” 键
(注意:tmux 终端分屏只能在进入某个 tmux 之后再使用)
同时按下 “ctrl” 键和 “b” 键之后再按下 “q” 键
(注意:tmux 终端分屏只能在进入某个 tmux 之后再使用)
同时按下 “ctrl” 键和 “b” 键之后再按下 “t” 键
(注意:tmux 终端分屏只能在进入某个 tmux 之后再使用)
同时按下 “ctrl” 键和 “b” 键不放,之后再按 “方向” 键调整终端分屏边框大小
(注意:tmux 终端分屏只能在进入某个 tmux 之后再使用)
同时按下 “ctrl” 键和 “b” 键之后再按下 “z” 键将当前终端分屏调整为终端全屏,重复此操作可还原
(注意:tmux 终端分屏只能在进入某个 tmux 之后再使用)
同时按下 “ctrl” 键和 “b” 键之后再按下 “!” 键
(注意:tmux 终端分屏只能在进入某个 tmux 之后再使用)
同时按下 “ctrl” 键和 “b” 键之后再按下 “&” 键
(注意:tmux 终端分屏只能在进入某个 tmux 之后再使用)
同时按下 “ctrl” 键和 “b” 键之后再按下 “?” 键
(注意:这种方式只能在进入某个 tmux 之后再操作)
# tmux list-keys
# tmux list-commands
# systemctl list-unit-files
(补充:所有受 systemctl 管理单元的文件都是放在 /usr/lib/systemd/system 目录下的)
# systemctl list-units
(补充:所有受 systemctl 管理单元的文件都是放在 /usr/lib/systemd/system 目录下的)
# systemctl --failed
(补充:所有受 systemctl 管理单元的文件都是放在 /usr/lib/systemd/system 目录下的)
# systemctl list-units --all --type target
(
补充:
1) 所有受 systemctl 目标管理单元的文件都是放在 /usr/lib/systemd/system 目录下的
2) service 是一个个单独的服务
3) target 是包含很多个单独服务(service)的一组服务
)
# systemctl list-units --typer=target --state=running
(
补充:
1) 所有受 systemctl 目标管理单元的文件都是放在 /usr/lib/systemd/system 目录下的
2) service 是一个个单独的服务
3) target 是包含很多个单独服务(service)的一组服务
)
# systemctl list-units --all --type=target --state=active
(
补充:
1) 所有受 systemctl 目标管理单元的文件都是放在 /usr/lib/systemd/system 目录下的
2) service 是一个个单独的服务
3) target 是包含很多个单独服务(service)的一组服务
)
# systemctl list-units --all --type=target --state=inactive
(
补充:
1) 所有受 systemctl 目标管理单元的文件都是放在 /usr/lib/systemd/system 目录下的
2) service 是一个个单独的服务
3) target 是包含很多个单独服务(service)的一组服务
)
# systemctl list-units --all --type service
(
补充:
1) 所有受 systemctl 管理单元的文件都是放在 /usr/lib/systemd/system 目录下的
2) service 是一个个单独的服务
3) target 是包含很多个单独服务(service)的一组服务
)
# systemctl list-units --typer=service --state=running
(
补充:
1) 所有受 systemctl 管理单元的文件都是放在 /usr/lib/systemd/system 目录下的
2) service 是一个个单独的服务
3) target 是包含很多个单独服务(service)的一组服务
)
# systemctl list-units --all --type=service --state=active
(
补充:
1) 所有受 systemctl 管理单元的文件都是放在 /usr/lib/systemd/system 目录下的
2) service 是一个个单独的服务
3) target 是包含很多个单独服务(service)的一组服务
)
# systemctl list-units --all --type=service --state=inactive
(
补充:
1) 所有受 systemctl 管理单元的文件都是放在 /usr/lib/systemd/system 目录下的
2) service 是一个个单独的服务
3) target 是包含很多个单独服务(service)的一组服务
)
# systemctl status <unit>
(
补充:
1) systemctl 的主要状态项有:
Loaded 单元是否已被内存加载
Active 单元是否已成功运行
Main PID 单元主进程的 PID 号
Status 单元的其他相关信息
2) Active 状态项的参数有:
loaded 单元文件已经处理
active(running) 单元正在运行
active(exited)已完成单元的一次性配置
active(waiting)正在等待启动
inactive 没有启动
enabled 将在系统启动时自动启动
disabled 不会在系统启动时自动启动
static 可以被其他单元启动
3) 单元既可以是服务单元也可以是目标单元
)
# systemctl status -l <unit>
(
补充:
1) systemctl 的主要状态项有:
Loaded 单元是否已被内存加载
Active 单元是否已成功运行
Main PID 单元主进程的 PID 号
Status 单元的其他相关信息
2) Active 状态项的参数有:
loaded 单元文件已经处理
active(running) 单元正在运行
active(exited)已完成单元的一次性配置
active(waiting)正在等待启动
inactive 没有启动
enabled 将在系统启动时自动启动
disabled 不会在系统启动时自动启动
static 可以被其他单元启动
3) 单元既可以是服务单元也可以是目标单元
)
# systemctl start <unit>
(
补充:
1) service 是一个个单独的服务
2) target 是包含很多个单独服务(service)的一组服务
3) 单元既可以是服务单元(service)也可以是目标单元(target)
)
# systemctl stop <unit>
(
补充:
1) service 是一个个单独的服务
2) target 是包含很多个单独服务(service)的一组服务
3) 单元既可以是服务单元(service)也可以是目标单元(target)
)
# systemctl restart <unit>
(
补充:
1) service 是一个个单独的服务
2) target 是包含很多个单独服务(service)的一组服务
3) 单元既可以是服务单元(service)也可以是目标单元(target)
)
# systemctl is-active <unit>
(
补充:
1) service 是一个个单独的服务
2) target 是包含很多个单独服务(service)的一组服务
3) 单元既可以是服务单元(service)也可以是目标单元(target)
)
# ll /usr/lib/systemd/system/<unit>
# systemctl list-unit-files | grep ^<file name>
# ll /usr/lib/systemd/system/ctrl-alt-del.target
lrwxrwxrwx 1 root root 13 May 19 06:56 /usr/lib/systemd/system/ctrl-alt-del.target -> reboot.target
(
补充:
1) 这里以显示 systemctl 的 ctrl-alt-del.target 服务在 systemctl 中的文件名为例
2) 从这里的输出结果可以看出 systemctl 的 ctrl-alt-del.target 服务在 systemctl 中的文件名为 reboot.target
)
# systemctl list-unit-files | grep ^reboot.target
reboot.target disabled disabled
(补充:这里以显示 systemctl 的 reboot.target 文件名为例)
# systemctl enable --now <unit>
(
补充:
1) service 是一个个单独的服务
2) target 是包含很多个单独服务(service)的一组服务
3) 单元既可以是服务单元(service)也可以是目标单元(target)
)
# systemctl disable --now <unit>
(
补充:
1) service 是一个个单独的服务
2) target 是包含很多个单独服务(service)的一组服务
3) 单元既可以是服务单元(service)也可以是目标单元(target)
)
# systemctl enable <unit>
(
补充:
1) service 是一个个单独的服务
2) target 是包含很多个单独服务(service)的一组服务
3) 单元既可以是服务单元(service)也可以是目标单元(target)
)
# systemctl disable <unit>
(
补充:
1) service 是一个个单独的服务
2) target 是包含很多个单独服务(service)的一组服务
3) 单元既可以是服务单元(service)也可以是目标单元(target)
)
# systemctl is-enabled <unit>
(
补充:
1) service 是一个个单独的服务
2) target 是包含很多个单独服务(service)的一组服务
3) 单元既可以是服务单元(service)也可以是目标单元(target)
)
# systemctl mask <unit>
(
补充:
1) service 是一个个单独的服务
2) target 是包含很多个单独服务(service)的一组服务
3) 单元既可以是服务单元(service)也可以是目标单元(target)
)
# systemctl umask <unit>
(
补充:
1) service 是一个个单独的服务
2) target 是包含很多个单独服务(service)的一组服务
3) 单元既可以是服务单元(service)也可以是目标单元(target)
)
# systemctl daemon-reload
# 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 内容的行为例)