DukeDuke
主页
文档转换
关于我们
主页
文档转换
关于我们
  • Linux 系统

    • Linux 系统管理
    • Linux 网络管理
    • Linux 文件管理
    • Linux 命令大全
  • Nginx Web 服务器

    • Nginx 安装 与 配置
    • Nginx 负载均衡
    • Nginx SSL证书配置
    • Nginx Keepalived 高可用
  • Docker 容器

    • Docker 简介
    • Docker 安装与配置
    • Docker 命令
    • Docker 部署 Nginx
    • Docker 部署 MySQL
    • Docker 部署 Redis
  • 服务器

    • 塔式服务器
    • 机架式服务器
    • 刀片服务器
  • Git 版本控制
  • Jenkins 持续集成
  • Jmeter 性能测试
  • Let's Encrypt 免费SSL证书

系统管理

systemctl - 系统服务管理

命令参数解释表格:

参数说明示例
start启动服务systemctl start nginx
stop停止服务systemctl stop nginx
restart重启服务systemctl restart nginx
status查看服务状态systemctl status nginx
enable开机自启systemctl enable nginx
disable禁用自启systemctl disable nginx
reload重新加载配置systemctl reload nginx

服务状态说明:

状态说明
active (running)服务正在运行
active (exited)服务已退出但成功
inactive (dead)服务未运行
failed服务启动失败

指令输出示例:

$ systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2023-12-15 10:30:00 CST; 2h ago
     Docs: man:nginx(8)
 Main PID: 1234 (nginx)
    Tasks: 3 (limit: 4915)
   Memory: 2.5M
   CGroup: /system.slice/nginx.service
           ├─1234 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
           ├─1235 nginx: worker process
           └─1236 nginx: worker process

$ systemctl start nginx
# 启动nginx服务

$ systemctl enable nginx
# 设置nginx开机自启

top - 显示系统进程信息

命令参数解释表格:

参数说明示例
-p指定进程 IDtop -p 1234
-u指定用户名top -u username
-n刷新次数top -n 5
-d刷新间隔(秒)top -d 2

输出参数解释表格:

输出字段说明示例
PID进程 ID1234
USER进程所有者root
PR进程优先级20
NInice 值0
VIRT虚拟内存使用量123456
RES物理内存使用量1234
SHR共享内存大小456
S进程状态S (睡眠)
%CPUCPU 使用率2.5
%MEM内存使用率1.2
TIME+累计 CPU 时间0:15.30
COMMAND命令名称bash

指令输出示例:

$ top
top - 14:30:45 up 2 days,  3:45,  2 users,  load average: 0.52, 0.58, 0.59
Tasks: 125 total,   1 running, 124 sleeping,   0 stopped,   0 zombie
%Cpu(s):  2.5 us,  1.2 sy,  0.0 ni, 96.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   8192.0 total,   1234.5 free,   2345.6 used,   4611.9 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.   5123.4 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
 1234 root      20   0  123456   1234    456 S   2.5   1.2   0:15.30 bash
 5678 user      20   0  234567   2345    567 S   1.8   2.1   0:25.45 nginx

df - 显示磁盘空间使用情况

命令参数解释表格:

参数说明示例
-h以人类可读格式显示df -h
-T显示文件系统类型df -T
-i显示 inode 信息df -i
-a显示所有文件系统df -a

输出参数解释表格:

输出字段说明示例
Filesystem文件系统名称/dev/sda1
Size总大小20G
Used已使用空间15G
Avail可用空间4.0G
Use%使用率百分比79%
Mounted on挂载点/

指令输出示例:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        20G   15G  4.0G  79% /
tmpfs           3.2G     0  3.2G   0% /dev/shm
/dev/sdb1       100G   50G   45G  53% /home

free - 显示内存使用情况

命令参数解释表格:

参数说明示例
-h以人类可读格式显示free -h
-s持续监控,指定间隔free -s 5
-t显示总计行free -t
-m以 MB 为单位显示free -m

输出参数解释表格:

输出字段说明示例
total总内存8192
used已使用内存4096
free空闲内存2048
shared共享内存512
buff/cache缓冲/缓存内存1536
available可用内存3584

指令输出示例:

$ free -h
              total        used        free      shared  buff/cache   available
Mem:           8.0Gi       4.0Gi       2.0Gi       512Mi       2.0Gi       3.5Gi
Swap:          2.0Gi          0Bi       2.0Gi

ps - 显示进程状态

命令参数解释表格:

参数说明示例
aux显示所有用户的所有进程ps aux
-ef显示所有进程的详细信息ps -ef
-p指定进程 IDps -p 1234
-u指定用户名ps -u username
-o自定义输出格式ps -o pid,ppid,cmd

输出参数解释表格:

输出字段说明示例
USER进程所有者root
PID进程 ID1234
PPID父进程 ID1
%CPUCPU 使用率2.5
%MEM内存使用率1.2
VSZ虚拟内存大小123456
RSS物理内存大小1234
TTY终端pts/0
STAT进程状态S
START启动时间10:30
TIME累计 CPU 时间0:15.30
COMMAND命令bash

指令输出示例:

$ ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0  123456  1234 ?        Ss   10:30   0:01 /sbin/init
root       123  0.0  0.0  234567  2345 ?        S    10:30   0:00 /usr/sbin/sshd
user      1234  0.5  1.2  345678  3456 pts/0   Ss   10:35   0:15 bash
user      5678  0.0  0.5  456789  4567 pts/0   R+   14:30   0:00 ps aux

kill - 终止进程

命令参数解释表格:

参数说明示例
-9强制终止进程kill -9 1234
-15正常终止进程(默认)kill -15 1234
-l列出所有信号kill -l
-s指定信号kill -s SIGTERM 1234

指令输出示例:

$ kill -9 1234
# 强制终止进程ID为1234的进程

$ kill -l
 1) SIGHUP	 2) SIGINT	 3) SIGQUIT	 4) SIGILL	 5) SIGTRAP
 6) SIGABRT	 7) SIGBUS	 8) SIGFPE	 9) SIGKILL	10) SIGUSR1
11) SIGSEGV	12) SIGUSR2	13) SIGPIPE	14) SIGALRM	15) SIGTERM

export - 设置环境变量

命令参数解释表格:

参数说明示例
-p显示所有环境变量export -p
-n取消环境变量export -n VAR

指令输出示例:

$ export PATH=$PATH:/usr/local/bin
$ export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
$ export -p
declare -x HOME="/home/user"
declare -x JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/bin"

env - 显示环境变量

命令参数解释表格:

参数说明示例
-i忽略继承的环境变量env -i command
-u取消指定变量env -u VAR command
-0以 null 结尾env -0

指令输出示例:

$ env
USER=user
HOME=/home/user
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
SHELL=/bin/bash
TERM=xterm-256color

$ env | grep PATH
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

unset - 删除环境变量

指令输出示例:

$ export TEST_VAR="test value"
$ echo $TEST_VAR
test value
$ unset TEST_VAR
$ echo $TEST_VAR

crontab - 管理定时任务

命令参数解释表格:

参数说明示例
-e编辑定时任务crontab -e
-l列出定时任务crontab -l
-r删除所有任务crontab -r
-u指定用户crontab -u username -e

crontab 时间格式:

字段说明范围
分钟分钟0-59
小时小时0-23
日期日期1-31
月份月份1-12
星期星期几0-7 (0 和 7 都是周日)

常用时间表达式:

表达式说明
* * * * *每分钟执行
0 * * * *每小时执行
0 0 * * *每天 0 点执行
0 0 * * 0每周日 0 点执行
0 0 1 * *每月 1 号 0 点执行
*/5 * * * *每 5 分钟执行

指令输出示例:

$ crontab -l
# m h  dom mon dow   command
0 2 * * * /usr/bin/backup.sh
0 0 * * 0 /usr/bin/weekly-cleanup.sh
*/15 * * * * /usr/bin/check-disk-space.sh

$ crontab -e
# 打开编辑器,可以添加新的定时任务
# 0 3 * * * /usr/bin/daily-backup.sh

at - 一次性定时任务

命令参数解释表格:

参数说明示例
-f从文件读取命令at -f script.sh 10:00
-m任务完成时发送邮件at -m 10:00
-l列出待执行任务at -l
-d删除指定任务at -d 1

时间格式示例:

格式说明
10:00今天 10:00
10:00 tomorrow明天 10:00
now + 1 hour1 小时后
now + 2 days2 天后
midnight午夜
noon中午

指令输出示例:

$ at 10:00
at> echo "Hello World" > /tmp/hello.txt
at> <EOT>
job 1 at Mon Dec 15 10:00:00 2023

$ at -l
1	Mon Dec 15 10:00:00 2023 a user

$ at now + 1 hour
at> /usr/bin/backup.sh
at> <EOT>
job 2 at Mon Dec 15 15:30:00 2023

ufw - Ubuntu 防火墙

命令参数解释表格:

参数说明示例
enable启用防火墙ufw enable
disable禁用防火墙ufw disable
status查看状态ufw status
allow允许端口ufw allow 80
deny拒绝端口ufw deny 22
delete删除规则ufw delete allow 80
reload重新加载ufw reload

指令输出示例:

$ ufw status
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW IN    Anywhere
80/tcp                     ALLOW IN    Anywhere
443/tcp                    ALLOW IN    Anywhere
22/tcp (v6)               ALLOW IN    Anywhere (v6)
80/tcp (v6)               ALLOW IN    Anywhere (v6)
443/tcp (v6)              ALLOW IN    Anywhere (v6)

$ ufw allow 8080
Rules updated
Rules updated (v6)

$ ufw deny 3306
Rules updated
Rules updated (v6)

iptables - Linux 防火墙

命令参数解释表格:

参数说明示例
-A添加规则iptables -A INPUT -p tcp --dport 80 -j ACCEPT
-D删除规则iptables -D INPUT -p tcp --dport 80 -j ACCEPT
-L列出规则iptables -L
-F清空规则iptables -F
-P设置默认策略iptables -P INPUT DROP
-s指定源地址iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
-d指定目标地址iptables -A OUTPUT -d 8.8.8.8 -j ACCEPT
-p指定协议iptables -A INPUT -p tcp -j ACCEPT
--dport目标端口iptables -A INPUT -p tcp --dport 22 -j ACCEPT
--sport源端口iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

常用链说明:

链说明
INPUT入站流量
OUTPUT出站流量
FORWARD转发流量

常用动作说明:

动作说明
ACCEPT接受
DROP丢弃
REJECT拒绝
LOG记录日志

指令输出示例:

$ iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh
DROP       tcp  --  anywhere             anywhere            tcp dpt:telnet

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere

$ iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 允许80端口入站流量

$ iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
# 允许192.168.1.0/24网段的入站流量

firewall-cmd - CentOS 防火墙

命令参数解释表格:

参数说明示例
--state查看状态firewall-cmd --state
--reload重新加载firewall-cmd --reload
--list-all列出所有规则firewall-cmd --list-all
--add-port添加端口firewall-cmd --add-port=80/tcp
--remove-port删除端口firewall-cmd --remove-port=80/tcp
--add-service添加服务firewall-cmd --add-service=http
--remove-service删除服务firewall-cmd --remove-service=http
--permanent永久规则firewall-cmd --permanent --add-port=80/tcp

指令输出示例:

$ firewall-cmd --state
running

$ firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: dhcpv6-client ssh
  ports: 80/tcp 443/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich-rules:

$ firewall-cmd --add-port=8080/tcp
success

$ firewall-cmd --permanent --add-service=http
success

uname - 显示系统信息

命令参数解释表格:

参数说明示例
-a显示所有信息uname -a
-s显示内核名称uname -s
-n显示主机名uname -n
-r显示内核版本uname -r
-v显示内核编译信息uname -v
-m显示硬件架构uname -m
-p显示处理器类型uname -p
-i显示硬件平台uname -i
-o显示操作系统uname -o

指令输出示例:

$ uname -a
Linux hostname 5.4.0-74-generic #83-Ubuntu SMP Sat May 8 02:35:39 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

$ uname -r
5.4.0-74-generic

$ uname -m
x86_64

hostname - 显示或设置主机名

显示命令参数解释表格:

参数说明示例
-f显示完整主机名hostname -f
-s显示短主机名hostname -s
-d显示域名hostname -d
-i显示 IP 地址hostname -i
-y显示 NIS 域名hostname -y

指令输出示例:

$ hostname
hostname

$ hostname -f
hostname.example.com

$ hostname -i
192.168.1.100

设置主机名命令参数解释表格:

参数说明示例
set临时设置主机名hostname newname
ctl永久设置主机名(需 root 权限,推荐)hostnamectl set-hostname newname
-F从文件读取主机名hostname -F /etc/hostname

设置主机名指令输出示例:


# 永久设置主机名(推荐方法)
$ sudo hostnamectl set-hostname myserver
$ hostname
myserver

uptime - 显示系统运行时间

命令参数解释表格:

参数说明示例
-p显示运行时间uptime -p
-s显示启动时间uptime -s
-V显示版本信息uptime -V

指令输出示例:

$ uptime
14:30:45 up 2 days, 3:45, 2 users, load average: 0.52, 0.58, 0.59

$ uptime -p
up 2 days, 3 hours, 45 minutes

$ uptime -s
2023-12-13 10:45:00

who - 显示当前登录用户

命令参数解释表格:

参数说明示例
-a显示所有信息who -a
-b显示系统启动时间who -b
-d显示死进程who -d
-H显示标题行who -H
-l显示登录进程who -l
-m显示当前用户who -m
-q显示用户数量who -q
-r显示运行级别who -r
-s显示简短信息who -s
-T显示终端状态who -T
-u显示空闲时间who -u
-w显示终端写状态who -w

指令输出示例:

$ who
user     pts/0        2023-12-15 10:30 (192.168.1.100)
user     pts/1        2023-12-15 14:25 (192.168.1.101)

$ who -a
           system boot  2023-12-13 10:45
           run-level 5  2023-12-13 10:45
user     + pts/0        2023-12-15 10:30   .          1234 (192.168.1.100)
user     + pts/1        2023-12-15 14:25   .          5678 (192.168.1.101)

last - 显示用户登录历史

命令参数解释表格:

参数说明示例
-n显示指定行数last -n 10
-f指定日志文件last -f /var/log/wtmp
-R不显示主机名last -R
-x显示系统关闭last -x
-a显示主机名last -a

指令输出示例:

$ last -n 5
user     pts/1        192.168.1.101    Wed Dec 15 14:25   still logged in
user     pts/0        192.168.1.100    Wed Dec 15 10:30   still logged in
user     pts/1        192.168.1.101    Wed Dec 15 09:15 - 14:20  (05:05)
user     pts/0        192.168.1.100    Tue Dec 14 16:30 - 18:45  (02:15)
user     pts/1        192.168.1.101    Tue Dec 14 14:20 - 16:25  (02:05)

wtmp begins Tue Dec 14 14:20:01 2023

date - 显示或设置系统时间

命令参数解释表格:

参数说明示例
-d显示指定日期date -d "2023-12-15"
-s设置系统时间date -s "2023-12-15 14:30:00"
-u显示 UTC 时间date -u
-R显示 RFC 格式date -R
-I显示 ISO 格式date -I

指令输出示例:

$ date
Wed Dec 15 14:30:45 CST 2023

$ date -R
Wed, 15 Dec 2023 14:30:45 +0800

$ date -I
2023-12-15

$ date -d "2023-12-15"
Fri Dec 15 00:00:00 CST 2023

useradd - 创建新用户

命令参数解释表格:

参数说明示例
-m创建用户主目录useradd -m username
-s指定默认 shelluseradd -s /bin/bash username
-g指定主组useradd -g users username
-G指定附加组useradd -G sudo username
-u指定用户 IDuseradd -u 1001 username

指令输出示例:

$ useradd -m -s /bin/bash -G sudo newuser
# 创建用户newuser,包含主目录,默认shell为bash,加入sudo组

$ id newuser
uid=1001(newuser) gid=1001(newuser) groups=1001(newuser),27(sudo)

passwd - 设置用户密码

命令参数解释表格:

参数说明示例
-l锁定用户账户passwd -l username
-u解锁用户账户passwd -u username
-d删除用户密码passwd -d username
-S显示密码状态passwd -S username

指令输出示例:

$ passwd newuser
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

$ passwd -S newuser
newuser P 12/15/2023 0 99999 7 -1

关机命令

shutdown - 关机

命令参数解释表格:

参数说明示例
-h关机shutdown -h now
-r重启shutdown -r now
-c取消关机shutdown -c
-t设置延迟时间shutdown -t 60
-k发送信号但不关机shutdown -k

指令输出示例:

$ shutdown -h now
# 立即关机

$ shutdown -r now
# 立即重启

$ shutdown -c
# 取消关机

$ shutdown -t 60
# 设置延迟时间为60秒

$ shutdown -k
# 发送信号但不关机

硬件信息命令

lscpu - 显示 CPU 信息

命令参数解释表格:

参数说明示例
-p显示所有核心lscpu -p
-e显示扩展信息lscpu -e
-a显示所有信息lscpu -a

指令输出示例:

$ lscpu
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              8
On-line CPU(s) list: 0-7
Thread(s) per core:  2
Core(s) per socket:  4
Socket(s):           2
NUMA node(s):        2
Vendor ID:           GenuineIntel
CPU family:          6
Model:               142
Model name:          Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
Stepping:            10
CPU MHz:             1992.000
CPU max MHz:         4100.0000
CPU min MHz:         1200.0000
BogoMIPS:            4192.00
Virtualization:      VT-x
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            8192K
NUMA node0 CPU(s):    0-3
NUMA node1 CPU(s):    4-7

lsblk - 显示块设备信息

命令参数解释表格:

参数说明示例
-f显示文件系统lsblk -f
-b显示块设备lsblk -b
-p显示挂载点lsblk -p
-a显示所有设备lsblk -a

指令输出示例:

$ lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0 1000.2G  0 disk
├─sda1        8:1    0   512M  0 part /boot/efi
├─sda2        8:2    0 995.2G  0 part /
└─sda3        8:3    0    5G  0 part /home

hdparm - 显示硬盘信息

命令参数解释表格:

参数说明示例
-i显示硬盘信息hdparm -i /dev/sda
-x显示扩展信息hdparm -x /dev/sda
-C显示缓存信息hdparm -C /dev/sda
-T显示传输速度hdparm -T /dev/sda

指令输出示例:

$ hdparm -i /dev/sda
/dev/sda:
 Timing cached reads:   12 ms
 Timing buffered disk reads:  12 ms
最近更新:: 2026/4/17 13:21
Contributors: Duke
Next
Linux 网络管理