文章目录
[第一章 · chmod 权限管理 🔐](#第一章 · chmod 权限管理 🔐)
[1.1 先看看文件权限长啥样](#1.1 先看看文件权限长啥样)
[1.2 数字法 · 最简单粗暴的改法](#1.2 数字法 · 最简单粗暴的改法)
[1.3 字母法 · 更直观的改法](#1.3 字母法 · 更直观的改法)
[1.4 总结一下 chmod](#1.4 总结一下 chmod)
[第二章 · 远程传输与系统状态 📊](#第二章 · 远程传输与系统状态 📊)
[2.1 scp · 远程传输文件](#2.1 scp · 远程传输文件)
[2.2 df · 看看硬盘还剩下多少](#2.2 df · 看看硬盘还剩下多少)
[2.3 free · 看看内存还够不够](#2.3 free · 看看内存还够不够)
[2.4 ping · 看看网通不通](#2.4 ping · 看看网通不通)
[2.5 wget · 从网上下载东西](#2.5 wget · 从网上下载东西)
[🚀 常用命令速查](#🚀 常用命令速查)
[🏁 收工](#🏁 收工)
概述
上一回我们讲了压缩打包和用户管理------文件会打包了,人会加了。但新问题来了:
你高高兴兴把一个脚本传到服务器上,执行的时候却弹出一行:
text
Permission denied
翻译成人话就是:"你谁啊?这文件不让你跑。" 😡
这时候你需要的是 chmod------Linux 里的"门禁系统",专门管谁能读、谁能写、谁能执行。
还有一件事,服务器跑起来之后,你总得知道它状态咋样吧?硬盘满了没?内存爆了没?网通不通?文件能不能从远程传过去?这些都得靠几个基础指令:scp、df、free、ping、wget。
今天就把这两件事搞定,让你的 Linux 技能从"能用"升级到"能管"。💪
上半场 :chmod 权限管理 🔐
下半场 :scp + 系统状态指令 df、free、ping、wget 📊
第一章 · chmod 权限管理 🔐
1.1 先看看文件权限长啥样
ls -l 看一下文件列表:
bash
ls -l
-rw-r--r-- 1 root root 1234 Aug 19 10:00 hello.py
前面那一串 -rw-r--r-- 就是权限信息,一共 10 个字符:
| 位置 | 含义 |
|---|---|
| 第 1 位 | - 是文件,d 是目录 |
| 第 2-4 位 | 文件所有者(user)的权限 |
| 第 5-7 位 | 所属组(group)的权限 |
| 第 8-10 位 | 其他人(others)的权限 |
每三个一组,每组三个字母:
| 字母 | 含义 |
|---|---|
r |
read,读 ✅ |
w |
write,写 ✏️ |
x |
execute,执行 🚀 |
- |
没有这个权限 ❌ |
1.2 数字法 · 最简单粗暴的改法
数字法是最常用的方式,4-2-1 三个数字代表:
| 数字 | 权限 | 意思 |
|---|---|---|
| 4 | r | 读 |
| 2 | w | 写 |
| 1 | x | 执行 |
把三个数字相加,就能表示一组权限:
| 数字组合 | 权限 | 意思 |
|---|---|---|
| 7 | rwx | 读 + 写 + 执行 |
| 6 | rw- | 读 + 写 |
| 5 | r-x | 读 + 执行 |
| 4 | r-- | 只读 |
| 0 | --- | 啥都没有 |
然后按 所有者 / 组 / 其他人 的顺序,三个一组排好:
bash
chmod 755 hello.py
7 = 所有者:读 + 写 + 执行(自己什么都能干)
5 = 组:读 + 执行(能看能跑,不能改)
5 = 其他人:读 + 执行(外面的人也是能看能跑)
最常见的两个组合:
bash
chmod 755 hello.py # 文件主人全能,其他人只能看和跑
chmod 644 hello.py # 文件主人能读能写,其他人只能看
1.3 字母法 · 更直观的改法
数字记不住,那就用字母:
| 对象 | 字母 |
|---|---|
| 所有者 | u |
| 组 | g |
| 其他人 | o |
| 所有人 | a |
bash
chmod u+x hello.py # 给所有者加执行权限
chmod go-w hello.py # 把组和其他人的写权限去掉
chmod a+r hello.py # 让所有人都能读
1.4 总结一下 chmod
| 场景 | 命令 |
|---|---|
| 脚本自己能跑就行 | chmod 755 script.sh |
| 配置文件,只能自己改 | chmod 644 config.conf |
| 文件夹要让别人进 | chmod 755 /path/to/dir |
| 给自己加执行权限 | chmod u+x file |
| 所有人禁止写入 | chmod a-w file |
第二章 · 远程传输与系统状态 📊
2.1 scp · 远程传输文件
scp 就是 "远程复制文件"。你想从本地上传到服务器,或者从服务器下载到本地,都用它。
bash
# 本地上传到服务器
scp -r /local/project/ root@123.456.78.90:/root/
# 从服务器下载到本地
scp root@123.456.78.90:/root/log.txt ./
💡
-r是传输文件夹的意思,传单个文件不用加。过程会显示进度条,等就完了。⏳
2.2 df · 看看硬盘还剩下多少
服务器跑久了,硬盘突然满了,服务直接挂掉------这是运维里最常见的翻车现场之一。
bash
df -h
-h 参数让人能看懂,显示出来是 G、M 这样的单位,不是纯字节数字。输出结果里看 Use% 这一列:
超过 80%:开始警惕 ⚠️
超过 90%:赶紧想办法 🚨
2.3 free · 看看内存还够不够
bash
free -h
看 available 那一列,这是真正可用的内存。top 是看进程实时排行,free 是看整体内存余量,两个要分清。
2.4 ping · 看看网通不通
bash
ping baidu.com
# 按 Ctrl+C 停止
能通就说明网络没问题。如果连 IP 都 ping 不通,首先检查服务器的防火墙是不是开了禁 ping。
2.5 wget · 从网上下载东西
bash
wget https://example.com/file.zip
# 下载到当前目录,自动显示进度条
适合在服务器上直接拉文件,不用先下载到本机再上传。
🚀 常用命令速查
bash
# 权限管理
chmod 755 script.sh # 给脚本加执行权限
chmod 644 config.conf # 配置文件,只有自己能写
chmod u+x file # 只给自己加执行权限
ls -l # 查看权限
# 远程传输
scp -r local_folder/ root@IP:/root/ # 上传文件夹
scp root@IP:/root/log.txt ./ # 下载文件
# 系统状态
df -h # 硬盘用量
free -h # 内存用量
ping baidu.com # 测网通不通
wget https://xxx.com/file # 下载文件
🏁 收工
今天的内容分两块:chmod 管权限------谁有资格动你的文件;scp + 系统指令 管传输和状态------文件怎么飞过去、服务器现在身体咋样。
这几条记住,基本够用了:
chmod 755 ------ 文件主人全能,其他人能读能跑,稳 🔐
scp -r ------ 文件夹跨服务器搬运,进度条帮你看着 📦
df -h 和 free -h ------ 硬盘内存还剩多少,心里有数 📊
ping 和 wget ------ 网络通不通,文件下不下,两秒见分晓 🌐
下期见。🐧