Linux操作系统运维命令大全

Linux操作系统运维命令大全

📚 目录

  1. 基础命令
  2. 文件与目录管理
  3. 用户管理
  4. 权限管理
  5. 进程管理
  6. 网络管理
  7. 磁盘管理
  8. 服务管理
  9. 日志管理
  10. 软件包管理
  11. 任务调度
  12. 远程管理
  13. 防火墙管理
  14. 系统监控
  15. 压缩解压
  16. 搜索查找
  17. 其他实用命令

基础命令

系统信息查看

bash 复制代码
# 查看系统信息
uname -a                    # 显示系统内核信息
hostname                    # 显示主机名
whoami                      # 显示当前用户
who                         # 显示登录用户
w                           # 显示登录用户和系统负载
uptime                      # 显示系统运行时间和负载
date                        # 显示和设置系统时间
cal                         # 显示日历

基本操作

bash 复制代码
clear                       # 清屏
history                     # 查看命令历史
!command                    # 执行历史命令中的command
alias                       # 查看和设置命令别名
exit                        # 退出当前shell

文件与目录管理

目录操作

bash 复制代码
pwd                         # 显示当前工作目录
cd /path/to/dir             # 切换目录
cd ..                       # 返回上一级目录
cd ~                        # 返回用户主目录
cd -                        # 返回上一次所在目录
ls                          # 列出目录内容
ls -la                      # 列出详细信息(包括隐藏文件)
ls -lh                      # 以人类可读格式显示文件大小
ls -R                       # 递归列出子目录内容
tree                        # 以树形结构显示目录
mkdir dirname               # 创建目录
mkdir -p dir1/dir2          # 创建多级目录
rmdir dirname               # 删除空目录

文件操作

bash 复制代码
touch filename              # 创建空文件或更新时间戳
cp file1 file2              # 复制文件
cp -r dir1 dir2             # 递归复制目录
cp -p file1 file2           # 复制并保留属性
mv file1 file2              # 移动或重命名文件
rm filename                 # 删除文件
rm -r dirname               # 递归删除目录
rm -rf dirname              # 强制删除目录(不提示)
rm -i filename              # 删除前确认

文件查看

bash 复制代码
cat filename                # 查看文件内容
cat -n filename             # 显示行号
more filename               # 分页查看文件内容
less filename               # 分页查看(可上下翻页)
head -n 10 filename         # 查看文件前10行
tail -n 10 filename         # 查看文件后10行
tail -f filename            # 实时跟踪文件内容
tac filename                # 反向查看文件内容
nl filename                 # 显示行号查看文件

文件搜索

bash 复制代码
find /path -name filename    # 查找文件
find / -name "*.log"         # 查找所有.log文件
find / -type d               # 查找所有目录
find / -size +100M           # 查找大于100M的文件
locate filename              # 快速查找文件
which command                # 查找命令路径
whereis command              # 查找命令相关文件
grep "pattern" file          # 在文件中搜索文本
grep -r "pattern" /path      # 递归搜索目录
grep -i "pattern" file       # 忽略大小写搜索
grep -n "pattern" file       # 显示行号
grep -v "pattern" file       # 反向匹配

文件内容处理

bash 复制代码
wc filename                 # 统计文件行数、字数、字节数
wc -l filename              # 统计行数
sort filename               # 对文件内容排序
sort -n filename            # 按数字排序
sort -r filename            # 反向排序
uniq filename               # 去除重复行
diff file1 file2            # 比较两个文件差异
cmp file1 file2             # 比较两个文件字节
file filename               # 识别文件类型

用户管理

用户账户管理

bash 复制代码
useradd username            # 创建用户
useradd -m username         # 创建用户并创建主目录
useradd -d /home/test user  # 指定主目录创建用户
userdel username            # 删除用户
userdel -r username         # 删除用户及其主目录
usermod -aG group user      # 将用户添加到组
usermod -d /new/home user   # 修改用户主目录
usermod -s /bin/bash user   # 修改用户默认shell
usermod -l newname oldname  # 修改用户名
passwd username             # 修改用户密码
passwd -l username          # 锁定用户密码
passwd -u username          # 解锁用户密码
passwd -e username          # 强制用户下次登录修改密码

用户信息查看

bash 复制代码
id username                 # 查看用户ID和所属组
finger username             # 查看用户详细信息
groups username             # 查看用户所属组
w                           # 查看登录用户和活动
who                         # 查看登录用户
last                        # 查看用户登录历史
lastlog                     # 查看所有用户最后登录时间

权限管理

文件权限

bash 复制代码
ls -l filename              # 查看文件权限
ls -ld dirname              # 查看目录权限
chmod 755 filename          # 修改文件权限(数字法)
chmod u+rwx filename        # 添加用户权限
chmod g-wx filename         # 删除组权限
chmod o=rx filename         # 设置其他用户权限
chmod -R 755 dirname        # 递归修改目录权限
chown user filename         # 修改文件所有者
chown user:group filename   # 修改文件所有者和组
chown -R user:group dir     # 递归修改目录所有者
chgrp group filename        # 修改文件所属组
umask                       # 查看默认权限掩码
umask 022                   # 设置默认权限掩码

特殊权限

bash 复制代码
chmod u+s filename          # 设置SUID位
chmod g+s dirname           # 设置SGID位
chmod o+t dirname           # 设置粘滞位
chmod 4755 filename         # 设置SUID(数字法)
chmod 2755 dirname          # 设置SGID(数字法)
chmod 1755 dirname          # 设置粘滞位(数字法)

访问控制列表

bash 复制代码
getfacl filename            # 查看文件ACL
setfacl -m u:user:rwx file  # 设置用户ACL权限
setfacl -m g:group:rx file  # 设置组ACL权限
setfacl -x u:user file      # 删除用户ACL权限
setfacl -b file             # 删除所有ACL权限

进程管理

进程查看

bash 复制代码
ps                          # 查看当前进程
ps aux                      # 查看所有进程详细信息
ps -ef                      # 查看所有进程(全格式)
ps -u username              # 查看指定用户进程
ps -p PID                   # 查看指定PID进程
top                         # 实时显示进程信息
htop                        # 增强版top(需安装)
pstree                      # 以树形显示进程
pgrep processname           # 查找进程ID
pidof processname           # 查找进程ID

进程控制

bash 复制代码
kill PID                    # 终止进程(正常终止)
kill -9 PID                 # 强制终止进程
kill -15 PID                # 正常终止进程(SIGTERM)
kill -1 PID                 # 重新加载进程配置(SIGHUP)
killall processname         # 终止所有同名进程
pkill pattern               # 按模式终止进程
nice -n 10 command          # 以优先级10运行命令
renice -n 5 -p PID          # 修改进程优先级
nohup command &             # 后台运行命令,忽略挂起信号
bg                          # 将后台任务继续执行
fg                          # 将后台任务调到前台
jobs                        # 查看后台任务

进程监控

bash 复制代码
strace -p PID               # 跟踪进程系统调用
lsof -p PID                 # 查看进程打开的文件
lsof -i :port               # 查看端口占用情况
netstat -p                  # 查看进程对应的网络连接
ss -p                       # 查看进程对应的网络连接
/proc/PID/                  # 查看进程详细信息目录
cat /proc/PID/status        # 查看进程状态
cat /proc/PID/cmdline       # 查看进程命令行
cat /proc/PID/environ       # 查看进程环境变量

网络管理

网络配置

bash 复制代码
ifconfig                    # 查看网络接口配置
ip addr show                # 查看IP地址(推荐)
ip link show                # 查看网络接口状态
ip route show               # 查看路由表
ip addr add 192.168.1.100/24 dev eth0    # 添加IP地址
ip addr del 192.168.1.100/24 dev eth0    # 删除IP地址
ip link set eth0 up         # 启用网络接口
ip link set eth0 down       # 禁用网络接口
hostnamectl set-hostname newname        # 设置主机名

网络连接测试

bash 复制代码
ping hostname               # 测试网络连通性
ping -c 4 hostname          # 发送4个数据包
ping -i 2 hostname          # 间隔2秒发送
traceroute hostname         # 跟踪网络路由
tracepath hostname          # 跟踪路径到主机
mtr hostname                # 网络诊断工具
nslookup domain             # 查询域名解析
dig domain                  # 详细DNS查询
host domain                 # 查询域名信息
whois domain                # 查询域名注册信息

网络端口管理

bash 复制代码
netstat -tuln               # 查看TCP/UDP监听端口
netstat -tulpn              # 查看端口和对应进程
netstat -an                 # 查看所有网络连接
netstat -rn                 # 查看路由表
ss -tuln                    # 查看监听端口(推荐)
ss -tulpn                   # 查看端口和进程
ss -s                       # 查看网络统计信息
lsof -i :port               # 查看指定端口占用
nmap -sT localhost          # 扫描开放端口

网络数据传输

bash 复制代码
wget URL                    # 下载文件
wget -c URL                 # 断点续传
wget -O filename URL        # 指定保存文件名
curl URL                    # 获取网页内容
curl -O URL                 # 下载文件
curl -I URL                 # 查看HTTP头信息
curl -X POST -d "data" URL  # 发送POST请求
ftp hostname                # 连接FTP服务器
sftp user@host              # 安全FTP连接
scp file user@host:/path    # 安全复制文件到远程
scp user@host:/path/file .  # 从远程复制文件
rsync -avz src dest         # 同步文件或目录

磁盘管理

磁盘信息查看

bash 复制代码
df -h                       # 查看磁盘使用情况(人类可读)
df -i                       # 查看inode使用情况
df -T                       # 查看文件系统类型
du -sh dirname              # 查看目录大小
du -h --max-depth=1         # 查看当前目录下各子目录大小
fdisk -l                    # 查看磁盘分区信息
lsblk                       # 查看块设备信息
blkid                       # 查看块设备UUID和文件系统
parted -l                   # 查看分区表信息

磁盘分区和格式化

bash 复制代码
fdisk /dev/sdb              # 对磁盘进行分区
parted /dev/sdb             # 使用parted分区
mkfs.ext4 /dev/sdb1         # 格式化为ext4文件系统
mkfs.xfs /dev/sdb1          # 格式化为xfs文件系统
mkfs.vfat /dev/sdb1         # 格式化为fat32文件系统

磁盘挂载

bash 复制代码
mount /dev/sdb1 /mnt        # 挂载磁盘
mount -t ext4 /dev/sdb1 /mnt # 指定文件系统类型挂载
mount -o loop file.iso /mnt # 挂载ISO文件
umount /mnt                 # 卸载磁盘
umount -l /mnt              # 懒惰卸载
findmnt                     # 查看挂载点
/etc/fstab                  # 配置开机自动挂载

磁盘维护

bash 复制代码
fsck /dev/sdb1              # 检查和修复文件系统
e2fsck /dev/sdb1            # 检查ext2/ext3/ext4文件系统
xfs_repair /dev/sdb1        # 修复xfs文件系统
badblocks /dev/sdb          # 检查磁盘坏道
dd if=/dev/zero of=/dev/sdb bs=1M count=100  # 清空磁盘
sync                        # 同步磁盘缓存

服务管理

Systemd服务管理

bash 复制代码
systemctl start service     # 启动服务
systemctl stop service      # 停止服务
systemctl restart service   # 重启服务
systemctl reload service    # 重新加载服务配置
systemctl status service    # 查看服务状态
systemctl enable service    # 设置开机自启
systemctl disable service   # 禁用开机自启
systemctl is-enabled service    # 检查服务是否开机自启
systemctl list-units --type=service  # 列出所有服务
systemctl list-units --all --type=service  # 列出所有服务(包括inactive)
systemctl mask service      # 禁用服务(完全禁止)
systemctl unmask service    # 启用被禁用的服务

服务日志查看

bash 复制代码
journalctl -u service       # 查看指定服务日志
journalctl -u service -f    # 实时查看服务日志
journalctl -xe              # 查看系统异常日志
journalctl --since today    # 查看今天的日志
journalctl --since "1 hour ago"  # 查看最近1小时的日志
journalctl -p err           # 查看错误级别日志

传统服务管理(SysVinit)

bash 复制代码
service service start       # 启动服务
service service stop        # 停止服务
service service restart     # 重启服务
service service status      # 查看服务状态
chkconfig --list            # 列出所有服务
chkconfig service on        # 设置开机自启
chkconfig service off       # 禁用开机自启

日志管理

系统日志查看

bash 复制代码
cat /var/log/syslog         # 查看系统日志
cat /var/log/messages       # 查看系统消息日志
cat /var/log/auth.log       # 查看认证日志
cat /var/log/kern.log       # 查看内核日志
cat /var/log/boot.log       # 查看启动日志
dmesg                       # 查看内核环缓冲区
dmesg | tail                # 查看最近的内核消息

日志实时监控

bash 复制代码
tail -f /var/log/syslog     # 实时查看系统日志
tail -f /var/log/messages   # 实时查看消息日志
tail -f /var/log/auth.log   # 实时查看认证日志
tail -n 100 /var/log/syslog # 查看最后100行日志

日志搜索和分析

bash 复制代码
grep "pattern" /var/log/syslog    # 在日志中搜索
grep -i "error" /var/log/syslog   # 搜索错误信息
grep "pattern" /var/log/syslog | wc -l  # 统计匹配行数
awk '/pattern/ {print}' /var/log/syslog  # 使用awk处理日志
sed 's/pattern/replacement/g' /var/log/syslog  # 替换日志内容

日志轮转

bash 复制代码
logrotate -f /etc/logrotate.conf   # 强制执行日志轮转
logrotate -d /etc/logrotate.conf   # 调试模式
/etc/logrotate.conf               # 日志轮转配置文件
/etc/logrotate.d/                 # 各服务日志轮转配置目录

软件包管理

Debian/Ubuntu系列(APT)

bash 复制代码
apt update                   # 更新软件包索引
apt upgrade                  # 升级所有软件包
apt dist-upgrade             # 发行版升级
apt install package          # 安装软件包
apt remove package           # 删除软件包
apt purge package            # 完全删除软件包(包括配置)
apt autoremove               # 删除不需要的依赖包
apt clean                    # 清理本地缓存
apt autoclean                # 清理过期的缓存文件
apt search package           # 搜索软件包
apt show package             # 显示软件包详细信息
apt list --installed         # 列出已安装的软件包
apt list --upgradable        # 列出可升级的软件包
apt-cache depends package    # 查看软件包依赖
apt-cache rdepends package   # 查看软件包被依赖情况
dpkg -i package.deb          # 安装.deb包
dpkg -r package              # 删除.deb包
dpkg -l                      # 列出已安装的.deb包

CentOS/RHEL系列(YUM/DNF)

bash 复制代码
yum update                   # 更新软件包
yum upgrade                  # 升级软件包
yum install package          # 安装软件包
yum remove package           # 删除软件包
yum erase package            # 完全删除软件包
yum clean all                # 清理缓存
yum search package           # 搜索软件包
yum info package             # 显示软件包信息
yum list installed           # 列出已安装的软件包
yum list updates             # 列出可更新的软件包
yum provides command         # 查找提供命令的软件包
yum deplist package          # 查看软件包依赖
yum check-update             # 检查可更新的软件包
yum localinstall package.rpm # 安装本地rpm包
yum repolist                 # 列出软件仓库

Fedora系列(DNF)

bash 复制代码
dnf update                   # 更新软件包
dnf install package          # 安装软件包
dnf remove package           # 删除软件包
dnf search package           # 搜索软件包
dnf info package             # 显示软件包信息
dnf list installed           # 列出已安装的软件包
dnf clean all                # 清理缓存

Arch Linux系列(PACMAN)

bash 复制代码
pacman -Syu                  # 同步软件仓库并升级系统
pacman -S package            # 安装软件包
pacman -R package            # 删除软件包
pacman -Rs package           # 删除软件包及其依赖
pacman -Q                    # 列出已安装的软件包
pacman -Ss package           # 搜索软件包
pacman -Si package           # 显示软件包信息
pacman -Sy                   # 同步软件仓库
pacman -Qe                   # 列出显式安装的软件包

任务调度

Crontab定时任务

bash 复制代码
crontab -e                   # 编辑当前用户的定时任务
crontab -l                   # 列出当前用户的定时任务
crontab -r                   # 删除当前用户的定时任务
crontab -u username -l       # 查看指定用户的定时任务

Crontab时间格式

bash 复制代码
# 格式:分 时 日 月 周 命令
* * * * * command            # 每分钟执行
0 * * * * command            # 每小时执行
0 0 * * * command            # 每天执行
0 0 * * 0 command            # 每周执行
0 0 1 * * command            # 每月执行
*/5 * * * * command          # 每5分钟执行
0 9-17 * * * command         # 每天9点到17点每小时执行
0 9,12,18 * * * command      # 每天9点、12点、18点执行

Systemd定时器

bash 复制代码
systemctl list-timers        # 列出所有定时器
systemctl start timer        # 启动定时器
systemctl stop timer         # 停止定时器
systemctl enable timer       # 启用定时器
systemctl disable timer      # 禁用定时器

At一次性任务

bash 复制代码
at now + 1 hour              # 1小时后执行
at 17:30                     # 今天17:30执行
at 17:30 2026-03-16          # 指定日期时间执行
atq                          # 查看待执行任务
atrm job_number              # 删除待执行任务

远程管理

SSH连接

bash 复制代码
ssh user@host                # 连接远程主机
ssh -p port user@host        # 指定端口连接
ssh -i keyfile user@host     # 使用密钥文件连接
ssh -L local_port:remote_host:remote_port user@host  # 本地端口转发
ssh -R remote_port:local_host:local_port user@host  # 远程端口转发
ssh -D local_port user@host  # 动态端口转发(SOCKS代理)
ssh-keygen                   # 生成SSH密钥对
ssh-copy-id user@host        # 复制公钥到远程主机
ssh-keyscan host             # 扫描主机公钥

文件传输

bash 复制代码
scp file user@host:/path     # 上传文件到远程
scp user@host:/path/file .   # 从远程下载文件
scp -r dir user@host:/path   # 递归上传目录
scp -P port file user@host:/path  # 指定端口传输
rsync -avz src dest          # 同步文件或目录
rsync -avz -e ssh src user@host:/path  # 通过ssh同步
rsync -avz --delete src dest  # 同步并删除目标中多余的文件
rsync -avz --progress src dest  # 显示同步进度

远程命令执行

bash 复制代码
ssh user@host "command"      # 在远程主机执行命令
ssh user@host 'command1; command2'  # 执行多个命令
ssh user@host << EOF         # 执行多行命令
command1
command2
EOF

防火墙管理

iptables防火墙

bash 复制代码
iptables -L -n               # 查看规则(数字显示)
iptables -L -v               # 查看规则(详细信息)
iptables -F                  # 清空所有规则
iptables -X                  # 删除用户自定义链
iptables -A INPUT -p tcp --dport 22 -j ACCEPT    # 允许SSH
iptables -A INPUT -p tcp --dport 80 -j ACCEPT    # 允许HTTP
iptables -A INPUT -p tcp --dport 443 -j ACCEPT   # 允许HTTPS
iptables -A INPUT -j DROP    # 拒绝其他所有连接
iptables -D INPUT 1          # 删除INPUT链第1条规则
iptables -I INPUT 1 -p tcp --dport 3306 -j ACCEPT  # 插入规则
service iptables save        # 保存规则
service iptables restart     # 重启防火墙

firewalld防火墙(CentOS 7+)

bash 复制代码
firewall-cmd --state         # 查看防火墙状态
firewall-cmd --list-all      # 查看所有规则
firewall-cmd --get-active-zones  # 查看活动区域
firewall-cmd --zone=public --add-port=80/tcp --permanent  # 开放端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent  # 关闭端口
firewall-cmd --reload        # 重新加载防火墙配置
firewall-cmd --complete-reload  # 完全重新加载
firewall-cmd --add-service=http --permanent  # 添加服务
firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" accept'  # 添加富规则

UFW防火墙(Ubuntu)

bash 复制代码
ufw enable                   # 启用防火墙
ufw disable                  # 禁用防火墙
ufw status                   # 查看防火墙状态
ufw allow 22                 # 允许SSH
ufw allow 80/tcp             # 允许HTTP
ufw deny 3306                # 拒绝MySQL
ufw delete allow 22          # 删除规则
ufw reload                   # 重新加载防火墙
ufw reset                    # 重置防火墙

系统监控

系统资源监控

bash 复制代码
top                         # 实时显示系统资源使用情况
htop                        # 增强版系统监控
vmstat 2                    # 每2秒显示系统状态
vmstat 2 5                  # 每2秒显示,共5次
iostat 2                    # 每2秒显示I/O统计
iostat -x 2                 # 显示详细I/O信息
sar -u 2 5                  # 每2秒显示CPU使用率,共5次
sar -r 2 5                  # 显示内存使用情况
sar -d 2 5                  # 显示磁盘使用情况
free -h                     # 查看内存使用情况(人类可读)
free -m                     # 以MB为单位显示内存
free -g                     # 以GB为单位显示内存

CPU监控

bash 复制代码
lscpu                       # 查看CPU信息
cat /proc/cpuinfo           # 查看CPU详细信息
mpstat 2                    # 每个CPU的使用情况
uptime                      # 查看系统负载

内存监控

bash 复制代码
free -h                     # 查看内存使用情况
cat /proc/meminfo           # 查看内存详细信息
vmstat -s                   # 显示内存统计
slabtop                     # 显示内核 slab 缓存

磁盘I/O监控

bash 复制代码
iostat 2                    # 查看磁盘I/O
iostat -x 2                 # 查看详细磁盘I/O
iotop                       # 查看进程I/O使用情况

网络监控

bash 复制代码
iftop                       # 实时网络带宽监控
nethogs                     # 按进程显示网络使用情况
netstat -i                  # 查看网络接口统计
ip -s link                  # 查看网络接口统计
sar -n DEV 2 5              # 查看网络设备统计

进程监控

bash 复制代码
ps aux                      # 查看所有进程
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem  # 按内存使用排序
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu  # 按CPU使用排序
pstree                      # 以树形显示进程
pgrep -l processname        # 查找进程并显示名称
pidof processname           # 查找进程ID

压缩解压

tar命令

bash 复制代码
tar -czvf archive.tar.gz file1 file2 dir1  # 压缩为tar.gz
tar -xzvf archive.tar.gz                  # 解压tar.gz
tar -cjvf archive.tar.bz2 file1 file2     # 压缩为tar.bz2
tar -xjvf archive.tar.bz2                 # 解压tar.bz2
tar -czvf archive.tar.gz -C /path/dir .   # 压缩指定目录
tar -xzvf archive.tar.gz -C /path/dir     # 解压到指定目录
tar -tzvf archive.tar.gz                  # 查看压缩包内容

zip命令

bash 复制代码
zip archive.zip file1 file2               # 压缩为zip
zip -r archive.zip directory              # 递归压缩目录
unzip archive.zip                         # 解压zip
unzip archive.zip -d /path/to/dir         # 解压到指定目录
unzip -l archive.zip                      # 查看zip内容
unzip -o archive.zip                      # 覆盖已存在文件

gzip命令

bash 复制代码
gzip file                                 # 压缩文件(删除原文件)
gzip -k file                              # 压缩文件(保留原文件)
gzip -d file.gz                           # 解压文件
gunzip file.gz                            # 解压文件
gzip -9 file                              # 最高压缩级别
gzip -1 file                              # 最快压缩级别

bzip2命令

bash 复制代码
bzip2 file                                # 压缩文件
bzip2 -d file.bz2                         # 解压文件
bunzip2 file.bz2                          # 解压文件
bzip2 -k file                             # 压缩文件(保留原文件)

xz命令

bash 复制代码
xz file                                   # 压缩文件
xz -d file.xz                             # 解压文件
unxz file.xz                              # 解压文件
xz -k file                                # 压缩文件(保留原文件)
xz -9 file                                # 最高压缩级别

7z命令

bash 复制代码
7z a archive.7z file1 file2               # 压缩为7z
7z x archive.7z                           # 解压7z
7z l archive.7z                           # 查看7z内容
7z a archive.7z -p password file          # 加密压缩
7z x archive.7z -p password               # 解密解压

搜索查找

find命令

bash 复制代码
find /path -name filename                 # 按名称查找
find /path -iname filename                # 按名称查找(忽略大小写)
find /path -type d                        # 查找目录
find /path -type f                        # 查找文件
find /path -size +100M                    # 查找大于100M的文件
find /path -size -10M                     # 查找小于10M的文件
find /path -user username                 # 按用户查找
find /path -group groupname               # 按组查找
find /path -perm 644                      # 按权限查找
find /path -mtime -7                      # 查找7天内修改的文件
find /path -mtime +30                     # 查找30天前修改的文件
find /path -ctime -7                      # 查找7天内创建的文件
find /path -atime -7                      # 查找7天内访问的文件
find /path -name "*.log" -exec rm {} \;   # 查找并删除文件
find /path -name "*.tmp" -delete           # 查找并删除文件

grep命令

bash 复制代码
grep "pattern" file                       # 在文件中搜索
grep -i "pattern" file                    # 忽略大小写搜索
grep -r "pattern" /path                   # 递归搜索目录
grep -n "pattern" file                    # 显示行号
grep -c "pattern" file                    # 统计匹配行数
grep -v "pattern" file                    # 反向匹配
grep -l "pattern" file1 file2             # 显示匹配的文件名
grep -w "word" file                       # 匹配整个单词
grep -A 5 "pattern" file                  # 显示匹配行及后5行
grep -B 5 "pattern" file                  # 显示匹配行及前5行
grep -C 5 "pattern" file                  # 显示匹配行及前后各5行
grep -E "pattern1|pattern2" file          # 匹配多个模式
grep -f patterns.txt file                 # 从文件读取模式

其他搜索命令

bash 复制代码
locate filename                           # 快速查找文件
updatedb                                  # 更新locate数据库
which command                             # 查找命令路径
whereis command                           # 查找命令相关文件
type command                              # 显示命令类型
apropos keyword                           # 搜索命令帮助

其他实用命令

文本处理

bash 复制代码
echo "text"                               # 输出文本
echo -e "line1\nline2"                    # 输出多行文本
printf "format" arg1 arg2                 # 格式化输出
cat file1 file2 > file3                   # 合并文件
split -l 1000 bigfile                     # 按行数分割文件
split -b 100M bigfile                     # 按大小分割文件
cat file* > mergedfile                    # 合并分割的文件

系统管理

bash 复制代码
shutdown -h now                           # 立即关机
shutdown -h +10                           # 10分钟后关机
shutdown -r now                           # 立即重启
shutdown -r +10                           # 10分钟后重启
reboot                                    # 重启系统
poweroff                                  # 关机系统
halt                                      # 停止系统
init 0                                    # 关机(运行级别0)
init 6                                    # 重启(运行级别6)
systemctl poweroff                        # 关机
systemctl reboot                          # 重启

环境变量

bash 复制代码
env                                       # 显示所有环境变量
export VAR=value                          # 设置环境变量
unset VAR                                 # 删除环境变量
echo $PATH                                # 查看PATH变量
echo $HOME                                # 查看HOME变量
export PATH=$PATH:/new/path               # 添加到PATH

别名和函数

bash 复制代码
alias                                      # 查看所有别名
alias ll='ls -lh'                          # 创建别名
unalias ll                                 # 删除别名
# 在~/.bashrc中添加永久别名
function_name() { commands; }              # 定义函数

帮助命令

bash 复制代码
man command                               # 查看命令手册
man -k keyword                            # 搜索手册
command --help                            # 查看命令帮助
help command                              # 查看内置命令帮助
info command                              # 查看命令信息
whatis command                            # 简要描述命令
apropos keyword                           # 搜索相关命令

系统信息

bash 复制代码
uname -a                                  # 显示系统信息
uname -r                                  # 显示内核版本
uname -m                                  # 显示硬件架构
cat /etc/os-release                       # 显示操作系统信息
cat /etc/issue                            # 显示发行版信息
lsb_release -a                            # 显示LSB信息
hostnamectl                               # 显示主机名信息
timedatectl                               # 显示时间和时区信息

性能分析

bash 复制代码
strace command                            # 跟踪系统调用
ltrace command                            # 跟踪库函数调用
time command                              # 测量命令执行时间
perf top                                  # 性能分析工具
perf record
相关推荐
叁金Coder2 小时前
【Centos8 环境下 X86 版本 docker-29.1.3 的安装配置】
运维·docker·容器
秃头摸鱼侠2 小时前
OpenClaw 入门到实战:安装、配置、使用、升级与卸载(Windows/macOS/Linux)
linux·windows·macos
小趴蔡ha2 小时前
Win11/Win10 使用 VMware 17.5 安装 Ubuntu 22.04 详细教程(附安装包与密钥下载)
linux·运维·ubuntu
代码AC不AC2 小时前
【Linux】进程间通信
linux·进程间通信·匿名管道
AMoon丶2 小时前
Golang--协程调度
linux·开发语言·后端·golang·go·协程·goroutine
小小的木头人3 小时前
Ubuntu 20版本中破坏: libgcc-s1冲突
linux·运维·ubuntu
Tim风声(网络工程师)3 小时前
什么是3元组NAT
运维·服务器
徐子元竟然被占了!!3 小时前
SSL/TLS证书是
服务器·网络协议·ssl