5 个 Linux 新手错误

Linux 爱好者分享他们犯过的一些最大错误。
146 位读者喜欢这篇文章。
magnifying glass on computer screen, finding a bug in the code

Opensource.com

在你的一生中学习新技能是明智的——它能保持你的思维敏捷,并使你在就业市场上更具竞争力。但有些技能比其他技能更难学,尤其是在那些新手小错误会让你在试图修复它们时花费大量时间和麻烦的技能上。

以学习 Linux 为例。如果你习惯于在 Windows 或 MacOS 图形界面中工作,那么迁移到 Linux,使用其不熟悉的终端命令,可能需要一个漫长的学习过程。但回报是值得的,正如在你之前已经有数百万人证明的那样。

话虽如此,这段旅程并非没有陷阱。我们请一些 Linux 爱好者回忆他们刚开始使用 Linux 的时候,并告诉我们他们犯过的最大错误。

“不要期望命令会以理性或一致的方式工作而进入[任何类型的命令行界面(CLI)工作],因为这很可能会导致挫败感。 这不是由于糟糕的设计选择造成的——尽管当你撞到虚拟桌子时可能会有这种感觉——而是反映了这些系统已经进化并在几代软件和操作系统演进中不断添加的事实。 顺其自然,写下或记住你需要的命令,并且(尽量不要)在事情不如你期望的那样时感到沮丧。” Gina Likins

“尽管复制和粘贴命令以使事情运行起来可能很容易,但首先要阅读命令,并且至少要大致了解即将执行的操作。 特别是当存在管道命令时。 如果有多个管道命令,则更是如此。 有很多破坏性命令看起来无伤大雅,直到你意识到它们可以做什么(例如,rmdd),并且你不想意外地破坏东西。(问问我是怎么知道的。)” Katie McLaughlin

“在我的 Linux 之旅的早期,我没有意识到知道你在文件系统中的位置的重要性。 我当时正在我认为是我的主目录中删除一些文件,然后我输入了 sudo rm -rf * 并删除了我系统上的所有引导文件。 现在,我经常使用 pwd 来确保在我发出此类命令之前我确实在我认为的位置。 幸运的是,我能够用 USB 驱动器启动我受损的笔记本电脑并恢复我的文件。” Don Watkins

“不要将整个文件系统上的权限重置为 777,因为你认为‘权限很难理解’并且你希望应用程序能够访问某些内容。”Matthew Helmke

“我当时正在从我的系统中删除一个软件包,但我没有检查它依赖于哪些其他软件包。 我只是让它删除它想删除的任何东西,结果导致我的一些重要程序崩溃并变得不可用。” Kedar Vijay Kulkarni

在学习使用 Linux 时,你犯过哪些错误? 在评论中分享它们。

标签
User profile image.
Jen 领导红帽数字社区团队的社区经理团队。她与丈夫和女儿 June 和 Jewel 住在罗利。

14 条评论

Linux、IOS 和 Google 的 Android 都是 UNIX 服务器的变种……在配置分区、系统文件系统和用户权限时可能会犯同样的错误……诀窍是使用正确/非常具体的语法来创建你想要的东西……我曾多次尝试在过程中简化/概括 CLI 命令,从而搞砸了操作系统/硬盘驱动器和 CPU 机器语言……感谢上帝,可以重新格式化。 我喜欢 Linux/Android 变种。 不会把时间浪费在苹果贪婪的系统上!

真正令人恼火的是,r 离 e 太近了。 在你按下回车键执行 crontab -e 之前,请看 3 遍。

哦,不! 我经常打错字,但我很惊讶我从来没有犯过这个错误。

回复 by Alex Vienna (not verified)

另一个新手错误可能是依赖于你选择的发行版的内置软件包管理器,它很吸引人并且诱人,使添加或删除应用程序变得容易(理应如此)。 不幸的是,存储库中可用的程序版本常常落后于最新版本,有时会落后很长时间。

实际上,我认为新手应该坚持使用软件包管理器,直到他们理解如何以及为什么要使用其他方式进行更新。 这有助于你避免我们过去经常遇到的“依赖地狱”。
(依赖地狱 = 某些较新版本的程序需要更新库,而这些库与你正在使用的其他程序不兼容并破坏它们的情况。 这是认为绝对最新的版本是最好的新手错误。)

回复 by peter_cheer

我想说真正的新手错误是在没有意识到软件包管理器可以让你保持正常运行的情况下,外出寻找程序的 exe 式安装程序。
至于事物的最新版本,尽可能地开始添加独立和 COPR 存储库是正确的方法。

回复 by peter_cheer

即使你不再是新手,你也无法避免新手错误。 我使用插件进行了 Fedora 升级,并认为我不需要备份我的系统。 升级惨败,计算机无法启动。 幸运的是,我能够运行救援磁盘并从硬盘驱动器复制我需要的文件。 当然,我告诉自己我再也不会那样做了,但我会吗?

我曾经卸载了 python 模块 sudo apt purge python*,然后我的终端无法工作或运行大多数应用程序...... 这很糟糕。

我重启了错误的主机 :( 我在递归删除或更改权限时也去错了目录。 哎哟。

请:将你的 PS1 设置为 $HOSTNAME: <$PWD> $USER

在你运行任何可能导致中断或破坏的命令之前,先问问自己我是什么用户,我在哪个目录以及我在哪台主机上。
这又回到了 ^^ - 在运行命令之前定期检查你的 PS1。 这将为你节省大量时间和尴尬 :)

很棒的文章! 今天我正在设置一个新的备份设备并编写一些脚本。 一切进展顺利,直到我不小心删除了我刚做的所有备份...... 所以,我不得不重新做一遍!

就在几周前,我尝试编写一个脚本,该脚本将查找并希望删除所有超过 10 天的 firefox 书签...... 在我设法使命令看起来正确之后...... 它看起来像这样

$ find $HOME/_Backup/firefox_autobak -mtime +10 -type f -name *.html.xz -delete

它工作得很好...... 然后,我正在阅读论坛和手册页,并认为我_应该_将 -delete 选项移动到搜索字符串之前的某个位置,只是为了使 cmd 看起来更正确和美观...... 我当时在我的主文件夹中...... 所以我用 cmd 做了一个测试,如下所示

$ find $HOME/_Backup/firefox_autobak/ -mtime +10 -delete -name *.html.xz

并且...... 突然我注意到它试图删除一些只读文件,并且能够取消该过程...... 但是,不知何故,该 find 命令删除了我的 vim 自定义 delek.vim 配色方案、.profile、.history,以及我的图片、视频、公共、桌面和音乐文件夹......

直到今天,我仍然想知道为什么在 cmd 中移动该标志会对我的主文件夹造成如此大的破坏。 幸运的是,我将我的数据保存在其他未受影响的非 XDG 文件夹中,并且我的 .profile 非常短,我可以找到一个几乎是最新的旧备份...... 后来我找到了一个比我的自定义 delek 更好的 vim 配色方案,所以大多只是一场虚惊......

现在我总是 cd 进入我想管理文件的文件夹,只是为了避免新手错误...... 并始终保持最新的备份

这是因为在 find 中,选项不仅仅是像其他一些命令那样打开或关闭功能的标志。 它更像是一个过滤器或管道。 它是从左到右处理的,并且为每个文件评估整个表达式为 true 或 false。
因此,你的第一个表达式 (-mtime +10 -type f -name *.html.xz -delete) 表示

如果修改时间超过 10 天前,则为 true
如果仍然为 true 并且它是一个文件,则为 true
如果仍然为 true 并且名称与模式匹配,则为 true
如果仍然为 true,则删除该文件

你的第二个表达式 (-mtime +10 -delete -name *.html.xz) 表示

如果修改时间超过 10 天前,则为 true
如果仍然为 true,则删除该文件
如果仍然为 true 并且名称与模式匹配,则为 true

回复 by Jamil Soni N (not verified)

我不得不(以惨痛的方式!)学会永远不要在没有首先进行完整备份的情况下进行任何关于更新(Fedora...OpenSuSE)的事情。 我在 2002 年/03 年还是个新手,当时认为 Linux “就像” Windows……如果你更新/升级……如果出现任何问题,你将有一种方法可以恢复它。 嗯? 17 年后,我可以告诉你我丢失了大量我珍视的数据! 我有 3 台笔记本电脑和一台台式机……我有两个 4 TB 的外置硬盘,我每个月都用它们进行备份。 所以现在?……无论我的系统中的哪个系统因更新而变得多么糟糕?……我可以轻松地将我所有的设置、配置文件以及照片、视频、文档等恢复原状。 (顺便说一句?……我现在不太倾向于升级了……我正准备从 Fedora 28 迁移到 30……并更新我的 OpenSuSE 笔记本电脑和我的 Ubuntu 台式机!) 我想一旦你进入 Linux 的世界,你就会通过破坏一切的过程“赢得”你的荣誉勋章?……似乎系统管理中最优秀的人都有噩梦般的故事……我只能说谢天谢地,我从来没有在“企业”硬件上犯过这些错误……它一直是我的个人机器! 呼!

我执行了我即将描述的命令,因为我正在完全擦除我系统上的软件,以便其他人可以拿走它并根据需要使用它。 我在一个计算机操作系统组织中,因此我们可以轻松地获得每日系统构建或稳定的软件版本。

因此,除非你打算销毁你系统上的软件并且你想观看系统变得不可用,否则永远不要这样做。

命令:sudo rm -fre /

在我使用的 UNIX 系统上,e 选项将显示有关命令进度的信息,在这种情况下,直到系统本身变得不可用。 所以观看很酷,因为我们有简单的方法从头开始重建系统软件。 大多数人永远不会想执行命令:sudo rm -fre /,因为它会删除所有软件。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.