Linux命令行运维

Linux 常用命令:文件、进程、网络速查

按文件目录、文本查看、进程排查、网络连接和环境变量五类整理 Linux 常用命令,重点讲开发与运维里最常见的 ls、cd、cp、mv、rm、find、ps、top、curl、ssh、ip。

·更新于 ·阅读约 9 分钟·计算中...

Linux 命令很多,但开发和日常排障里反复出现的其实就几类:找文件、看内容、看进程、查网络、改环境变量。与其背一大张命令表,不如先建立“遇到什么问题,用哪一类命令”的判断。

目录

文件和目录

ls

查看目录内容:

ls
ls -la
  • -l 看详细信息
  • -a 包括隐藏文件

排查项目目录、权限、软链接时,ls -la 基本是第一步。

cd

切换目录:

cd /var/www
cd ..
cd -

cd - 很实用,可以在上一个目录和当前目录之间来回跳。

mkdir

创建目录:

mkdir logs
mkdir -p apps/freemac/current

-p 会顺带创建不存在的父目录。

cp 与 mv

复制和移动:

cp .env.example .env
mv old.log archive.log

目录复制通常要加 -r

cp -r public/images backup/images

rm

删除文件或目录:

rm app.log
rm -r dist

rm -rf 很危险,不要为了省事把它当默认写法。先 lspwd 看清路径再删。

find

按名称查找文件:

find . -name "*.md"
find /var/log -name "nginx*"

在项目仓库里,如果只是搜文本或列文件,通常优先用 rg 会更快;find 更适合文件系统级查找。

查看文件内容

cat

快速输出整个文件:

cat package.json

适合小文件,不适合超长日志。

less

分页查看长文件:

less /var/log/nginx/error.log

这是看日志、配置文件时更稳的默认选择。

tail

查看文件末尾,尤其适合追日志:

tail -n 50 /var/log/nginx/error.log
tail -f /var/log/nginx/access.log

-f 会持续跟踪新增内容。

进程与资源

ps

查看进程:

ps aux
ps aux | grep nginx

当你想确认某个服务是否启动、由谁启动、PID 是多少,通常先看它。

top

动态查看 CPU、内存和进程占用:

top

如果服务器突然变慢,top 能帮你先确认是不是某个进程把资源打满了。

kill

结束进程:

kill 12345
kill -9 12345

先尝试普通 kill,只有进程不响应时再用 -9。强杀会跳过程序自己的清理逻辑。

网络与远程连接

curl

发 HTTP 请求、看响应头、排 API:

curl https://example.com
curl -I https://example.com
curl -v http://127.0.0.1:3000/

本地服务排障时,curl -v 很有价值。像反向代理、容器转发问题,应该先验证上游能否直接访问,相关思路可见 反向代理与 Nginx 排障指南

ip

查看网卡和 IP:

ip addr
ip route

现代发行版里,ip 通常比旧的 ifconfig 更通用。

ssh

远程登录服务器:

ssh user@example.com
ssh -p 2222 user@example.com

长期开发和部署优先配 SSH key,而不是每次输密码。

wget

下载文件:

wget https://example.com/archive.tar.gz

如果你更习惯一个命令完成下载和调试,curl 也能覆盖很多场景。

环境变量

env 与 printenv

查看环境变量:

env
printenv PATH

当程序“本地能跑、服务器不能跑”时,环境变量通常是第一批排查对象。

export

当前 shell 临时设置变量:

export NODE_ENV=production
export PORT=3000

只对当前会话生效。想持久化要写入 shell 配置文件或服务配置。

source

让当前 shell 重新加载脚本:

source ~/.zshrc

改了环境变量文件却没有生效,通常就是因为还没重新加载。

一个开发者常见排障流程

假设你部署的 Node 服务打不开:

pwd
ls -la
ps aux | grep node
curl -v http://127.0.0.1:3000/
tail -f /var/log/nginx/error.log

这套顺序比一上来就改配置更有效,因为它先确认:

  • 服务进程是否存在
  • 监听服务本身是否通
  • Nginx 是否报错

如果问题发生在 Docker 里,还要额外确认绑定地址和端口映射,见 Docker 中 localhost 与 0.0.0.0 的区别

结论

  • 文件目录:lscdcpmvrmfind
  • 内容查看:catlesstail
  • 进程资源:pstopkill
  • 网络连接:curlipssh
  • 环境变量:envprintenvexportsource

先学会按问题分类,再扩命令细节,效率会比死记命令大全高得多。

参考资料

订阅 FreeMac

每周精选:免费 Mac 软件评测、可信来源更新、替代方案和少折腾指南。