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 /,因为它会删除所有软件。

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