Linux 指令完整版

#把常用的指令和不常用的写出来,收藏后当做笔记来使用#

一、文件和目录管理

常用命令
bash 复制代码
# 目录操作
pwd                      # 显示当前目录
cd [目录]                # 切换目录
cd ~                     # 返回家目录
cd -                     # 返回上一个目录
ls [选项] [目录]         # 列出目录内容
mkdir [目录]             # 创建目录
rmdir [目录]             # 删除空目录
rm -r [目录]             # 递归删除目录
tree [目录]              # 树状显示目录结构

# 文件操作
touch [文件名]           # 创建空文件或更新时间戳
cp [源] [目标]           # 复制文件/目录
mv [源] [目标]           # 移动/重命名文件
rm [文件]                # 删除文件
ln -s [源] [目标]        # 创建软链接
详细选项
bash 复制代码
# ls 详细选项
ls -l                    # 长格式显示(详细信息)
ls -a                    # 显示所有文件(包括隐藏文件)
ls -h                    # 人性化显示文件大小
ls -t                    # 按修改时间排序
ls -r                    # 反向排序
ls -R                    # 递归显示子目录
ls -la                   # 组合选项:显示所有文件的详细信息
ls -lth                  # 按时间排序并人性化显示大小

# cp/mv/rm 详细选项
cp -r [目录] [目标]      # 递归复制目录
cp -a [源] [目标]        # 归档模式,保留所有属性
cp -i                    # 覆盖前提示
mv -i                    # 移动前提示
mv -f                    # 强制覆盖
rm -i                    # 删除前提示
rm -f                    # 强制删除
rm -rf [目录]            # 递归强制删除(危险!)

# find 查找文件
find [路径] -name "文件名"      # 按文件名查找
find [路径] -type f             # 查找文件
find [路径] -type d             # 查找目录
find [路径] -size +10M          # 查找大于10M的文件
find [路径] -mtime -7           # 查找7天内修改的文件
find [路径] -user root          # 按用户查找
find [路径] -perm 755           # 按权限查找
find [路径] -name "*.txt" -exec rm {} \;  # 查找并删除

二、文件查看和编辑

查看命令
bash 复制代码
# 基本查看
cat [文件]              # 显示整个文件
tac [文件]              # 反向显示文件
more [文件]             # 分页查看(只能向下)
less [文件]             # 分页查看(可上下翻页)
head [-n] [文件]        # 查看文件开头n行
tail [-n] [文件]        # 查看文件末尾n行
tail -f [文件]          # 实时追踪文件变化

# 高级查看
wc [文件]               # 统计行数、单词数、字节数
file [文件]             # 显示文件类型
stat [文件]             # 显示文件详细信息
diff [文件1] [文件2]    # 比较文件差异
cmp [文件1] [文件2]     # 逐字节比较文件
md5sum [文件]           # 计算MD5校验和
sha256sum [文件]        # 计算SHA256校验和
编辑命令
bash 复制代码
# vi/vim 常用命令
vi [文件]               # 打开文件
i                      # 进入插入模式
ESC                    # 退出插入模式
:w                     # 保存
:wq                    # 保存并退出
:q!                    # 不保存强制退出
:set nu                # 显示行号
:/关键词               # 搜索关键词
:n                     # 跳转到第n行
dd                     # 删除整行
yy                     # 复制整行
p                      # 粘贴
u                      # 撤销

# nano 编辑器
nano [文件]            # 打开文件
Ctrl+O                 # 保存
Ctrl+X                 # 退出
Ctrl+K                 # 剪切行
Ctrl+U                 # 粘贴

三、权限管理

用户和组
bash 复制代码
# 用户管理
whoami                 # 显示当前用户
id [用户名]            # 显示用户信息
who                    # 显示已登录用户
w                      # 显示已登录用户及活动
last                   # 显示登录历史
useradd [用户名]       # 添加用户
usermod [选项] [用户]  # 修改用户
userdel [用户名]       # 删除用户
passwd [用户名]        # 修改密码
su [用户名]            # 切换用户
sudo [命令]            # 以root权限执行

# 组管理
groups [用户]          # 显示用户所属组
groupadd [组名]        # 添加组
groupdel [组名]        # 删除组
gpasswd -a [用户] [组] # 添加用户到组
gpasswd -d [用户] [组] # 从组中移除用户
文件权限
bash 复制代码
# 权限修改
chmod [权限] [文件]    # 修改文件权限
chown [用户]:[组] [文件] # 修改文件所有者和组
chgrp [组] [文件]      # 修改文件所属组

# 权限表示法
chmod 755 [文件]       # rwxr-xr-x
chmod 644 [文件]       # rw-r--r--
chmod 777 [文件]       # rwxrwxrwx
chmod u+x [文件]       # 给所有者添加执行权限
chmod g-w [文件]       # 移除组的写权限
chmod o=r [文件]       # 给其他用户只读权限
chmod a+x [文件]       # 给所有用户添加执行权限

四、系统信息

系统状态
bash 复制代码
# 系统信息
uname -a              # 显示所有系统信息
uname -r              # 显示内核版本
hostname              # 显示主机名
hostnamectl           # 显示主机名详细信息
uptime                # 显示系统运行时间
date                  # 显示日期时间
cal                   # 显示日历
timedatectl           # 显示和设置时间

# 硬件信息
lscpu                 # 显示CPU信息
free -h               # 显示内存使用(人性化)
df -h                 # 显示磁盘空间(人性化)
du -sh [目录]         # 显示目录大小
lsblk                 # 显示块设备信息
lspci                 # 显示PCI设备
lsusb                 # 显示USB设备
dmidecode             # 显示DMI信息
进程管理
bash 复制代码
# 进程查看
ps                    # 显示当前进程
ps aux                # 显示所有进程详细信息
ps -ef                # 显示完整格式的进程信息
top                   # 动态显示进程
htop                  # 增强版top(需安装)
pstree                # 树状显示进程
pgrep [进程名]        # 查找进程PID
pkill [进程名]        # 终止进程
pidof [进程名]        # 查找进程PID

# 进程控制
kill [PID]            # 终止进程
kill -9 [PID]         # 强制终止进程
killall [进程名]      # 终止所有同名进程
nice -n [优先级] [命令] # 指定进程优先级
renice [优先级] [PID]  # 修改进程优先级
jobs                  # 显示后台作业
fg [作业号]           # 将后台作业调到前台
bg [作业号]           # 将作业放到后台运行

五、网络管理

网络配置
bash 复制代码
# 网络状态
ifconfig              # 显示网络接口配置
ip addr               # 显示IP地址(推荐)
ip link               # 显示网络接口
ip route              # 显示路由表
netstat -tulnp        # 显示网络连接和监听端口
ss -tulnp             # 更快的netstat替代
route -n              # 显示路由表
arp -a                # 显示ARP缓存

# 网络测试
ping [主机]           # 测试网络连通性
traceroute [主机]     # 追踪路由路径
mtr [主机]            # 增强版traceroute
nslookup [域名]       # DNS查询
dig [域名]            # 详细DNS查询
host [域名]           # 域名解析
curl [URL]            # 传输数据
wget [URL]            # 下载文件
防火墙
bash 复制代码
# iptables
iptables -L           # 列出规则
iptables -A INPUT -p tcp --dport 22 -j ACCEPT  # 允许SSH
iptables -A INPUT -j DROP                      # 默认拒绝

# firewalld(CentOS/RHEL)
firewall-cmd --state           # 查看状态
firewall-cmd --list-all        # 列出所有规则
firewall-cmd --add-port=80/tcp --permanent  # 开放端口
firewall-cmd --reload          # 重新加载

# ufw(Ubuntu)
ufw status              # 查看状态
ufw enable              # 启用
ufw disable             # 禁用
ufw allow 22/tcp        # 开放端口
ufw deny 22/tcp         # 拒绝端口

六、软件包管理

包管理器
bash 复制代码
# Debian/Ubuntu (APT)
apt update            # 更新软件包列表
apt upgrade           # 升级已安装的包
apt install [包名]    # 安装软件包
apt remove [包名]     # 删除软件包
apt purge [包名]      # 彻底删除(包括配置)
apt search [关键词]   # 搜索软件包
apt show [包名]       # 显示包信息
apt list --installed  # 列出已安装的包
apt autoremove        # 自动删除不需要的包
apt clean             # 清理缓存

# RedHat/CentOS (YUM/DNF)
yum install [包名]    # 安装
yum remove [包名]     # 删除
yum update            # 更新
yum search [关键词]   # 搜索
yum list installed    # 列出已安装
dnf [命令]           # DNF(YUM的替代)

# Arch Linux (Pacman)
pacman -S [包名]      # 安装
pacman -R [包名]      # 删除
pacman -Syu           # 更新系统
pacman -Ss [关键词]   # 搜索
pacman -Q             # 查询已安装

# 通用编译安装
./configure           # 配置
make                  # 编译
make install          # 安装
make clean            # 清理

七、磁盘管理

磁盘操作
bash 复制代码
# 磁盘信息
fdisk -l              # 列出磁盘分区
lsblk                 # 列出块设备
blkid                 # 显示块设备UUID
parted -l             # 显示分区表
df -h                 # 显示磁盘使用情况
du -sh *              # 显示当前目录各文件大小

# 磁盘分区
fdisk /dev/sda        # 分区工具
parted /dev/sda       # 高级分区工具
gdisk /dev/sda        # GPT分区工具

# 文件系统
mkfs.ext4 /dev/sda1   # 创建ext4文件系统
mkfs.xfs /dev/sda1    # 创建XFS文件系统
fsck /dev/sda1        # 检查文件系统
mount /dev/sda1 /mnt  # 挂载
umount /mnt           # 卸载
mount -a              # 挂载/etc/fstab中的所有设备

# LVM管理
pvcreate /dev/sdb     # 创建物理卷
vgcreate vg0 /dev/sdb # 创建卷组
lvcreate -L 10G -n lv0 vg0  # 创建逻辑卷
lvextend -L +5G /dev/vg0/lv0  # 扩展逻辑卷

八、系统管理

服务管理
bash 复制代码
# systemd(现代Linux)
systemctl start [服务]      # 启动服务
systemctl stop [服务]       # 停止服务
systemctl restart [服务]    # 重启服务
systemctl status [服务]     # 查看服务状态
systemctl enable [服务]     # 设置开机启动
systemctl disable [服务]    # 禁用开机启动
systemctl daemon-reload     # 重新加载配置
systemctl list-units --type=service  # 列出所有服务
journalctl -u [服务]        # 查看服务日志
journalctl -f              # 实时查看日志

# SysV init(旧系统)
service [服务] start       # 启动
service [服务] stop        # 停止
service [服务] restart     # 重启
service [服务] status      # 状态
chkconfig [服务] on        # 开机启动
chkconfig [服务] off       # 关闭开机启动
任务调度
bash 复制代码
# crontab
crontab -e              # 编辑当前用户的crontab
crontab -l              # 列出当前用户的crontab
crontab -r              # 删除当前用户的crontab

# cron格式
* * * * * [命令]        # 分 时 日 月 周
# 示例
0 2 * * * /backup.sh    # 每天2:00执行
*/5 * * * * /check.sh   # 每5分钟执行
0 0 1 * * /monthly.sh   # 每月1日执行

# at命令
at 14:30                # 在指定时间执行
at now + 1 hour         # 1小时后执行
atq                     # 查看待执行任务
atrm [任务号]           # 删除任务

九、性能监控

监控工具
bash 复制代码
# 实时监控
top                    # 进程监控
htop                   # 增强版top
iotop                  # I/O监控
iftop                  # 网络流量监控
nethogs                # 按进程的网络流量
vmstat 1               # 虚拟内存统计
iostat 1               # I/O统计
mpstat 1               # CPU统计
sar                    # 系统活动报告

# 内存监控
free -m                # 内存使用(MB)
vmstat -s              # 内存统计
slabtop                # 内核slab缓存信息

# 磁盘监控
df -h                  # 磁盘空间
du -sh [目录]          # 目录大小
iotop                  # 磁盘I/O
iostat -x 1            # 详细磁盘I/O

# 网络监控
netstat -s             # 网络统计
ss -s                  # 套接字统计
tcpdump -i eth0        # 抓包分析
nload                  # 实时网络流量

十、搜索和过滤

文本处理
bash 复制代码
# grep 文本搜索
grep "模式" [文件]      # 搜索文本
grep -i "模式" [文件]   # 忽略大小写
grep -r "模式" [目录]   # 递归搜索
grep -v "模式" [文件]   # 反向搜索(不匹配的)
grep -n "模式" [文件]   # 显示行号
grep -c "模式" [文件]   # 统计匹配行数
grep -E "模式" [文件]   # 使用扩展正则表达式
egrep "模式" [文件]     # 同grep -E
grep -o "模式" [文件]   # 只输出匹配的部分

# sed 流编辑器
sed 's/旧/新/g' [文件]  # 替换文本
sed -n '5,10p' [文件]   # 打印5-10行
sed '/模式/d' [文件]    # 删除匹配行
sed -i 's/旧/新/g' [文件] # 直接修改文件

# awk 文本处理
awk '{print $1}' [文件]  # 打印第一列
awk -F: '{print $1}' [文件] # 以:为分隔符
awk '/模式/ {print $0}' [文件] # 打印匹配行
awk 'NR==5' [文件]       # 打印第5行
awk '{sum+=$1} END {print sum}' [文件] # 求和
排序和去重
bash 复制代码
# sort 排序
sort [文件]            # 排序
sort -r [文件]         # 反向排序
sort -n [文件]         # 按数字排序
sort -u [文件]         # 去重排序
sort -k 2 [文件]       # 按第二列排序
sort -t: -k 3 [文件]   # 以:分隔,按第三列排序

# uniq 去重
uniq [文件]            # 去除相邻重复行
uniq -c [文件]         # 统计重复次数
uniq -d [文件]         # 只显示重复行
uniq -u [文件]         # 只显示不重复行

# 其他文本处理
cut -d: -f1 [文件]     # 以:分隔,取第一列
cut -c1-5 [文件]       # 取1-5字符
tr 'a-z' 'A-Z'         # 小写转大写
tr -d '\n'             # 删除换行符
paste [文件1] [文件2]  # 合并文件列
join [文件1] [文件2]   # 连接两个文件

十一、安全相关

SSH
bash 复制代码
# SSH客户端
ssh [用户]@[主机]      # SSH连接
ssh -p [端口] [用户]@[主机] # 指定端口
ssh -i [密钥文件] [用户]@[主机] # 使用密钥
ssh -v [用户]@[主机]   # 详细模式
ssh -L 8080:localhost:80 [用户]@[主机] # 本地端口转发
ssh -R 8080:localhost:80 [用户]@[主机] # 远程端口转发

# SSH服务器
sshd                    # SSH服务器
ssh-keygen              # 生成密钥对
ssh-copy-id [用户]@[主机] # 复制公钥到远程主机
/etc/ssh/sshd_config    # SSH服务器配置文件
加密和压缩
bash 复制代码
# 加密解密
gpg -c [文件]          # 加密文件
gpg -d [文件.gpg]      # 解密文件
openssl enc -aes-256-cbc -salt -in [文件] -out [文件.enc]  # AES加密
openssl enc -d -aes-256-cbc -in [文件.enc] -out [文件]     # AES解密

# 压缩解压
# tar
tar -czvf archive.tar.gz [目录]  # 创建gzip压缩包
tar -xzvf archive.tar.gz         # 解压gzip压缩包
tar -cjvf archive.tar.bz2 [目录] # 创建bzip2压缩包
tar -xjvf archive.tar.bz2        # 解压bzip2压缩包
tar -cJvf archive.tar.xz [目录]  # 创建xz压缩包
tar -xJvf archive.tar.xz         # 解压xz压缩包

# 其他压缩
gzip [文件]            # 压缩文件
gunzip [文件.gz]       # 解压gzip
bzip2 [文件]           # 压缩文件
bunzip2 [文件.bz2]     # 解压bzip2
zip archive.zip [文件] # 创建zip压缩包
unzip archive.zip      # 解压zip
7z a archive.7z [文件] # 创建7z压缩包
7z x archive.7z        # 解压7z

十二、Shell相关

Shell内置命令
bash 复制代码
# 变量
echo $变量名           # 输出变量
export 变量名=值       # 设置环境变量
unset 变量名           # 删除变量
readonly 变量名=值     # 设置只读变量

# 别名和历史
alias                  # 显示所有别名
alias 别名='命令'      # 设置别名
unalias 别名           # 删除别名
history               # 显示命令历史
!!                    # 上一条命令
!n                    # 执行历史中第n条命令
!字符串               # 执行最近以字符串开头的命令
Ctrl+R               # 搜索历史命令

# 作业控制
jobs                  # 显示后台作业
fg %n                # 将作业n调到前台
bg %n                # 将作业n放到后台
Ctrl+Z               # 暂停当前作业
Ctrl+C               # 终止当前命令
Ctrl+D               # 退出shell
重定向和管道
bash 复制代码
# 输入输出重定向
命令 > 文件            # 输出重定向(覆盖)
命令 >> 文件           # 输出重定向(追加)
命令 < 文件            # 输入重定向
命令 2> 文件           # 错误输出重定向
命令 &> 文件           # 所有输出重定向
命令 2>&1             # 错误输出重定向到标准输出

# 管道
命令1 | 命令2          # 管道,将命令1的输出作为命令2的输入
命令1 | tee 文件       # 同时输出到屏幕和文件

十三、实用技巧

快捷键
bash 复制代码
# 终端快捷键
Ctrl+A              # 移动到行首
Ctrl+E              # 移动到行尾
Ctrl+U              # 删除到行首
Ctrl+K              # 删除到行尾
Ctrl+W              # 删除前一个单词
Alt+Backspace       # 删除前一个单词
Ctrl+L              # 清屏
Ctrl+R              # 搜索历史命令
Tab                 # 自动补全
Ctrl+D              # 退出shell/发送EOF
Ctrl+Z              # 暂停进程
Ctrl+C              # 终止进程
组合命令
bash 复制代码
# 常用组合
command1 && command2   # command1成功则执行command2
command1 || command2   # command1失败则执行command2
command1 ; command2    # 顺序执行
(command1; command2)   # 在子shell中执行
{ command1; command2; } # 在当前shell中执行

# 后台和重定向组合
nohup command &        # 后台运行,忽略挂起信号
command > /dev/null 2>&1 &  # 后台运行,丢弃所有输出

十四、系统日志

日志文件位置
bash 复制代码
/var/log/messages     # 系统主日志文件(CentOS/RHEL)
/var/log/syslog       # 系统主日志文件(Ubuntu/Debian)
/var/log/auth.log     # 认证日志
/var/log/secure       # 安全日志(CentOS/RHEL)
/var/log/boot.log     # 启动日志
/var/log/dmesg        # 内核日志
/var/log/cron         # 计划任务日志
/var/log/maillog      # 邮件日志
/var/log/httpd/       # Apache日志
/var/log/nginx/       # Nginx日志
/var/log/mysql/       # MySQL日志
日志查看命令
bash 复制代码
# journalctl(systemd系统)
journalctl                 # 查看所有日志
journalctl -f              # 实时查看日志
journalctl -u [服务]       # 查看指定服务日志
journalctl --since "1 hour ago"  # 查看1小时内的日志
journalctl --until "2024-01-01"  # 查看直到某时间的日志
journalctl -p err          # 查看错误级别日志
journalctl -k              # 查看内核日志

# 传统日志查看
dmesg                      # 查看内核消息
dmesg | grep -i error      # 过滤错误信息
tail -f /var/log/syslog    # 实时查看系统日志
grep "error" /var/log/syslog  # 搜索错误信息

十五、高级命令

性能调优
bash 复制代码
# 系统调优
sysctl -a                 # 显示所有内核参数
sysctl -w 参数=值         # 临时修改内核参数
tuned-adm active          # 显示当前调优方案
tuned-adm profile [方案]  # 切换调优方案

# 进程调优
nice -n 10 command       # 低优先级运行
renice 10 -p [PID]       # 修改进程优先级
ionice -c 3 command      # 空闲I/O优先级
taskset -c 0,1 command   # 绑定到CPU 0和1
虚拟化和容器
bash 复制代码
# Docker
docker ps                # 查看运行中的容器
docker ps -a            # 查看所有容器
docker images           # 查看镜像
docker run [镜像]       # 运行容器
docker exec -it [容器] bash  # 进入容器
docker stop [容器]      # 停止容器
docker rm [容器]        # 删除容器
docker rmi [镜像]       # 删除镜像

# Podman(无守护进程Docker替代)
podman ps
podman run
podman exec

# 虚拟机管理
virsh list              # 列出虚拟机
virsh start [VM]        # 启动虚拟机
virsh shutdown [VM]     # 关闭虚拟机
virsh destroy [VM]      # 强制关闭

十六、帮助和文档

帮助系统
bash 复制代码
# 命令帮助
man [命令]              # 查看手册页
man -k [关键词]         # 搜索手册页
info [命令]             # 查看info文档
[命令] --help          # 查看命令帮助
whatis [命令]           # 显示命令简短描述
which [命令]            # 显示命令路径
whereis [命令]          # 显示命令位置
type [命令]             # 显示命令类型

# 文档查看
apropos [关键词]        # 搜索相关命令
help [内置命令]         # 查看shell内置命令帮助
pinfo [命令]            # 更好的info浏览器
tldr [命令]             # 简化版man(需安装)
💡 使用技巧
  • 命令补全:按Tab键可自动补全命令、文件名、路径

  • 历史命令 :使用!加前缀可快速执行历史命令

  • 别名:将常用长命令设置为简短别名

  • 脚本:将常用操作写成脚本提高效率

  • 管道:组合多个命令完成复杂任务

  • 重定向:灵活控制输入输出

  • 通配符 :使用*?[]匹配多个文件

  • 后台运行 :在命令后加&可在后台运行

  • 命令替换 :使用$(命令)将命令输出作为参数

注意 :使用rm -rffdiskdd等危险命令时务必小心,避免误操作导致数据丢失!

相关推荐
ChaoFeiLi1 小时前
Linux离线安装NVIDIA Container Toolkit
linux·服务器
funnycoffee1231 小时前
cisco Firepower 4110 9300 FXOS set chassis hostname
java·服务器·数据库
广州服务器托管1 小时前
[2026.5.12][IT工坊]WIN11.26300.8376专业工作站版[PIIS]中简 深度优化
运维·人工智能·windows·计算机网络·可信计算技术
草莓熊Lotso1 小时前
【Linux网络】从 0 到 1 实现高性能 UDP 聊天室:深入拆解 Linux 网络编程与线程池架构
linux·运维·服务器·网络·数据库·c++·udp
05候补工程师1 小时前
ROS 2 入门:从零实现小海龟 (Turtlesim) 的手动控制与自动化绘圆
运维·经验分享·python·ubuntu·机器人·自动化
努力的小帅1 小时前
Ubuntu 使用 avahi/mDNS 实现固定连接(VSCode Remote SSH + NoMachine)
linux·vscode·ubuntu·ssh·linux入门
艾莉丝努力练剑1 小时前
【Linux网络】Linux 网络编程:应用层自定义协议与序列化(2)序列化与反序列化
linux·运维·服务器·c++·网络协议·序列化
XiYang-DING1 小时前
【Java EE】Cookie
服务器·前端·java-ee
天问一1 小时前
bat文件切换电脑ip
服务器·网络·tcp/ip