Linux 常用命令实战:文件、进程、网络一网打尽

小飞兽 Linux 18 次阅读 2026-07-14

一、文件操作命令

ls — 查看目录内容

ls              # 查看当前目录文件
ls -l           # 详细列表形式(显示权限、大小、修改时间)
ls -la          # 显示所有文件(含隐藏文件 .开头)
ls -lh          # 人性化大小显示(KB/MB/GB)
ls -lt          # 按修改时间排序(最新的在前)

为什么要用 -l 它会显示文件的详细信息:第一列是权限(如 -rw-r--r--),第三列是所有者,第五列是文件大小,最后是修改时间。

cd — 切换目录

cd /home/ubuntu      # 切换到绝对路径
cd ..                 # 切换到上级目录
cd ~                  # 切换到用户主目录
cd -                  # 切换到上一个工作目录
cd ./子目录名          # 切换到当前目录下的子目录

cp / mv / rm — 复制、移动、删除

cp 源文件 目标路径           # 复制文件
cp -r 源目录 目标路径        # 复制整个目录(-r 表示递归)
mv 旧路径 新路径             # 移动或重命名
rm 文件名                    # 删除文件(会提示确认)
rm -f 文件名                 # 强制删除,不提示
rm -rf 目录名                # 强制删除目录及所有内容(慎用!)

⚠️ 警告rm -rf 删除后无法恢复,操作前务必确认路径。历史上因此导致的生产事故不计其数。

mkdir / chmod — 创建目录和权限

mkdir 目录名                 # 创建单个目录
mkdir -p a/b/c              # 递归创建多级目录
chmod +x script.sh          # 给脚本加执行权限
chmod 755 文件               # 所有者可读写执行,其他人可读可执行
chown user:group 文件        # 修改文件的所有者和组

二、进程与系统命令

ps / top / htop — 查看进程

ps aux                   # 查看所有进程(最常用)
ps aux | grep nginx       # 搜索 nginx 相关进程
top                       # 实时查看系统资源占用(按 q 退出)
htop                      # top 的增强版(需安装)

进程状态说明S=睡眠,R=运行中,Z=僵尸进程,<=高优先级。

kill — 结束进程

kill PID                 # 正常结束指定进程
kill -9 PID              # 强制杀死进程(最后手段)
kill -15 PID             # 优雅终止(默认,等进程自行清理)
killall 进程名            # 按名字结束所有相关进程

建议:先用 kill -15,等几秒没反应再用 kill -9。后者不留给进程任何清理机会。

df / free — 磁盘和内存

df -h                    # 查看磁盘使用情况(-h 人性化显示)
df -h /                  # 查看根分区使用
free -h                  # 查看内存和 swap 使用情况

三、网络命令

curl — 发送 HTTP 请求

curl https://example.com           # 获取网页内容
curl -I https://example.com        # 只看响应头(检查网站是否正常)
curl -o 文件 URL                   # 下载文件
curl -X POST -d "name=value" URL   # 发送 POST 请求

ping — 测试网络连通性

ping example.com           # 测试到目标的网络连通性
ping -c 4 example.com       # 只 ping 4 次后停止
ping -c 1 -W 2 目标IP       # 超时2秒,单次探测

netstat / ss — 查看网络端口

netstat -tlnp              # 查看所有监听端口(谁在监听什么)
ss -tlnp                   # netstat 的现代替代品,速度更快
ss -s                     # 汇总网络连接状态

systemctl — 管理服务

sudo systemctl start nginx        # 启动服务
sudo systemctl stop nginx         # 停止服务
sudo systemctl restart nginx      # 重启服务
sudo systemctl status nginx       # 查看状态(看日志用)
sudo systemctl enable nginx      # 开机自启
sudo systemctl disable nginx      # 取消开机自启

四、日志查看

tail -f /var/log/nginx/access.log        # 实时查看日志(Ctrl+C 退出)
tail -100 /var/log/nginx/error.log       # 查看最后100行错误日志
grep "关键词" /var/log/nginx/access.log   # 搜索包含关键词的日志
grep -v "爬虫" access.log                # 排除爬虫的日志

五、实用技巧

# 管道:把多个命令连接起来
ls -la | grep ".log"         # 列出所有日志文件
ps aux | grep php             # 搜索 PHP 进程
df -h | grep "^/dev"          # 只显示真实磁盘,不显示 tmpfs

历史命令

history # 查看所有用过的命令 !n # 执行历史第 n 条命令 Ctrl+r # 交互式搜索历史命令

后台运行

nohup command & # 后台运行,关掉终端不中断 command > output.log 2>&1 & # 重定向输出到日志文件