我是 Linux 和 Ubuntu 的新手。当我不知道如何使用这个操作系统时,我会在网上搜索并询问 Ubuntu,总能找到答案。
但有时它既不是一个很好的答案,也不是完整的教程。无论如何我都遵循说明,但我不知道所有命令的含义。
我的问题是:
- 当我按照教程操作时,是否 100% 安全?
- 如果不是,那么我怎么知道我处于危险之中?
答案1
总结不,你不是 100% 安全的。换句话说,三思而后行。;)
不要在不了解基础知识的情况下执行代码片段。使用man
来了解有关命令或程序的更多信息。如果您不明白,请使用 Google 或其他搜索门户。如果您仍然有疑问,请不要执行代码。
你相信我吗?然后运行:
man man
好的,不危险,你看到了 man-pageman
但是下面的代码呢,你相信我吗?
$(perl -MMIME::Base64 -0777ne 'print decode_base64($_)' <<< "ZWNobyAnQk9PSCEnCg==")
不是吗?好主意。让我们分解一下代码:
perl
Perl 语言解释器
-MMIME::Base64
Base64 字符串的编码和解码
-0777ne
-0777
- 将行分隔符更改为 undef,让我们可以读取文件,并一次性将所有行提供给 Perl。-e
- (执行)标志允许我们指定我们想要在命令行上运行的 Perl 代码。-n
- 将输入逐行提供给 Perl。'print decode_base64($_)'
- 解码字符串,该字符串保存在 中$_
。"ZWNobyAnQk9PSCEnCg=="
- 还有这个?这是什么?
我们开始测试一下。
我们知道,它类似于 base64,并且看起来是经过编码的。因此使用以下命令解码字符串:
base64 --decode <<< "ZWNobyAnQk9PSCEnCg=="
输出是......好吧,并不是很危险:
echo 'BOOH!'
现在,我们可以用 perl 做同样的事情
perl -MMIME::Base64 -0777ne 'print decode_base64($_)' <<< "ZWNobyAnQk9PSCEnCg=="
输出结果令人惊讶:
echo 'BOOH!'
但这危险吗?这很危险:
$(…)
此构造执行圆括号内的命令的输出。
我们来试试吧,你相信我吗?
$(perl -MMIME::Base64 -0777ne 'print decode_base64($_)' <<< "ZWNobyAnQk9PSCEnCg==")
“噓!”
还有什么
c3VkbyBraWxsYWxsIG5hdXRpbHVzCg==
试试看...你相信我吗?
答案2
我对此的一般假设是肯定的,因为 askUbuntu 上的人通常都知道如何解决这个问题。
但是,一般来说,我总是喜欢了解自己在做什么,所以如果你得到的答案是你不熟悉的命令/语法,只需要求更广泛的解释。我相信最初提供帮助的人不会介意分享他的进一步知识。
祝你好运,你选择 Linux 是正确的——比竞争对手好很多!!:-)
答案3
有些博客确实比其他博客好很多。没错,初学者很难分辨出两者的区别。
第一,确保说明适用于你的ubuntu 版本。非 lts 版本仅持续 9 个月左右。博客文章持续的时间更长。而且适用于旧版本的方法通常不适用于新版本。
此外,如果他们没有解释如何撤消更改(如果它不起作用而您不知道如何撤消),请不要这样做。
许多博客都告诉您从第三方 ppa 安装,即使应用程序位于 ubuntu 存储库中。这些东西都没有针对您的内核版本进行 beta 测试。我的软件源中没有任何 ppa,除非真的有必要,否则我不会这样做。
答案4
尝试查看多个解决特定问题的博客。可能有一个博客提到了某些细节,而另一个博客没有。我还建议您记录所做的更改,以防将来需要恢复它们。如果情况变得更糟,您可以随时将 Ubuntu 重置为其默认配置。