Linux常用命令大全

一、文件与目录操作

1.1 目录操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# 查看当前目录
pwd

# 列出目录内容
ls # 简略显示
ls -l # 详细信息
ls -a # 显示隐藏文件
ls -lh # 人性化大小显示
ls -la # 详细信息+隐藏文件
ls -R # 递归显示子目录

# 切换目录
cd /path/to/dir # 切换到指定目录
cd ~ # 切换到 home 目录
cd - # 切换到上一次目录
cd .. # 切换到上级目录
cd . # 切换到当前目录

# 创建目录
mkdir dirname # 创建单个目录
mkdir -p dir1/dir2/dir3 # 递归创建目录
mkdir -p /path/to/newdir # 创建绝对路径目录

# 删除目录
rmdir dirname # 删除空目录
rm -rf dirname # 强制删除目录及内容

# 复制目录
cp -r source/ dest/ # 递归复制目录

# 移动/重命名目录
mv oldname newname # 重命名
mv dirname /path/to/ # 移动目录

1.2 文件操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# 创建文件
touch filename # 创建空文件
touch file1.txt file2.txt # 批量创建

# 查看文件
cat filename # 查看整个文件
cat -n filename # 显示行号
tac filename # 倒序查看
nl filename # 显示行号

# 分页查看
more filename # 逐页查看(只能向下)
less filename # 双向翻页查看
# less 中:空格=下一页,b=上一页,q=退出,/搜索

# 查看文件开头/结尾
head -n 20 filename # 查看前20行
tail -n 20 filename # 查看后20行
tail -f filename # 实时监控文件变化

# 复制文件
cp source.txt dest.txt
cp -i source.txt dest.txt # 覆盖前询问

# 移动/重命名文件
mv old.txt new.txt
mv file.txt /path/to/

# 删除文件
rm filename # 删除文件
rm -f filename # 强制删除
rm -i filename # 删除前询问

# 修改文件时间戳
touch -a filename # 修改访问时间
touch -m filename # 修改修改时间

1.3 文件查找

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 按名称查找
find /path -name "*.txt" # 查找txt文件
find /path -iname "*.txt" # 忽略大小写
find /path -name "file*" # 模糊匹配

# 按类型查找
find /path -type f # 查找文件
find /path -type d # 查找目录
find /path -type l # 查找链接

# 按大小查找
find /path -size +100M # 大于100M
find /path -size -10k # 小于10k

# 按时间查找
find /path -mtime -7 # 7天内修改过
find /path -atime +30 # 30天前访问过

# 查找后执行命令
find /path -name "*.log" -delete # 删除找到的文件
find /path -name "*.log" -exec ls -l {} \; # 列出详细信息

二、文本处理

2.1 文本搜索

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# grep - 文本搜索
grep "keyword" filename # 搜索关键词
grep -n "keyword" filename # 显示行号
grep -i "keyword" filename # 忽略大小写
grep -v "keyword" filename # 反向匹配(不包含)
grep -r "keyword" /path # 递归搜索目录
grep -c "keyword" filename # 统计匹配行数
grep -A 3 "keyword" filename # 显示匹配行及后3行
grep -B 3 "keyword" filename # 显示匹配行及前3行

# 常用组合
grep "error" *.log # 在log文件中搜索error
ps aux | grep python # 查找python进程
history | grep git # 查找git相关历史命令

2.2 文本统计

1
2
3
4
5
6
7
8
# wc - 统计行数、单词数、字符数
wc -l filename # 统计行数
wc -w filename # 统计单词数
wc -c filename # 统计字符数
wc filename # 全部统计

# 统计代码行数
find /path -name "*.py" -exec cat {} \; | wc -l

2.3 文本排序与去重

1
2
3
4
5
6
7
8
9
10
11
# sort - 排序
sort filename # 按字母排序
sort -n filename # 按数字排序
sort -r filename # 倒序排序
sort -u filename # 去重排序
sort -k2 filename # 按第2列排序

# uniq - 去重(相邻相同的行)
uniq filename # 去重
uniq -c filename # 统计重复次数
uniq -d filename # 只显示重复行

2.4 文本截取与合并

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# cut - 截取列
cut -d: -f1 filename # 按冒号分隔,取第1列
cut -c1-10 filename # 截取第1-10个字符
cut -f1,3 filename # 取第1和3列

# awk - 强大的文本处理
awk '{print $1}' filename # 打印第1列
awk -F',' '{print $1}' filename # 按逗号分隔
awk 'NR==1' filename # 打印第1行
awk 'NR>1' filename # 跳过第1行

# sed - 文本替换
sed 's/old/new/' filename # 替换每行第一个匹配
sed 's/old/new/g' filename # 替换所有匹配
sed -i 's/old/new/g' filename # 直接修改文件
sed '1d' filename # 删除第1行

# 合并文件
cat file1.txt file2.txt > merged.txt
paste file1.txt file2.txt # 按列合并

三、文件权限

3.1 权限概念

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
┌─────────────────────────────────────────┐
│ 权限标识:drwxr-xr-x │
│ │
│ 第1位:文件类型 │
│ - 普通文件 │
│ d 目录 │
│ l 链接 │
│ │
2-4位:所有者权限(u) │
│ r = 4 读 │
│ w = 2 写 │
│ x = 1 执行 │
│ │
5-7位:所属组权限(g) │
│ │
8-10位:其他用户权限(o) │
└─────────────────────────────────────────┘

3.2 查看权限

1
2
3
4
5
6
7
# 查看文件权限
ls -l filename
# -rw-r--r-- 1 user group 1024 Jan 29 12:00 filename

# 查看数字权限
stat -c %a filename
# 644

3.3 修改权限

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 字母方式
chmod u+x filename # 所有者添加执行权限
chmod g-w filename # 所属组去掉写权限
chmod o=r filename # 其他用户设为只读
chmod a+x filename # 所有用户添加执行权限
chmod +x filename # 所有人添加执行权限

# 数字方式
chmod 755 filename # rwxr-xr-x
chmod 644 filename # rw-r--r--
chmod 777 filename # rwxrwxrwx(危险!)

# 递归修改
chmod -R 755 /path/to/dir # 目录及子文件一起改

3.4 修改所有者

1
2
3
4
5
6
7
8
# 修改文件所有者
chown user filename

# 修改所有者和所属组
chown user:group filename

# 递归修改
chown -R user:group /path/to/dir

四、进程管理

4.1 查看进程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 查看进程
ps # 查看当前终端进程
ps -a # 查看所有终端进程
ps -u # 显示用户信息
ps -x # 显示守护进程
ps aux # 完整信息显示(最常用)
ps -ef # 完整格式显示

# 查找特定进程
ps aux | grep python
ps -ef | grep nginx

# 动态查看进程
top # 实时查看(按q退出)
htop # 增强版(需安装)

4.2 进程操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 终止进程
kill PID # 正常终止
kill -9 PID # 强制终止
kill -15 PID # SIGTERM(默认)

# 按名称终止进程
pkill -9 process_name # 强制终止
killall process_name # 终止所有同名进程

# 进程后台运行
./script.sh & # 后台运行
Ctrl + Z # 暂停当前进程
jobs # 查看后台任务
bg %1 # 后台继续运行
fg %1 # 切换到前台

# 监控系统资源
top # 实时监控
htop # 可视化监控
free -h # 内存使用
df -h # 磁盘使用
du -sh /path # 目录大小

五、网络命令

5.1 网络连接

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 测试网络连通性
ping www.baidu.com # ping通断检测
ping -c 4 www.baidu.com # ping 4次后停止

# 查看网络接口
ifconfig # 传统命令
ip addr # 新版命令

# 查看路由表
route -n
ip route

# DNS查询
nslookup domain.com
dig domain.com
host domain.com

5.2 网络传输

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 下载文件
wget http://example.com/file.tar.gz
wget -c http://example.com/file.tar.gz # 断点续传
wget -O newname.tar.gz http://example.com/file.tar.gz

curl http://example.com # 下载网页
curl -O http://example.com/file.tar.gz # 下载文件
curl -o newname.tar.gz http://example.com/file.tar.gz
curl -I http://example.com # 查看HTTP头

# 传输文件
scp file.txt user@host:/path/ # 复制到远程
scp user@host:/path/file.txt ./ # 从远程复制
scp -r folder/ user@host:/path/ # 递归复制目录

rsync -av /local/ /remote/ # 同步目录

5.3 端口与服务

1
2
3
4
5
6
7
8
9
10
11
12
# 查看端口
netstat -tlnp # 查看监听端口
ss -tlnp # 更详细的socket信息

# 查看特定端口
netstat -tlnp | grep 80
lsof -i :80 # 查看80端口占用

# SSH连接
ssh user@hostname # 连接远程主机
ssh -p 2222 user@host # 指定端口
ssh -i key.pem user@host # 使用密钥登录

六、用户与组

6.1 用户管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 查看用户
whoami # 当前用户名
id # 当前用户详细信息
who # 当前登录用户
last # 登录历史

# 创建用户
useradd -m username # 创建用户(带home目录)
useradd -s /bin/bash username # 指定shell

# 设置密码
passwd username # 为用户设置密码

# 删除用户
userdel username # 删除用户
userdel -r username # 删除用户及home目录

# 修改用户信息
usermod -l newname oldname # 修改用户名
usermod -g groupname username # 修改主组
usermod -aG groupname username # 添加附加组

6.2 组管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 查看组
groups # 当前用户所属组
cat /etc/group # 所有组信息

# 创建组
groupadd groupname

# 删除组
groupdel groupname

# 添加用户到组
gpasswd -a username groupname

# 从组移除用户
gpasswd -d username groupname

6.3 sudo权限

1
2
3
4
5
6
7
8
9
# 临时使用root权限
sudo command

# 查看sudo权限
sudo -l

# 切换到root用户
sudo su
sudo su - # 切换到root并加载环境

七、压缩与解压

7.1 tar命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 打包并压缩
tar -czvf archive.tar.gz dir/
tar -cjf archive.tar.bz2 dir/
tar -cJf archive.tar.xz dir/

# 解压
tar -xzvf archive.tar.gz
tar -xjf archive.tar.bz2
tar -xJf archive.tar.xz

# 解压到指定目录
tar -xzvf archive.tar.gz -C /path/to/dir

# 查看压缩包内容
tar -tzvf archive.tar.gz

7.2 zip命令

1
2
3
4
5
6
7
8
9
# 压缩
zip archive.zip file1 file2
zip -r archive.zip dir/
zip -r archive.zip dir/ -P password # 加密压缩

# 解压
unzip archive.zip
unzip archive.zip -d /path/to/dir
unzip -P password archive.zip # 解密解压

7.3 其他压缩

1
2
3
4
5
6
7
8
9
10
11
# gz压缩
gzip filename
gunzip filename.gz

# bz2压缩
bzip2 filename
bunzip2 filename.bz2

# xz压缩
xz filename
unxz filename.xz

八、磁盘与系统

8.1 磁盘管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 查看磁盘使用
df -h # 人性化显示
df -h /path # 查看特定挂载点

# 查看目录大小
du -sh /path # 查看总大小
du -h --max-depth=1 # 查看子目录大小
du -h --max-depth=1 /path | sort -h # 排序显示

# 挂载/卸载
mount /dev/sdb1 /mnt/usb # 挂载
umount /mnt/usb # 卸载

# 磁盘分区
fdisk -l # 查看分区
fdisk /dev/sdb # 分区

8.2 系统信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 系统信息
uname -a # 全部信息
uname -r # 内核版本
cat /etc/os-release # 发行版信息

# 主机名
hostname
hostnamectl set-hostname newname

# 运行时间
uptime

# 日期时间
date
timedatectl # 时区管理

8.3 系统监控

1
2
3
4
5
6
7
8
9
10
# 资源使用
top # CPU/内存
free -h # 内存
df -h # 磁盘
iostat # I/O(需安装)

# 日志查看
journalctl # systemd日志
dmesg # 系统启动日志
tail -f /var/log/syslog # 系统日志

九、管道与重定向

9.1 管道

1
2
3
4
5
6
7
8
# 管道:将前一个命令的输出作为后一个命令的输入
command1 | command2

# 常用组合
ps aux | grep python # 查找python进程
ls -la | grep "^-" # 只显示文件
cat file | sort | uniq # 排序去重
du -h | sort -h # 按大小排序

9.2 重定向

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 输出重定向
command > file.txt # 覆盖写入
command >> file.txt # 追加写入
command 2> error.txt # 错误输出
command > output.txt 2>&1 # 标准输出和错误输出

# 输入重定向
command < file.txt # 从文件读取
command << EOF # HERE文档
input
EOF

# 特殊设备
command > /dev/null # 丢弃输出
command 2> /dev/null # 丢弃错误输出

十、常用组合命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 查找并删除
find /path -name "*.tmp" -delete

# 查找并复制
find /path -name "*.log" -exec cp {} /backup/ \;

# 批量重命名
rename 's/old/new/' *.txt

# 批量删除空行
sed -i '/^$/d' filename

# 统计日志中错误数量
grep -c "error" filename

# 查看前10个最大文件
du -ah /path | sort -rh | head -n 10

# 实时查看最新日志
tail -f filename | grep keyword

# 杀死所有python进程
pkill -9 python

# 一键清理日志
find /var/log -name "*.log" -mtime +7 -delete

十一、快捷键汇总

快捷键 功能
Ctrl + C 终止当前命令
Ctrl + Z 暂停当前进程
Ctrl + D 退出终端
Ctrl + L 清屏
Ctrl + A 光标移到行首
Ctrl + E 光标移到行尾
Ctrl + U 清除光标前内容
Ctrl + K 清除光标后内容
Ctrl + R 搜索历史命令
Tab 命令补全
!! 执行上一条命令
!n 执行第n条历史命令

十二、常见问题

12.1 权限被拒绝

1
2
3
4
# 解决方法
sudo command # 使用root权限
chmod 777 filename # 改权限(不安全)
chown user:group file # 改所有者

12.2 命令找不到

1
2
3
4
# 解决方法
which command # 查找命令位置
export PATH=$PATH:/path # 添加到PATH
source ~/.bashrc # 重新加载配置

12.3 磁盘空间不足

1
2
3
4
5
6
7
# 查找大文件
du -sh /path/*
find /path -type f -size +100M

# 清理日志
sudo apt clean # Debian/Ubuntu
sudo yum clean all # CentOS

参考资料


持续更新中…欢迎收藏!

#Linux #命令行 #运维 #服务器 #教程


Linux常用命令大全
https://r0f2.my/post/32-linux-commands-cheatsheet/
作者
JA
发布于
2026年2月13日
许可协议