Linux 常用命令备忘

Linux 日常开发常用命令速查

Linux 常用命令备忘

Linux 日常开发中常用的命令速查,包括磁盘管理、进程管理、文件操作、网络工具等。

1. 磁盘与文件大小

1.1 du - 查看目录/文件大小

1
2
3
4
5
du -sh *              # 查看当前目录下各文件/文件夹大小(人类可读)
du -sh /path/to/dir   # 查看指定目录大小
du -h --max-depth=1   # 只显示一级子目录大小
du -sh * | sort -rh   # 按大小排序(从大到小)
du -sh * | sort -rh | head -10  # 显示最大的 10 个文件/目录

1.2 df - 查看磁盘空间

1
2
3
df -h                 # 查看所有磁盘分区使用情况
df -h /home           # 查看指定目录所在分区
df -i                 # 查看 inode 使用情况(小文件过多时有用)

2. 进程管理

2.1 查看进程

1
2
3
4
5
ps aux                # 查看所有进程
ps aux | grep python  # 查找指定进程

top                   # 实时进程监控
htop                  # 更友好的实时监控(需安装)

2.2 pkill - 按名称杀进程

1
2
3
4
pkill python          # 杀死所有 python 进程
pkill -f "python script.py"  # 匹配完整命令
pkill -9 python       # 强制杀死
pkill -u user python  # 杀死指定用户的进程

2.3 killall - 按名称杀进程

1
2
3
killall nginx         # 杀死所有 nginx 进程
killall -9 nginx      # 强制杀死
killall -i nginx      # 交互式确认

2.4 kill - 按 PID 杀进程

1
2
3
kill 1234             # 发送 SIGTERM (15)
kill -9 1234          # 发送 SIGKILL (强制)
kill -l               # 查看所有信号

2.5 查找进程 PID

1
2
3
4
pgrep python          # 返回 python 进程的 PID
pgrep -l python       # 同时显示进程名
pgrep -a python       # 显示完整命令
pidof nginx           # 返回 nginx 的 PID

3. 文件操作

3.1 find - 查找文件

1
2
3
4
5
6
find /home -name "*.py"        # 按文件名查找
find . -type d -name "test"    # 查找目录
find . -type f -size +100M     # 查找大于 100M 的文件
find . -mtime -7               # 查找 7 天内修改的文件
find . -mtime +30              # 查找 30 天前修改的文件
find . -name "*.log" -delete   # 查找并删除

3.2 ln - 软链接/硬链接

1
2
3
4
5
6
ln -s /path/to/target /path/to/link  # 创建软链接
ln /path/to/file /path/to/hardlink   # 创建硬链接
ls -l /path/to/link                  # 查看链接指向
readlink /path/to/link               # 查看链接目标
unlink /path/to/link                 # 删除链接
# 软链接类似快捷方式, 硬链接类似别名

3.3 tar - 压缩解压

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# 压缩
tar -czvf archive.tar.gz /path/to/dir   # 压缩为 .tar.gz
tar -cjvf archive.tar.bz2 /path/to/dir  # 压缩为 .tar.bz2

# 解压
tar -xzvf archive.tar.gz                # 解压 .tar.gz
tar -xjvf archive.tar.bz2               # 解压 .tar.bz2
tar -xzvf archive.tar.gz -C /target/dir # 解压到指定目录

# 参数说明: c-创建, x-解压, z-gzip, j-bzip2, v-显示过程, f-指定文件

4. 网络工具

4.1 端口与连接

1
2
3
4
5
6
7
8
9
# 查看端口占用
netstat -tlnp          # 查看监听的 TCP 端口
netstat -tunlp         # TCP + UDP
ss -tlnp               # 更现代的替代品
lsof -i :8080          # 查看占用 8080 端口的进程

# 查看连接
netstat -an | grep ESTABLISHED  # 查看已建立的连接
ss -s                  # 连接统计

4.2 网络诊断

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
ping baidu.com         # 测试连通性
ping -c 4 baidu.com    # 只 ping 4 次

traceroute baidu.com   # 追踪路由
mtr baidu.com          # 实时路由追踪(更好用)

curl -I https://baidu.com    # 只获取响应头
curl -v https://baidu.com    # 显示详细信息
curl -o file.html https://example.com  # 保存到文件

wget https://example.com/file.zip   # 下载文件
wget -c https://example.com/file.zip  # 断点续传

4.3 防火墙 (ufw)

1
2
3
4
5
6
sudo ufw status        # 查看状态
sudo ufw enable        # 启用
sudo ufw allow 22      # 允许 22 端口
sudo ufw allow 8080/tcp
sudo ufw deny 3306     # 禁止 3306 端口
sudo ufw delete allow 22  # 删除规则

5. 系统信息

5.1 硬件信息

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
# CPU
lscpu                  # CPU 信息
nproc                  # CPU 核心数
cat /proc/cpuinfo      # 详细 CPU 信息

# 内存
free -h                # 内存使用情况
cat /proc/meminfo      # 详细内存信息

# GPU
nvidia-smi             # NVIDIA GPU 信息
watch -n 1 nvidia-smi  # 每秒刷新
nvtop                  # NVIDIA GPU 监控

# 磁盘
lsblk                  # 列出块设备
fdisk -l               # 磁盘分区信息

5.2 系统信息

1
2
3
4
5
6
uname -a               # 内核信息
cat /etc/os-release    # 系统版本
hostname               # 主机名
uptime                 # 运行时间
whoami                 # 当前用户
id                     # 用户 ID 信息

6. 用户与权限

6.1 用户管理

1
2
3
4
5
6
7
8
who                    # 查看登录用户
w                      # 查看登录用户及其活动
last                   # 查看登录历史

adduser username       # 添加用户
userdel username       # 删除用户
usermod -aG sudo user  # 将用户加入 sudo 组
passwd username        # 修改密码

6.2 权限管理

1
2
3
4
5
6
7
8
chmod 755 file         # 修改权限(数字)
chmod +x script.sh     # 添加执行权限
chmod -R 755 dir/      # 递归修改目录权限

chown user:group file  # 修改所有者
chown -R user:group dir/  # 递归修改

# 权限数字: 7=rwx, 6=rw-, 5=r-x, 4=r--, 0=---

7. 文本处理

7.1 grep - 文本搜索

1
2
3
4
5
6
grep "pattern" file    # 搜索文本
grep -r "pattern" dir/ # 递归搜索
grep -i "pattern" file # 忽略大小写
grep -n "pattern" file # 显示行号
grep -E "p1|p2" file   # 正则表达式
grep -c "pattern" file # 统计匹配行数

8. 其他常用

8.1 定时任务

1
2
3
4
crontab -l                   # 查看定时任务
crontab -e                   # 编辑定时任务
# 格式: 分 时 日 月 周 命令
# 0 2 * * * /path/to/backup.sh  # 每天凌晨 2 点执行

8.2 环境变量

1
2
3
4
5
env                          # 查看所有环境变量
echo $PATH                   # 查看 PATH
export MY_VAR="value"        # 设置环境变量(临时)
echo 'export MY_VAR="value"' >> ~/.bashrc  # 永久设置 或者是 ~/.zshrc
source ~/.bashrc             # 使配置生效 或者是 ~/.zshrc 

参考链接

Licensed under CC BY-NC-SA 4.0