Linux常见命令汇总(2025最新版)
文章目录
一、文件与目录操作
-
ls
:列出目录内容ls -l
:详细信息(权限、大小、时间)ls -a
:显示隐藏文件(以.
开头)ls -h
:文件大小易读格式(如 KB/MB)
ls -lah /home # 列出/home目录下所有文件(含隐藏文件)的详细信息
-
cd
:切换目录cd ~
:返回用户家目录cd ..
:返回上级目录cd -
:返回上一次所在目录
-
pwd
:显示当前工作目录路径 -
cp
:复制文件/目录cp -r
:递归复制目录cp -i
:覆盖前提示确认
cp -r /source/folder /dest/ # 复制文件夹及其内容
-
mv
:移动或重命名文件/目录mv old.txt new.txt # 重命名文件 mv file.txt /target/dir # 移动文件
-
rm
:删除文件/目录rm -r
:递归删除目录rm -f
:强制删除(无确认)
rm -rf /tmp/old_data # 强制删除目录(谨慎使用!)
-
mkdir
/rmdir
:创建/删除目录mkdir -p
:递归创建多级目录
mkdir -p project/{src,doc,bin} # 创建多级嵌套目录
-
touch
:创建空文件或更新文件时间戳touch newfile.txt
-
cat
/tac
:正向/反向显示文件内容cat -n
:显示行号
cat file1.txt file2.txt > combined.txt # 合并文件
-
head
/tail
:查看文件头部/尾部内容tail -f
:实时追踪文件更新(日志监控)
tail -n 20 /var/log/syslog # 显示最后20行
-
find
:搜索文件find / -name "*.conf"
:按名称搜索find . -size +10M
:按大小搜索
find /var/log -mtime +7 -exec rm {} \; # 删除7天前的日志文件
-
grep
:文本搜索工具grep -i
:忽略大小写grep -r
:递归搜索目录
grep -ri "error" /var/log # 在日志中递归搜索“error”
二、文件权限与属性
-
chmod
:修改文件权限- 数字模式:
chmod 755 script.sh
- 符号模式:
chmod u+x file
(为用户添加执行权限)
- 数字模式:
-
chown
:修改文件所有者/组chown user:group file.txt
-
umask
:设置默认文件权限掩码umask 022 # 新建文件默认权限644,目录755
三、系统信息与管理
-
top
/htop
:实时监控系统资源(CPU、内存、进程) -
ps
:查看进程状态ps aux
:显示所有进程详细信息ps -ef | grep nginx
:查找特定进程
-
kill
/pkill
:终止进程kill -9 PID
:强制终止进程pkill firefox
:按进程名终止
-
df
:查看磁盘空间df -h
:易读格式显示
df -h /dev/sda1 # 查看指定分区使用情况
-
du
:查看目录/文件占用空间du -sh *
:统计当前目录各文件/目录大小
du -sh /home # 查看/home总大小
-
free
:查看内存使用free -m
:以MB为单位显示
-
uname
:显示系统信息uname -a
:显示全部信息(内核版本、主机名等)
四、网络相关
-
ping
:测试网络连通性ping -c 4 google.com # 发送4个探测包
-
curl
/wget
:下载文件或测试APIcurl -O http://example.com/file.zip # 下载文件 wget -c http://example.com/large.iso # 断点续传
-
ssh
:远程登录ssh user@192.168.1.100 -p 2222 # 指定端口连接
-
scp
:安全复制文件(基于SSH)scp file.txt user@remote:/path/ # 上传文件到远程服务器
-
netstat
/ss
:查看网络连接和端口netstat -tulnp
:显示监听中的TCP/UDP端口及对应进程ss -s
:统计socket使用情况(推荐替代netstat)
-
ifconfig
/ip
:网络接口配置(ip
更现代)ip addr show # 显示所有网络接口信息
五、压缩与解压
-
tar
:打包/解包文件tar -czvf archive.tar.gz dir/
:创建gzip压缩包tar -xzvf archive.tar.gz
:解压gzip包
-
gzip
/gunzip
:压缩/解压单个文件gzip file.txt # 生成file.txt.gz gunzip file.txt.gz
-
zip
/unzip
:处理ZIP格式zip -r backup.zip /data # 递归压缩目录 unzip backup.zip -d /tmp # 解压到指定目录
六、用户与权限
-
sudo
:以超级用户权限执行命令sudo apt update # 需要管理员权限的操作
-
useradd
/userdel
:添加/删除用户useradd -m -s /bin/bash alice # 创建用户并生成家目录 userdel -r bob # 删除用户及家目录
-
passwd
:修改用户密码passwd alice # 修改用户密码
七、软件包管理
-
APT(Debian/Ubuntu)
sudo apt update
:更新软件源列表sudo apt install nginx
:安装软件包sudo apt remove --purge package
:彻底卸载
-
YUM/DNF(RHEL/CentOS/Fedora)
sudo dnf install httpd
sudo yum remove mysql
-
snap
/flatpak
:跨发行版软件包snap install chromium
八、快捷键与技巧
-
Ctrl + C
:终止当前命令 -
Ctrl + Z
:挂起当前进程(可用fg
恢复) -
Ctrl + D
:结束终端输入或退出会话 -
history
:查看命令历史记录 -
alias
:创建命令别名alias ll='ls -alF' # 输入ll等效于ls -alF:
九、文本处理与编辑
-
sed
:流编辑器(批量替换/删除文本)sed 's/old/new/g' file.txt # 替换所有old为new sed -i.bak 's/error/ERROR/g' log.txt # 直接修改文件并备份原文件
-
awk
:文本分析工具(按列处理数据)awk '{print $1,$3}' data.txt # 打印第1列和第3列 awk -F':' '{print $1}' /etc/passwd # 以冒号分隔,输出用户名
-
cut
:按列截取文本cut -d',' -f1,3 data.csv # 提取逗号分隔文件的第1、3列
-
sort
/uniq
:排序与去重sort file.txt | uniq -c # 排序后统计重复次数 sort -nrk 3 data.txt # 按第3列数值逆序排序
-
diff
/patch
:比较文件差异与应用补丁diff file1.txt file2.txt > change.patch # 生成差异文件 patch file1.txt < change.patch # 应用补丁
-
tr
:字符替换或删除echo "HELLO" | tr 'A-Z' 'a-z' # 转换为小写
十、系统监控与调试
-
iostat
/vmstat
:监控磁盘I/O与内存/CPUiostat -x 2 # 每2秒显示详细磁盘I/O统计 vmstat 1 # 每秒刷新系统资源使用情况
-
strace
:追踪进程系统调用strace -p 1234 # 追踪PID为1234的进程 strace -e open ls # 仅追踪ls命令的open系统调用
-
lsof
:列出打开的文件与进程关联lsof -i :80 # 查看占用80端口的进程 lsof /var/log/syslog # 查看谁正在使用该文件
-
dmesg
:查看内核日志(硬件/驱动问题排查)dmesg | grep -i error # 过滤错误信息
-
journalctl
:查看systemd日志(现代Linux发行版)journalctl -u nginx.service --since "2023-01-01" # 按服务和时间过滤
十一、计划任务与后台管理
-
crontab
:定时任务管理crontab -e # 编辑当前用户计划任务 * * * * * /path/script.sh # 每分钟执行一次
-
at
:单次定时任务echo "shutdown -h now" | at 23:00 # 在23:00执行关机
-
nohup
/&
:后台运行程序nohup ./long_task.sh > output.log & # 脱离终端后台运行
-
screen
/tmux
:终端多会话管理screen -S session_name # 创建新会话 Ctrl+A D # 脱离当前会话 screen -ls # 列出所有会话
十二、磁盘与分区管理
-
fdisk
/parted
:磁盘分区工具fdisk -l # 列出所有磁盘分区 parted /dev/sda print # 查看sda分区表
-
mount
/umount
:挂载与卸载文件系统mount /dev/sdb1 /mnt/data # 挂载分区到目录 umount -l /mnt/data # 强制卸载(若设备忙)
-
dd
:磁盘数据复制(谨慎使用!)dd if=/dev/sda of=disk.img bs=4M # 备份整个磁盘为镜像文件 dd if=/dev/zero of=/swapfile bs=1M count=2048 # 创建2GB交换文件
-
fsck
:文件系统检查与修复fsck -y /dev/sda1 # 自动修复文件系统错误
-
lsblk
:查看块设备树状结构lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT # 显示详细信息
十三、高级网络工具
-
tcpdump
:网络抓包分析tcpdump -i eth0 port 80 # 捕获eth0网卡80端口流量 tcpdump -w capture.pcap # 保存为pcap文件供Wireshark分析
-
nmap
:网络探测与端口扫描nmap -sV 192.168.1.1 # 扫描目标IP的开放端口及服务版本 nmap -p 1-1000 example.com
-
iptables
/nftables
:防火墙规则配置iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 允许SSH连接 iptables -L -v # 列出当前规则
-
dig
/nslookup
:DNS查询工具dig example.com MX # 查询邮件服务器记录 nslookup 8.8.8.8 # 反向IP解析
-
ssh-keygen
:生成SSH密钥对ssh-keygen -t rsa -b 4096 # 生成4096位RSA密钥
十四、环境变量与Shell配置
-
export
:设置环境变量export PATH=$PATH:/usr/local/bin # 临时添加路径 echo 'export EDITOR=vim' >> ~/.bashrc # 永久生效需写入配置文件
-
env
:查看所有环境变量env | grep PATH # 过滤特定变量
-
source
:加载配置文件source ~/.bashrc # 或简写为 . ~/.bashrc
十五、开发与调试工具
-
gcc
/g++
:C/C++编译器gcc -o program source.c -Wall # 编译并显示所有警告
-
gdb
:程序调试工具gdb ./program # 启动调试,使用break、run、backtrace等命令
-
make
:自动化构建工具make -j4 # 使用4个线程并行编译 make clean # 执行清理操作
-
git
:版本控制(需额外安装)git clone https://github.com/user/repo.git git status && git add . && git commit -m "update"
实用技巧扩展
-
组合命令
# 统计当前目录下.py文件的行数总和 find . -name "*.py" | xargs wc -l # 快速备份文件并压缩 tar -czvf backup_$(date +%Y%m%d).tar.gz /important_data
-
历史命令重用
!!
:重复上一条命令!$
:引用上一条命令的最后一个参数
sudo !! # 以sudo权限重复上条命令 mkdir project && cd !$ # 进入刚创建的目录
-
输入输出重定向
command > output.txt 2>&1 # 标准输出和错误均重定向到文件 grep "error" log.txt | tee errors.log # 同时输出到屏幕和文件
后续继续更新~~~
注意事项
- 谨慎使用
rm -rf
、chmod 777
或直接操作/dev
目录。 - 修改系统关键配置前建议备份(如
/etc
下的文件)。 - 使用
man 命令
查看命令手册(如man ls
)。 - 使用
dd
命令时务必确认输入输出目标,误操作可能导致数据丢失。 - 修改防火墙规则(如iptables)前建议先保存当前规则。
- 调试生产环境时优先使用
strace -p PID
而非直接终止关键进程。 - 可通过
info 命令
查看比man更详细的文档(如info coreutils
)。
如果需要更深入的学习,可通过 man
命令或 命令 --help
获取详细文档。