以下按功能分类整理了 Linux 系统中高频、实用、细节丰富的命令,不含应急响应内容,覆盖日常运维、系统管理、配置排查、自动化等场景,带常用参数、示例和实用提示,可直接套用(适用于 Ubuntu/Debian/CentOS/RHEL 等主流发行版)。
一、基础文件与目录操作(最常用)
1. pwd 显示当前工作目录
- 用法:直接输入
pwd,显示当前所在的完整路径 - 示例:
pwd→ 输出/home/user/documents - 细节提示:配合
cd命令使用,避免迷路
2. ls 列出目录内容
- 用法:
ls [参数] [路径] - 常用参数:
-l长格式显示(权限、所有者、大小、修改时间)-a显示所有文件(含隐藏文件,以.开头)-h人类可读格式显示文件大小(KB/MB/GB)-R递归显示子目录内容-t按修改时间排序(最新在前)
- 示例:
ls -lha查看当前目录所有文件的详细信息ls -lt /var/log按时间排序查看日志目录文件
- 细节提示:
ll是ls -l的常用别名,大部分系统默认配置
3. cd 目录切换
- 用法:
cd [路径] - 示例:
cd /home/user进入指定目录cd ..返回上一级目录cd ~或cd快速返回当前用户主目录cd -返回上一个工作目录cd /直接跳转到根目录
- 细节提示:路径含空格时,用引号包裹或转义,如
cd "my docs"或cd my\ docs
4. mkdir 创建目录
- 用法:
mkdir [参数] 目录名 - 常用参数:
-p递归创建多级目录(父目录不存在时自动创建) - 示例:
mkdir new_folder创建单个目录mkdir -p /opt/project/src/main一次性创建多级目录
- 细节提示:
-m参数可直接设置权限,如mkdir -m 755 public
5. cp 文件 / 目录复制
- 用法:
cp [参数] 源文件 目标文件 - 常用参数:
-r或-R递归复制目录(必须加,否则无法复制目录)-a归档复制(保留权限、所有者、时间戳等所有属性)-f强制覆盖目标文件不提示-v显示复制过程
- 示例:
cp file.txt /backup/复制文件到目标目录cp -avr /data /backup/完整复制目录及所有属性
- 细节提示:
cp -i会在覆盖前提示,适合谨慎操作
6. mv 文件 / 目录移动 / 重命名
- 用法:
mv [参数] 源 目标 - 常用参数:
-f强制覆盖,-i覆盖前提示 - 示例:
mv file.txt /new/path/移动文件mv oldname.txt newname.txt重命名文件(同目录)mv dir1 dir2重命名目录或移动目录
- 细节提示:跨文件系统移动 = 复制 + 删除,同文件系统移动瞬间完成
7. rm 删除文件 / 目录
- 用法:
rm [参数] 文件/目录 - 常用参数:
-r递归删除目录及所有内容-f强制删除不提示-i删除前提示(安全模式)
- 示例:
rm file.txt删除单个文件rm -rf old_dir/强制删除整个目录(谨慎使用!)rm -i *.log删除所有.log 文件前逐一确认
- 🔴 致命提示:
rm -rf /会删除系统所有文件,绝对禁止使用!
8. touch 创建空文件 / 更新时间戳
- 用法:
touch 文件名 - 示例:
touch newfile.txt创建空文件touch -d "2026-01-01" oldfile.txt修改文件时间戳
- 细节提示:文件已存在时,仅更新访问和修改时间,不改变内容
9. ln 创建链接文件
- 用法:
ln [参数] 源文件 链接文件 - 常用参数:
-s创建符号链接(软链接),默认硬链接 - 示例:
ln -s /usr/bin/python3 /usr/bin/python创建 Python3 的软链接ln file.txt file.link创建硬链接
- 细节提示:软链接可跨文件系统,硬链接只能在同一文件系统内
二、文件内容查看与编辑
1. cat 查看文件内容(正序)
- 用法:
cat [参数] 文件名 - 常用参数:
-n显示行号,-b显示非空行号 - 示例:
cat /etc/passwd查看用户配置文件cat -n log.txt查看日志并显示行号
- 细节提示:适合查看小文件,大文件用
less更高效
2. less 分页查看文件内容(最常用)
- 用法:
less 文件名 - 常用操作:
- 空格键:向下翻页,
b:向上翻页 /关键词:向下搜索,?关键词:向上搜索n:下一个匹配项,N:上一个匹配项q:退出查看
- 空格键:向下翻页,
- 示例:
less /var/log/syslog分页查看系统日志 - 细节提示:
less支持向前 / 向后翻页,比more更灵活
3. head 查看文件开头部分
- 用法:
head [参数] 文件名 - 常用参数:
-n 行数显示前 N 行(默认 10 行) - 示例:
head /etc/hosts查看 hosts 文件前 10 行head -n 20 access.log查看访问日志前 20 行
4. tail 查看文件结尾部分 / 实时日志
- 用法:
tail [参数] 文件名 - 常用参数:
-n 行数显示后 N 行(默认 10 行)-f实时跟踪文件更新(日志监控必备)-F与-f类似,但文件被删除重建后仍能继续跟踪
- 示例:
tail -n 50 error.log查看错误日志最后 50 行tail -F /var/log/nginx/access.log实时监控 Nginx 访问日志
- 细节提示:按
Ctrl+C停止实时跟踪
5. grep 文本搜索过滤神器
- 用法:
grep [参数] "关键词" 文件名 - 常用参数:
-i忽略大小写-n显示匹配行的行号-v反向匹配(显示不包含关键词的行)-r递归搜索目录下所有文件-c只显示匹配行数
- 示例:
grep -in "error" app.log搜索日志中所有错误行并显示行号grep -rv "test" /code/搜索代码目录中不含 test 的文件ps aux | grep nginx查找 nginx 进程
- 细节提示:结合管道符
|使用,功能更强大
6. nano 简单文本编辑器(新手友好)
- 用法:
nano 文件名 - 常用操作:
Ctrl+O保存文件,Ctrl+X退出编辑器Ctrl+W搜索文本,Ctrl+\替换文本Ctrl+G查看帮助
- 示例:
nano /etc/resolv.conf编辑 DNS 配置文件 - 细节提示:适合快速编辑,复杂编辑推荐
vim
7. vim 高级文本编辑器(专业必备)
- 用法:
vim 文件名 - 基础操作:
- 进入编辑模式:按
i键(插入)或a键(追加) - 退出编辑模式:按
Esc键 - 保存退出:
:wq,强制保存退出::wq! - 不保存退出:
:q! - 搜索:
/关键词,替换::%s/旧内容/新内容/g
- 进入编辑模式:按
- 示例:
vim /etc/nginx/nginx.conf编辑 Nginx 配置文件 - 细节提示:Linux 系统标配,功能强大,建议熟练掌握基础操作
三、系统信息与监控
1. uname 查看系统内核信息
- 用法:
uname [参数] - 常用参数:
-a显示完整系统信息(内核版本、主机名、架构等) - 示例:
uname -a→ 输出Linux server 5.15.0-78-generic #85-Ubuntu SMP Fri Jul 7 15:25:09 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
2. lsb_release 查看发行版信息
- 用法:
lsb_release -a - 示例:查看 Ubuntu/Debian 系统版本,输出发行版名称、版本号、代号
3. top 实时系统监控(任务管理器)
- 用法:直接输入
top,显示 CPU、内存、进程等实时信息 - 常用操作:
P按 CPU 使用率排序,M按内存使用率排序k终止进程(输入 PID),q退出
- 示例:
top查看系统资源占用情况 - 细节提示:
htop是top的增强版,界面更友好,功能更丰富
4. ps 查看进程状态
- 用法:
ps [参数] - 常用参数:
aux显示所有用户的所有进程(最常用)ef显示进程树和父进程 ID
- 示例:
ps aux | grep java查看所有 Java 进程ps ef | grep nginx查看 nginx 进程树
- 细节提示:结合
grep过滤进程,是排查服务是否运行的常用组合
5. free 查看内存使用情况
- 用法:
free [参数] - 常用参数:
-h人类可读格式显示内存大小 - 示例:
free -h→ 输出总内存、已用、空闲、缓存等信息 - 细节提示:
buff/cache是系统缓存,可释放,实际可用内存更大
6. df 查看磁盘空间使用情况
- 用法:
df [参数] - 常用参数:
-h人类可读格式,-T显示文件系统类型 - 示例:
df -hT查看所有磁盘分区的空间使用和文件系统类型 - 细节提示:
df -i查看 inode 使用情况,避免因 inode 耗尽导致无法创建文件
7. du 查看文件 / 目录大小
- 用法:
du [参数] 目录/文件 - 常用参数:
-h人类可读格式-s仅显示总大小(不显示子目录)-c显示总计
- 示例:
du -sh /var/log查看日志目录总大小du -h --max-depth=1 /home查看用户目录下一级目录大小
- 细节提示:
du -sh *快速查看当前目录下所有文件 / 目录大小
8. uptime 查看系统运行时间
- 用法:直接输入
uptime - 示例:输出
15:30:00 up 2 days, 4:15, 1 user, load average: 0.00, 0.01, 0.05 - 细节提示:显示系统已运行时间、登录用户数和系统负载(1/5/15 分钟)
9. who / w 查看登录用户信息
who:显示当前登录用户w:显示登录用户及正在执行的命令- 示例:
w查看系统当前用户活动情况
四、用户与权限管理
1. useradd 创建用户
- 用法:
useradd [参数] 用户名(需 root 权限) - 常用参数:
-m自动创建用户主目录-s指定默认 shell(如/bin/bash)-g指定初始用户组-G指定附加用户组
- 示例:
useradd -m -s /bin/bash -g users -G sudo newuser创建带主目录、bash shell、加入 sudo 组的用户
2. passwd 设置 / 修改用户密码
- 用法:
passwd [用户名](root 可修改所有用户密码) - 示例:
passwd newuser为 newuser 设置密码passwd修改当前用户密码
- 细节提示:密码应包含大小写字母、数字和特殊字符,长度≥8 位
3. userdel 删除用户
- 用法:
userdel [参数] 用户名(需 root 权限) - 常用参数:
-r同时删除用户主目录和邮件文件 - 示例:
userdel -r olduser彻底删除用户及相关文件
4. groupadd / groupdel 组管理
groupadd:创建用户组,示例:groupadd developersgroupdel:删除用户组,示例:groupdel oldgroup
5. usermod 修改用户属性
- 用法:
usermod [参数] 用户名(需 root 权限) - 常用参数:
-aG添加用户到附加组(不覆盖原有组)-s修改默认 shell-l修改用户名
- 示例:
usermod -aG docker user将用户添加到 docker 组,使其能运行 docker 命令
6. chmod 修改文件 / 目录权限
- 用法:
chmod [参数] 权限 文件名 - 权限表示:
- 数字法:
r=4、w=2、x=1,如755(所有者读 / 写 / 执行,组和其他读 / 执行) - 符号法:
u(所有者)、g(组)、o(其他)、a(所有),如u+x(给所有者加执行权限)
- 数字法:
- 示例:
chmod 755 script.sh赋予脚本执行权限chmod -R 644 /data递归修改目录下所有文件为只读(除所有者)chmod u+w file.txt给所有者添加写权限
- 细节提示:目录必须有
x权限才能进入,文件通常不需要x权限
7. chown 修改文件 / 目录所有者
- 用法:
chown [参数] 所有者:组 文件名(需 root 权限) - 常用参数:
-R递归修改目录下所有文件 - 示例:
chown user:users file.txt把文件所有者改为 user,组改为 userschown -R www-data:www-data /var/www递归修改网站目录权限给 nginx/apache 用户
- 细节提示:
chgrp命令可单独修改文件组
8. sudo 以其他用户身份执行命令
- 用法:
sudo [参数] 命令 - 常用参数:
-i切换到 root 用户环境,-u指定执行命令的用户 - 示例:
sudo apt update以 root 权限更新软件包列表sudo -u www-data ls /var/www以 www-data 用户身份查看网站目录
- 细节提示:配置
sudo权限需编辑/etc/sudoers文件(用visudo命令安全编辑)
五、网络管理与诊断
1. ip 网络配置工具(替代 ifconfig)
- 用法:
ip [参数] - 常用子命令:
ip addr或ip a查看网络接口和 IP 地址ip route或ip r查看路由表ip link set dev eth0 up/down启用 / 禁用网卡ip neigh查看 ARP 缓存
- 示例:
ip a show eth0查看 eth0 网卡详细信息
2. ping 测试网络连通性
- 用法:
ping [参数] 目标IP/域名 - 常用参数:
-c 次数指定 ping 次数(Linux 默认持续 ping)-s 大小指定数据包大小-i 间隔指定 ping 间隔(秒)
- 示例:
ping -c 4 baidu.comping 百度 4 次ping -s 1024 192.168.1.1发送 1024 字节的 ping 包
- 细节提示:按
Ctrl+C停止 ping,ping -q只显示结果统计
3. traceroute 路由追踪
- 用法:
traceroute 目标IP/域名 - 示例:
traceroute baidu.com查看数据包到百度的路由路径 - 细节提示:CentOS/RHEL 可能需要安装:
sudo yum install traceroute
4. netstat 查看网络连接与端口占用
- 用法:
netstat [参数] - 常用参数:
-t显示 TCP 连接-u显示 UDP 连接-n以数字形式显示 IP 和端口-l显示监听状态的端口-p显示进程 PID 和名称(需 root 权限)
- 示例:
netstat -tuln查看所有监听端口 - 细节提示:
ss是netstat的现代替代,速度更快,功能更强大
5. ss 网络连接统计工具
- 用法:
ss [参数] - 常用参数:
-tuln查看监听端口,-p显示进程,-s显示统计信息 - 示例:
ss -tulnp | grep 80查看 80 端口占用情况 - 细节提示:
ss比netstat更高效,推荐优先使用
6. curl / wget 下载工具
curl:多功能网络工具,支持 HTTP/HTTPS/FTP 等- 示例:
curl -O https://example.com/file.zip下载文件,curl -I https://example.com查看响应头
- 示例:
wget:专注于文件下载- 示例:
wget https://example.com/file.zip下载文件,wget -c https://example.com/file.zip断点续传
- 示例:
- 细节提示:
curl -L跟随重定向,wget -r递归下载整个网站
7. hostnamectl 查看 / 修改主机名
- 用法:
hostnamectl [参数] - 示例:
hostnamectl查看主机名和系统信息hostnamectl set-hostname newhostname修改主机名(永久生效)
六、软件包管理
1. Debian/Ubuntu 系统(apt)
- 更新软件包列表:
sudo apt update - 升级已安装软件:
sudo apt upgrade - 安装软件:
sudo apt install 软件名(如sudo apt install nginx) - 卸载软件:
sudo apt remove 软件名(保留配置),sudo apt purge 软件名(彻底删除) - 搜索软件:
apt search 关键词 - 查看已安装软件:
apt list --installed
2. CentOS/RHEL 系统(yum/dnf)
- 更新软件包:
sudo yum update或sudo dnf update - 安装软件:
sudo yum install 软件名或sudo dnf install 软件名 - 卸载软件:
sudo yum remove 软件名或sudo dnf remove 软件名 - 搜索软件:
yum search 关键词或dnf search 关键词 - 查看软件信息:
yum info 软件名或dnf info 软件名
3. 通用源码安装步骤
- 下载源码包:
wget https://example.com/software.tar.gz - 解压:
tar -xzvf software.tar.gz - 进入目录:
cd software - 配置:
./configure --prefix=/usr/local/software - 编译:
make - 安装:
sudo make install
七、磁盘与文件系统管理
1. fdisk 磁盘分区工具
- 用法:
sudo fdisk /dev/sdX(X 为磁盘盘符,如 sda) - 常用操作:
n创建新分区,p显示分区表d删除分区,w保存退出,q不保存退出
- 示例:
sudo fdisk /dev/sdb对第二块磁盘进行分区 - 细节提示:
gdisk用于 GPT 分区表,fdisk用于 MBR 分区表
2. mkfs 格式化分区(创建文件系统)
- 用法:
sudo mkfs.[文件系统类型] /dev/sdXY - 示例:
sudo mkfs.ext4 /dev/sdb1格式化为 ext4 文件系统sudo mkfs.xfs /dev/sdb2格式化为 xfs 文件系统sudo mkfs.vfat /dev/sdb3格式化为 FAT32 文件系统
- 细节提示:格式化会删除所有数据,操作前务必确认分区正确
3. mount / umount 挂载 / 卸载文件系统
- 挂载:
sudo mount /dev/sdXY /mnt/point - 示例:
sudo mount /dev/sdb1 /mnt/data挂载分区到 /mnt/data - 卸载:
sudo umount /mnt/point或sudo umount /dev/sdXY - 永久挂载:编辑
/etc/fstab文件,添加一行:/dev/sdb1 /mnt/data ext4 defaults 0 0 - 细节提示:
mount -a重新挂载/etc/fstab中所有文件系统
4. fsck 磁盘检查与修复
- 用法:
sudo fsck [参数] /dev/sdXY(卸载后执行) - 常用参数:
-y自动修复所有错误 - 示例:
sudo fsck -y /dev/sdb1检查并修复分区错误 - 🔴 警告:不要在已挂载的文件系统上运行
fsck,可能导致数据损坏
八、压缩与归档
1. tar 归档工具(支持多种压缩格式)
- 常用参数:
-c创建归档,-x提取归档-v显示过程,-f指定归档文件名-z用 gzip 压缩 / 解压,-j用 bzip2 压缩 / 解压,-J用 xz 压缩 / 解压
- 示例:
- 压缩:
tar -czvf backup.tar.gz /data压缩目录为 tar.gz 格式 - 解压:
tar -xzvf backup.tar.gz解压 tar.gz 文件 - 查看:
tar -tvf backup.tar.gz查看归档内容
- 压缩:
- 细节提示:
tar本身只是归档工具,需配合gzip/bzip2等实现压缩
2. zip / unzip 压缩 / 解压工具
- 压缩:
zip -r archive.zip directory/递归压缩目录 - 解压:
unzip archive.zip解压到当前目录 - 常用参数:
-d指定解压目录,-l查看压缩包内容 - 示例:
unzip archive.zip -d /tmp/extract解压到指定目录
九、系统服务管理
1. systemctl 系统服务管理器(systemd)
- 常用命令:
- 启动服务:
sudo systemctl start 服务名(如sudo systemctl start nginx) - 停止服务:
sudo systemctl stop 服务名 - 重启服务:
sudo systemctl restart 服务名 - 查看状态:
systemctl status 服务名 - 设置开机自启:
sudo systemctl enable 服务名 - 禁用开机自启:
sudo systemctl disable 服务名 - 查看已启动服务:
systemctl list-units --type=service
- 启动服务:
- 示例:
sudo systemctl enable --now nginx立即启动 nginx 并设置开机自启
2. journalctl 查看系统日志(systemd)
- 用法:
journalctl [参数] - 常用参数:
-u 服务名查看指定服务日志-f实时跟踪日志-n 行数显示最后 N 行日志--since "时间"显示从指定时间开始的日志
- 示例:
journalctl -u nginx -f实时查看 nginx 服务日志journalctl --since "1 hour ago"查看最近 1 小时的系统日志
十、实用工具与快捷命令
1. history 查看命令历史
- 用法:
history显示最近执行的命令,!n执行第 n 条命令,!!执行上一条命令 - 示例:
history | grep cd搜索包含 cd 的命令历史 - 细节提示:修改
HISTSIZE和HISTFILESIZE可调整历史记录数量
2. alias 设置命令别名
- 用法:
alias 别名='命令' - 示例:
alias ll='ls -lha'设置 ll 为 ls -lha 的别名alias update='sudo apt update && sudo apt upgrade'设置一键更新别名
- 细节提示:写入
~/.bashrc文件可永久生效,source ~/.bashrc立即生效
3. date 查看 / 设置系统时间
- 用法:
date [参数] - 示例:
date查看当前时间date +"%Y-%m-%d %H:%M:%S"自定义格式显示时间sudo date -s "2026-04-25 15:30:00"设置系统时间
- 细节提示:
timedatectl可更方便地管理系统时间和时区
4. clear 清屏
- 用法:直接输入
clear或按Ctrl+L清屏
5. man 查看命令手册(最权威)
- 用法:
man 命令名查看命令的详细帮助文档 - 示例:
man ls查看 ls 命令的完整用法 - 细节提示:
man -k 关键词搜索相关命令,info 命令名查看更详细的信息
💡 小提示:以上命令是 Linux 日常运维的核心,覆盖 90% 以上的使用场景。大部分命令需要 root 权限时,在命令前加sudo即可。建议将常用命令添加到~/.bashrc的别名中,提高工作效率。
No responses yet