Linux 很难 —— 直到你理解这 7 件事

我曾以为 Linux 在惩罚我 Linux 第一次对我说“Permission denied”的时候,我是往心里去的。

我确信自己把命令敲对了。 我逐字逐句地照着教程操作。 可 Linux 依然拒绝配合。

我盯着终端,坚信 Linux 就是被设计来折磨新手的。 那天晚上,我差点把系统抹掉,回到 Windows。

而我当时不知道的一件事其实很简单:

Linux 并不是在阻止我。 Linux 只是在教我一条我从未学过的规则。

按回车键或点击以全尺寸查看图片

权限 —— 每个新手撞上的第一堵墙

我当时正试图运行一个 shell 脚本。

./backup.sh

Linux 立刻回复:

bash: ./backup.sh: Permission denied

我又试了一次。 结果一样。

我在不明所以的情况下加上了 sudo。

sudo ./backup.sh

它成功运行了,但我心里很不舒服。 就像作弊了一样。

这时,一位资深工程师问了我一个问题:

“你知道这个文件的所有者是谁吗?”

我不知道。

权限终于讲通的那一天

在 Linux 中,每个文件都会回答三个问题:

  • 谁拥有我?
  • 还有谁被允许?
  • 他们具体被允许做什么?

我运行了:

ls -l backup.sh

输出是:

-rw-r--r-- 1 pawan pawan 2456 backup.sh

那一行看起来很吓人,但它很诚实。

  • rw- → 我可以读和写
  • 没有 x → 我不能执行

Linux 并没有生气。 Linux 只是很精确。

于是我做了 Linux 所期望的事情:

chmod +x backup.sh

然后:

./backup.sh

它运行了。

那一刻教会了我一件重要的事: Linux 不会猜测你的意图,它只遵守规则。

(文件系统)为什么 Linux 一开始让人感觉“迷路”

当我第一次安装一个服务时,我问了自己一个很蠢的问题:

“它去哪儿了?”

没有 C: 盘。 没有安装向导窗口。 没有快捷方式。

只有……沉默。

后来我才明白,Linux 并不会隐藏文件 —— 它是在分类。

配置文件位于:

/etc

日志存放在:

/var/log

用户数据保存在:

/home

可执行文件存在于:

/bin
/usr/bin

当我不再随机乱找,而是开始用结构化的方式思考时,Linux 就不再显得混乱了。

文件并没有丢失。 是我缺少地图。

(进程)系统内部看不见的人群

我的系统很慢。

慢到令人痛苦。

我重启了。 毫无改变。

后来有人给我看了这个命令:

top

突然之间,Linux 不再安静了。

我可以看到:

  • CPU 使用率
  • 内存使用率
  • 吃光资源的异常进程

后来我又学会了:

ps aux | grep java

Linux 并不慢。 是某个行为失常的进程在作祟。

那一刻我意识到: Linux 给你的是可见性,而不是借口。

(服务)“昨天还能用”的真正原因

有一天早上,我的 Web 服务器启动不了了。

没有弹窗。 没有警告。

只有一个死掉的服务。

我没有像以前那样重装一切,而是运行了:

systemctl status nginx

答案就在那里 —— 一个缺失的配置文件。

我修复了它。 然后重启服务:

systemctl restart nginx

Linux 并没有失败。 只是我之前没问对问题。

(日志)Linux 总是在解释自己

有好几个月,我一直以为 Linux“从不告诉你哪里错了”。

这是我最大的误解。

Linux 会告诉你一切 —— 都在日志里。

当东西出问题时,我学会去看:

journalctl -xe

或者:

tail -f /var/log/syslog

每一次崩溃都有故事。 每一次失败都会留下痕迹。

Linux 不会大声喊错误。 它会把错误记录下来。

(网络)“在我机器上能跑”

服务在运行。 端口是开的。 但就是连不上。

我学会先检查最基本的东西:

ip a
ss -tuln
ping google.com

然后是防火墙:

firewall-cmd --list-all

当我把网络当成逻辑问题来对待时,它就不再是魔法了。

改变一切的思维转变

Linux 并不难。 Linux 是诚实的。

它不假设。 它不猜测。 它不会保护你免于做出错误决定。

当我不再和 Linux 对抗,而是开始理解它时,一切都改变了。

我并没有变聪明。 我只是变得有认知了。

我为什么要写这个系列

每一个 Linux 新手都会经历这个阶段:

  • 自我怀疑
  • 困惑
  • 无声的挫败感

如果你正在经历这些 —— 那不是失败。

你正在用专业人士的方式学习 Linux: 通过把它弄坏、修好,然后真正理解它。

本作品采用《CC 协议》,转载必须注明作者和本文链接