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 遍

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

回复 Alex Vienna (未验证) 的

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

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

回复 peter_cheer

我想说真正的新手错误是出去寻找程序的 exe 样式安装程序,而没有意识到软件包管理器就在那里为你提供保障。
至于事物的最新版本,尽可能地加入独立和 COPR 存储库是正确的方向。

回复 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,以及我的 Pictures、Videos、Public、Desktop 和 Music 文件夹……

直到今天,我仍然想知道为什么在 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

回复 Jamil Soni N (未验证) 的

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

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

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

命令:sudo rm -fre /

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

知识共享许可协议本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.