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. 自检

  1. ls -l 第一列的九个字符怎么分组?
  2. 644 与 755 各代表什么?
  3. cp -r 的 -r 解决什么?
  4. find 与 grep -r 各适合什么?
  5. 为什么 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/
作者
clxstart
发布于
2024-12-31
许可协议
CC BY-NC-SA 4.0
评论
0 条
还没有评论,先写一条吧。