一、目录与导航 ⭐⭐⭐
pwd # 显示当前所在目录的绝对路径
cd 路径 # 切换到指定目录(如 cd /var/log)
cd ~ # 回到当前用户的家目录(/home/用户名)
cd .. # 返回上一级目录
ls -la # 列出当前目录所有文件(含隐藏文件,含详细信息)
ls 路径 # 列出指定目录的文件(如 ls /var/log)
二、文件操作 ⭐⭐⭐
touch 文件名 # 创建一个空文件,或更新已有文件的时间戳
cp 原文件 目标文件 # 复制文件(如 cp test.txt test_backup.txt)
cp -r 原目录 目标目录 # 复制目录(-r = 递归复制)
mv 原文件 目标文件 # 移动文件,或重命名文件(如 mv A B 把A改名为B)
mv 文件 路径/ # 把文件移动到另一个目录
rm 文件名 # 删除文件(Linux无回收站,删除不可恢复!)
rm -r 目录名 # 删除文件夹(-r = 递归删除)
cat 文件名 # 查看文件全部内容(适合小文件)
echo "内容" > 文件 # 把内容写入文件(覆盖原有内容)
echo "内容" >> 文件 # 把内容追加到文件末尾(不覆盖)
三、日志查看与搜索⭐⭐⭐
head -n 5 文件名 # 查看文件的前5行
tail -n 5 文件名 # 查看文件的最后5行
tail -f 文件名 # 实时监控文件新增内容(按 Ctrl+C 退出)
less 文件名 # 分页查看大文件(空格翻页,/搜索,q退出)
grep "关键词" 文件名 # 在文件中搜索关键词(区分大小写)
grep -i "关键词" 文件名 # 搜索关键词(忽略大小写)
grep -i error 文件名 -A 5 -B 3 # 搜到后显示前后各5行上下文grep -r "关键词" 目录/ # 在目录下所有文件里搜索(-r = 递归)grep -rl "关键词" 目录/ # 只显示包含关键词的文件名,不显示内容
cat 文件名 | grep 关键词 # 组合用法:先读文件再搜索
history # 查看历史命令记录(带序号)
!数字 # 重复执行历史命令中对应序号的那条
clear # 清空当前终端屏幕
Ctrl+C # 终止当前正在运行的程序(如 tail -f、ping)
四、进程管理 ⭐⭐⭐
ps -ef # 查看系统所有正在运行的进程
ps -ef | grep 程序名 # 精准查找某个程序是否在运行
top # 实时查看系统资源占用(按 q 退出)
五、网络相关⭐⭐⭐
# ---- IP与路由 ----
ip addr # 查看所有网络接口的IP地址
ip addr show 网卡名 # 查看指定网卡的IP(如 ip addr show enp0s1)
ip route # 查看路由表,可查网关IP和本机IP
# ---- 网络连通性测试 ----
ping 8.8.8.8 # 持续ping,检查网络通不通(Ctrl+C停止)
ping -c 4 8.8.8.8 # ping 4次后自动停止,看丢包率
ping -c 4 192.168.64.1 # ping网关,判断是内网问题还是外网问题
# ---- 网卡管理 ----
ip link set enp0s1 up # 启用网卡(通常已是UP状态,报错属正常)ip link set enp0s1 down # 禁用网卡(⚠️ 慎用,会断网!)
# ---- 主机信息 ----
hostname # 查看主机名(短名)
hostnamectl # 查看详细主机信息(系统版本、架构、内核等)
六、端口排查⭐⭐⭐
ss -tlnp # 查看所有监听中的TCP端口
sudo ss -tlnp # 带sudo才能看到程序名称
sudo ss -tlnp | grep 端口号 # 精确查某个端口被谁占用(如 grep 8080)
记忆口诀:t 是 TCP,l 是 Listen,n 是数字,p 是程序
七、磁盘与资源 ⭐⭐⭐
df -h # 查看磁盘剩余空间(-h = 人类可读格式)
du -sh 目录名 # 查看目录总共多大(如 du -sh /var/log)
du -sh * # 查看当前目录下每个文件/文件夹的大小
du -sh /var/log/* | sort -rh | head -10 # 按大小排序,看前10个最大的
free -h # 查看内存使用情况(重点看 available 列)
top # 实时查看资源占用,重点看 load average 和 %CPU
八、权限与文件查找 ⭐⭐
# ---- 修改权限 ----
chmod 755 文件名 # 数字方式改权限(7=rwx, 5=r-x)
chmod +x 文件名 # 给所有人加执行权限(最常用)
chmod u+x 文件名 # 只给所有者加执行权限
chmod o-r 文件名 # 去掉其他人的读权限
# ---- 修改所属人 ----
sudo chown cc 文件名 # 把文件所有者改成 cc 用户
sudo chown cc:cc 文件名 # 同时改所有者和所属组
# ---- 查找文件 ----
find /路径 -name "文件名" # 按文件名查找(如 find /var/log -name "syslog")
find /路径 -type f # 只找普通文件find /路径 -type d # 只找目录find /路径 -mtime -1 # 找1天内修改过的文件find /路径 -mtime +7 # 找7天前修改过的文件find /路径 -size +10M # 找大于10MB的文件
权限数字速记:r=4,w=2,x=1,-=0
权限三组: 所有者(u) → 所属组(g) → 其他人(o)
九、打包压缩与远程传输 ⭐⭐
# ---- 打包压缩 ----
tar -czvf 包名.tar.gz 目录/ # 打包+压缩(最常用)
tar -xzvf 包名.tar.gz # 解压
tar -tzvf 包名.tar.gz # 只看包里有什么,不解压
tar -xzvf 包名.tar.gz -C /目标目录/ # 解压到指定目录
# ---- 远程传输 ----
scp 文件 用户@IP:/路径/ # 本地文件传到远程服务器
scp 用户@IP:/路径/文件 ./ # 从远程服务器下载到本地
scp -r 目录 用户@IP:/路径/ # 传整个目录(加 -r)
scp -P 2222 文件 用户@IP:/路径/ # 指定端口(注意大写 P)
# ---- 远程登录 ----
ssh 用户@IP # 登录远程服务器
ssh -p 2222 用户@IP # 指定端口登录
exit # 退出远程登录(或 Ctrl+D)
# ---- 下载文件 ----
wget URL # 下载文件(支持断点续传)
wget -O 新名字.zip URL # 下载并指定保存文件名
curl URL # 发HTTP请求/下载
curl -X POST -d "参数" URL # 发POST请求
tar 记忆口诀: 打包压缩 czvf,解压 xzvf,看内容 tzvf,f 永远在最后。
十、系统管理 ⭐⭐⭐
sudo 命令 # 以管理员身份执行(需输入密码)
shutdown -h now # 立刻关机(优雅关机,会通知程序保存数据)
shutdown -h +2 # 2分钟后自动关机
shutdown -c # 取消已计划的关机/重启
shutdown -r now # 立刻重启(-r = reboot)
reboot # 重启系统(与 shutdown -r now 等效)
速查表:按”问题”反查命令
| 遇到的问题 | 用什么命令 |
|---|---|
| 我在哪个目录? | pwd |
| 这个目录下有什么文件? | ls -la |
| 我想看日志文件的最新几行 | tail -n 20 文件名 |
| 我想实时盯着日志看 | tail -f 文件名(Ctrl+C退出) |
| 日志里有报错,怎么找? | grep -i error 文件名 |
| 文件太大,想一页一页看 | less 文件名(空格翻页,q退出) |
| 我想知道我的IP是多少 | ip addr 或 ip route |
| 网络好像断了,先测一下 | ping 8.8.8.8 |
| 某个端口(如8080)被谁占了? | sudo ss -tlnp | grep 8080 |
| 想确认某个程序在不在运行 | ps -ef | grep 程序名 |
| 服务器卡了,想看谁在吃CPU | top(按 q 退出) |
| 磁盘满了,怎么看还剩多少? | df -h |
| 磁盘满了,哪个目录最大? | du -sh * | sort -rh | head -10 |
| 内存还够不够? | free -h |
| 脚本没有执行权限怎么办? | chmod +x 脚本名 |
| 文件属主不对,改不了怎么办? | sudo chown 用户名 文件名 |
| 知道文件名但不知道在哪? | find /路径 -name "文件名" |
| 想找最近1天改过的文件? | find /路径 -mtime -1 |
| 想在整个目录里搜关键词? | grep -r "关键词" 目录/ |
| 日志太大要发给开发怎么办? | tar -czvf 包名.tar.gz 目录/ |
| 收到压缩包怎么解压? | tar -xzvf 包名.tar.gz |
| 怎么把文件传到服务器? | scp 文件 用户@IP:/路径/ |
| 怎么登录公司服务器? | ssh 用户@IP |
| 怎么下载一个文件? | wget URL |
| 想复制/备份一个文件 | cp 原文件 备份文件名 |
| 想删除一个文件 | rm 文件名(删了找不回!) |
| 命令敲到一半卡住了 | 按 Ctrl+C 终止 |
| 屏幕太乱想清空 | clear |
| 我刚刚敲过什么命令来着? | history |
| 想关机 | shutdown -h now |

