842 字
约 2 分钟
11
S15-B02 · 文件与目录:增删改查与查找
适用读者:只会
ls和cd、被ls -l那串字符劝退的人。
前置:S15-B01。
实测环境:Ubuntu 24.04(2026-11-05)。
覆盖旧文:15 张文件类卡 + 6 张查找/重命名卡 = 399 点。
覆盖扩展:E-S15-002(权限位读法)、E-S15-010(find与grep -r的分工)。
上一篇:S15-B01 · Linux 全景与学习路径
下一篇:S15-B03 · 权限与用户。
1. 一句话结论
文件名与路径只是"标签",真正决定能不能操作的是权限位。所以 ls -l 的第一列比文件名更重要。
实测:
$ chmod 644 f.txt && stat -c '%A %a %U:%G %n' f.txt
-rw-r--r-- 644 root:root f.txt
$ chmod 755 f.txt && stat -c '%A %a %n' f.txt
-rwxr-xr-x 755 f.txt
2. ls -l 第一列怎么读(E-S15-002)
-rwxr-xr-x
│└┬┘└┬┘└┬┘
│ │ │ └── 其他人(o)
│ │ └───── 所属组(g)
│ └──────── 属主(u)
└────────── 类型:- 文件,d 目录,l 链接
| 数字 | 含义 |
|---|---|
r=4 |
读 |
w=2 |
写 |
x=1 |
执行(目录=可进入) |
| 644 | rw-r--r-- |
| 755 | rwxr-xr-x |
3. 常用文件操作(覆盖 21 张旧卡)
| 目的 | 命令 | 注意 |
|---|---|---|
| 创建空文件 | touch f |
— |
| 创建目录 | mkdir -p a/b/c |
-p 递归 |
| 复制 | cp -r src dst |
目录要 -r |
| 移动/重命名 | mv a b |
同一命令 |
| 删除文件 | rm f |
无回收站 |
| 删除目录 | rm -r d |
谨慎 |
| 查看内容 | cat / tail -f / less |
大文件用 less |
| 编辑 | vim / nano |
— |
| 清空文件 | > f 或 truncate -s0 f |
后者更安全 |
| 查看大小 | du -sh dir |
-h 人类可读 |
| 压缩/解压 | tar -czf / tar -xzf |
-C 指定目录 |
| 软链接 | ln -s target link |
删链接不影响目标 |
4. 查找:find 与 grep -r 的分工(E-S15-010)
| 需求 | 用 |
|---|---|
| 按文件名/属性找 | find /path -name "*.log" -mtime +7 |
| 按内容找 | grep -rn "error" /path |
| 两者结合 | find . -name "*.py" -exec grep -l "TODO" {} + |
"为什么不用 ls | grep":find 能按时间/大小/权限过滤,且能处理深层目录。
5. 五个误区
| 误区 | 真相 |
|---|---|
"chmod 777 能解决权限问题" |
是安全隐患,要最小权限 |
"rm 有回收站" |
没有(trash-cli 才有) |
"cp 会递归复制目录" |
需要 -r |
"mv 只能移动" |
同目录内就是重命名 |
"find 比 grep -r 慢所以不用" |
它们解决不同问题 |
6. 自检
ls -l第一列的九个字符怎么分组?644与755各代表什么?cp -r的-r解决什么?find与grep -r各适合什么?- 为什么
chmod 777是坏做法?
7. 下一篇
S15-B03 · 权限与用户:rwx 到底管什么
文件讲完,下一篇专讲权限——尤其是"目录的 r/w/x 和文件完全不同"(实测)。
本篇属于系列《S15 · Linux 与运维》。旧文来源:21 张文件/查找类卡;扩展点 E-S15-002/010。stat 输出为 Ubuntu 24.04 实测。
S15-B02 · 文件与目录:增删改查与查找
https://www.clxhxhhr.top/posts/5390/ 评论
0 条
还没有评论,先写一条吧。