Linux:这啥命令?这台服务器我说了算-文件系统大冒险——“我就改个文件,怎么还说我没权限?”

举报
yd_240046519 发表于 2026/10/28 14:18:29 2026/10/28
【摘要】 《Linux:从“这啥命令?”到“这台服务器我说了算”》系列目标:少背概念,多敲命令;从“会用”走到“能排错、能上服务器”。 第二章:文件系统大冒险——“我就改个文件,怎么还说我没权限?”上一章我们已经会 pwd、ls、cd,也碰过 cp、mv、rm。这一章不再满足于“会敲”,而是要搞明白:文件到底在哪、命令到底改了谁、为什么有时候系统死活不让你动。 1. Linux 的世界,从 / 开始...

《Linux:从“这啥命令?”到“这台服务器我说了算”》

系列目标:少背概念,多敲命令;从“会用”走到“能排错、能上服务器”。

第二章:文件系统大冒险——“我就改个文件,怎么还说我没权限?”

上一章我们已经会 pwd、ls、cd,也碰过 cp、mv、rm。

这一章不再满足于“会敲”,而是要搞明白:文件到底在哪、命令到底改了谁、为什么有时候系统死活不让你动。


1. Linux 的世界,从 / 开始

Linux 没有 C:、D: 这种盘符概念。整个文件系统像一棵树,树根就是:

/

常见目录先混个脸熟:

/home   普通用户的家目录
/etc    系统配置文件
/var    日志、缓存等经常变化的数据
/usr    程序和共享资源
/tmp    临时文件
/root   root 用户的家目录

你自己的家目录通常类似:

/home/alice

输入:

cd ~
pwd

~ 就代表当前用户的家目录。


2. 绝对路径和相对路径:导航别靠缘分

假设当前目录是:

/home/alice

进入 /etc:

cd /etc

这种从 / 开始写完整位置的叫绝对路径。

如果当前目录下有 linux-lab:

cd linux-lab

这种根据当前位置寻找目标的叫相对路径。

三个符号必须记住:

.    当前目录
..   上一级目录
~    家目录

例如:

cd ..
cd ./linux-lab
cd ~/linux-lab

路径写错时,Linux 不会猜你想去哪,它只会冷静地告诉你:

No such file or directory

3. 创建目录:一次建一层太客气了

普通创建:

mkdir project

一次创建多层目录:

mkdir -p project/src/main

-p 很实用:中间目录不存在时一起创建。

创建几个测试文件:

touch app.py config.txt README.md
ls -lah

如果文件名以 . 开头,它通常属于隐藏文件:

touch .env
ls -a

所谓“隐藏”,本质上只是 ls 默认假装没看见。


4. 复制、移动、删除:三兄弟一个比一个刺激

复制文件:

cp config.txt config.bak

复制目录需要 -r:

cp -r project project-backup

移动文件:

mv config.txt project/

mv 也能直接重命名:

mv README.md README-old.md

删除文件:

rm README-old.md

删除目录:

rm -r project-backup

新手建议先用:

rm -i 文件名

它会在删除前确认一次。

看到 rm -rf 时要格外谨慎。-r 是递归,-f 是强制,两者合体后属于“执行力拉满,后悔药欠费”。


5. 通配符:批量操作不用一个个点名

* 可以匹配任意多个字符:

ls *.txt

查看所有 .txt 文件。

? 匹配单个字符:

ls file?.txt

可能匹配:

file1.txt
fileA.txt

批量操作前,建议先用 ls 看看匹配结果:

ls *.log

确认没问题,再执行:

rm *.log

这个习惯能显著减少“删完才发现删多了”的人生剧情。


6. 文件找不到?让 find 出场

在当前目录查找名为 config.txt 的文件:

find . -name "config.txt"

查找所有 .log 文件:

find . -name "*.log"

按类型查找目录:

find . -type d

按类型查找普通文件:

find . -type f

所以以后别再对着几十层目录手动翻箱倒柜,Linux 已经给你配了搜查队。


7. ls -l 那一长串到底是什么?

执行:

ls -l

可能看到:

-rw-r--r-- 1 alice alice 120 Oct 28 10:20 notes.txt

先看最左边:

-rw-r--r--

第一个字符表示类型:

-   普通文件
d   目录

后面九位是权限,分成三组:

rw-  r--  r--
用户  用户组  其他人

其中:

r = 读
w = 写
x = 执行

这就是为什么你有时“明明看得到文件,却改不了”——你可能有 r,但没有 w。


8. 修改权限:chmod

给脚本增加执行权限:

touch hello.sh
chmod +x hello.sh
ls -l hello.sh

也可以只给当前用户增加执行权限:

chmod u+x hello.sh

常见对象:

u   当前用户
g   用户组
o   其他人
a   所有人

例如:

chmod u+w notes.txt
chmod o-r secret.txt

不要一遇到权限问题就条件反射:

chmod 777 文件

777 基本等于“大家随便来”,解决问题很快,制造新问题也可能很快。


9. 本章实战:搭一个项目目录

执行:

cd ~/linux-lab
mkdir -p chapter02/project/{src,logs,backup}
cd chapter02/project

touch src/app.sh
touch logs/app.log logs/error.log
touch README.md

cp README.md backup/README.bak
chmod u+x src/app.sh
find . -name "*.log"
ls -l src/app.sh

然后先确认日志文件:

ls logs/*.log

确认无误后删除:

rm -i logs/*.log

如果你知道每条命令改动了哪个路径,这一章就算真正过关。


10. 本章速查表

命令 作用
mkdir -p 创建多层目录
touch 创建空文件
cp -r 复制目录
mv 移动或重命名
rm -i 删除前确认
find 查找文件
ls -l 查看详细信息和权限
chmod 修改权限
* 匹配多个字符
? 匹配单个字符

11. 小结

这一章你需要真正搞懂四件事:

  1. Linux 文件系统从 / 开始;
  2. 路径分绝对路径和相对路径;
  3. cp、mv、rm 操作前一定看清目标;
  4. 文件能不能读、写、执行,由权限决定。

下一章,我们开始处理 Linux 最核心的身份问题:

《第三章:用户、用户组与 sudo——“凭什么它能改,我不能?”》

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。