Linux 常用命令实战:文件、进程、网络一网打尽
一、文件操作命令
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 & # 重定向输出到日志文件