收藏级!云服务器Linux常用指令速查手册,运维开发都用得上
前言
不管是刚接触云服务器的小白,还是已经运维多年的老司机,Linux命令都是绕不开的基本功。每次登录服务器后一脸茫然?部署项目时不知道文件在哪?服务挂了不知道怎么排查?——这些问题,归根结底都是Linux命令不够熟。
这篇文章整理了云服务器上最常用、最高频的Linux命令,按场景分类,随查随用。建议收藏,下次遇到问题直接翻出来对照。
适用环境:CentOS / Ubuntu / Debian 等主流Linux发行版,命令基本通用。
一、系统信息查看——先搞清楚你面对的是谁
登录服务器第一件事:看看这机器什么情况。
| 命令 | 作用 |
|---|---|
uname -a | 查看系统内核版本和硬件信息 |
cat /etc/os-release | 查看操作系统发行版和版本号(CentOS/Ubuntu等) |
hostnamectl | 查看主机名和系统详细信息 |
uptime | 查看系统运行了多久、当前负载 |
free -h | 查看内存和交换空间使用情况(-h让人能看懂) |
df -h | 查看磁盘分区使用率 |
lscpu | 查看CPU详细信息 |
lsblk | 查看块设备(磁盘分区)信息 |
实操示例:
bash
# 看一眼系统版本 cat /etc/os-release # 服务器跑了多久?负载高不高? uptime # 输出:10:30:00 up 100 days, load average: 0.05, 0.10, 0.15 # 内存还剩多少? free -h # 磁盘快满了吗? df -h
二、文件与目录操作——最常用,必须烂熟于心
这部分是日常使用频率最高的命令,没有之一。
导航与查看
| 命令 | 作用 |
|---|---|
pwd | 显示当前所在目录的绝对路径——“我在哪?” |
ls | 列出目录内容 |
ls -l | 以详细列表显示(权限、大小、修改时间) |
ls -a | 显示所有文件,包括隐藏文件(以.开头) |
ls -lh | 详细列表 + 人类可读的文件大小 |
cd /path | 切换到指定目录 |
cd .. | 返回上一级目录 |
cd ~ | 返回当前用户的家目录 |
cd - | 返回上一个所在目录 |
创建与删除
| 命令 | 作用 |
|---|---|
touch file.txt | 创建空文件,或更新文件时间戳 |
mkdir dir | 创建目录 |
mkdir -p a/b/c | 递归创建多级目录 |
rm file.txt | 删除文件 |
rm -r dir | 递归删除目录及其内容 |
rm -rf dir | 强制删除,不提示(⚠️高危!) |
⚠️ 血的教训:
rm -rf /是删库跑路专用命令,千万别手抖!新手建议用mv移到/tmp代替直接删除。
复制与移动
| 命令 | 作用 |
|---|---|
cp source dest | 复制文件 |
cp -r dir1 dir2 | 递归复制目录 |
cp -a src dst | 归档复制,保留原属性 |
mv old new | 移动文件或重命名 |
压缩与解压
| 命令 | 作用 |
|---|---|
tar -czf archive.tar.gz /path | 打包并压缩成.tar.gz |
tar -xzf archive.tar.gz | 解压.tar.gz文件 |
zip -r site.zip /var/www/site | 压缩成zip |
unzip site.zip | 解压zip文件 |
三、文件查看与日志排查——运维的核心技能
服务出问题了,第一反应就是看日志。
| 命令 | 作用 |
|---|---|
cat file | 一次性显示整个文件(适合小文件) |
less file | 分页查看(大文件专用,按q退出,按/搜索) |
head -20 file | 查看文件前20行 |
tail -20 file | 查看文件后20行 |
tail -f file | 实时追踪日志更新(运维神器!) |
wc -l file | 统计文件行数 |
实战场景:
bash
# 实时盯着nginx访问日志 tail -f /var/log/nginx/access.log # 查看系统日志最后100行 tail -100 /var/log/messages
💡
tail -f是运维的“第三只手”,排查线上问题必备。
四、文本搜索——大海捞针就靠它
| 命令 | 作用 |
|---|---|
grep "error" file.log | 在文件中搜索包含"error"的行 |
grep -i "error" file.log | 忽略大小写搜索 |
grep -r "nginx" /etc | 递归搜索整个目录 |
grep -rn "mysql" /etc/ | 递归搜索并显示行号 |
find / -name "*.log" | 在根目录下查找所有.log文件 |
find /var -size +100M | 查找大于100MB的文件 |
组合技(管道符|的威力):
bash
# 查找nginx进程 ps aux | grep nginx # 统计日志中"ERROR"出现次数 grep "ERROR" app.log | wc -l
五、权限管理——多人协作的边界
云服务器通常是多人共用,权限管理必须搞清楚。
| 命令 | 作用 |
|---|---|
ls -l | 查看文件权限 |
chmod 755 script.sh | 修改文件权限 |
chown user:group file | 修改文件所有者和所属组 |
useradd username | 创建新用户 |
passwd username | 设置用户密码 |
su - username | 切换用户 |
whoami | 查看当前登录的用户名 |
sudo command | 以管理员权限执行命令 |
权限速记:
-
r(读)= 4,w(写)= 2,x(执行)= 1 -
755= 所有者可读写执行(7),同组用户可读执行(5),其他人可读执行(5)
六、进程与服务管理——让程序跑起来
| 命令 | 作用 |
|---|---|
ps aux | 查看所有运行中的进程 |
ps -ef | grep nginx | 查找特定进程 |
top | 实时监控CPU/内存占用(按q退出) |
htop | top的增强版,界面更友好 |
kill PID | 终止指定进程 |
kill -9 PID | 强制终止(慎用!) |
systemctl start nginx | 启动服务 |
systemctl stop nginx | 停止服务 |
systemctl restart nginx | 重启服务 |
systemctl status nginx | 查看服务状态 |
systemctl enable nginx | 设置开机自启 |
systemctl disable nginx | 取消开机自启 |
💡 能用
systemctl就别手动kill,优雅重启比暴力终止更专业。
七、网络排查——服务通不通?
云服务器的网络连通性是生命线。
| 命令 | 作用 |
|---|---|
ip addr | 查看IP地址和网卡信息 |
ping 8.8.8.8 | 测试网络连通性 |
ss -tunlp | 查看所有监听端口(推荐,比netstat新) |
netstat -tunlp | 查看所有监听端口(老命令) |
curl ifconfig.me | 查看本机公网IP |
curl -I http://127.0.0.1 | 测试HTTP服务是否正常 |
wget http://example.com/file.zip | 下载文件 |
traceroute www.baidu.com | 追踪路由路径 |
实战场景:
bash
# 看哪些端口在监听 ss -tunlp # 检查nginx是否在80端口正常响应 curl -I http://localhost # 测试外网连通性 ping -c 4 8.8.8.8
八、常用组合技——效率翻倍
| 组合 | 作用 |
|---|---|
command & | 让命令在后台运行 |
command1 | command2 | 管道,把前一个命令的输出传给后一个 |
grep -rl "TODO" . | xargs wc -l | 找到所有含"TODO"的文件并统计行数 |
history | 查看命令历史 |
clear | 清屏 |
最后说两句
Linux命令这东西,不用背,多用自然就熟了。把这篇文章收藏起来,遇到问题时翻一翻,用多了自然就刻在脑子里了。
另外几点建议:
-
不确定的命令先用
--help看一下,比如ls --help -
高危命令(rm -rf)一定要再三确认,尤其是在生产环境
-
多练 —— 可以自己租一台廉价云服务器或者用虚拟机,随便折腾不心疼
如果觉得有用,点赞 + 收藏 + 转发,让更多小伙伴少走弯路!有其他好用的命令也欢迎在评论区补充~
更多推荐
所有评论(0)