问题描述
我是 Linux 和 Ubuntu 的新手。当我不知道如何用这个操作系统做一些事情时,我在网上搜索并询问 Ubuntu 并总能找到答案。
但有时它不是一个很好的答案,也不是完整的教程。无论如何我都按照说明进行操作,但我不知道所有命令的含义。
所以我的问题是:
-
当我遵循教程时,我是否 100% 安全?
-
如果没有,那我怎么能说我有危险呢?
最佳办法
TL;DR 不,您不是 100% 安全的。或者换句话说,三思而后行。 😉
不要在不了解基础知识的情况下执行代码片段。使用 man
了解有关命令或程序的更多信息。如果您不明白,请使用 Google 或其他搜索门户。如果您仍然怀疑,请不要执行代码。
你信任我吗?然后运行:
man man
好吧,不危险,你看man
的man-page
但是下面的代码呢,你相信我吗?
$(perl -MMIME::Base64 -0777ne 'print decode_base64($_)' <<< "ZWNobyAnQk9PSCEnCg==")
不是?好主意。让我们分解代码:
-
perl
Perl 语言解释器 -
-MMIME::Base64
base64字符串的编解码 -
-0777ne
-0777
– 将行分隔符更改为 undef,让我们可以提取文件,一次性将所有行提供给 Perl。-e
– (execute) 标志允许我们指定我们想要在命令行上运行的 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==")
‘BOOH!’
和什么有关
c3VkbyBraWxsYWxsIG5hdXRpbHVzCg==
试试看……你相信我吗?
次佳办法
我对此的一般假设是肯定的,因为 askUbuntu 的人通常知道他们的方法。
然而,总的来说,我总是喜欢了解我在做什么,所以如果你得到一个你不熟悉的命令/语法的答案 – 只需要更广泛的解释。我敢肯定,首先提供帮助的人不会介意分享他的进一步知识。
祝你好运,你对 Linux 做出了正确的选择——比竞争对手更好! 🙂
第三种办法
有些博客肯定比其他博客好得多。是的,初学者很难区分。
第一,确保说明适用于您的 ubuntu 版本。非 lts 版本仅持续 9 个月左右。博客文章的持续时间更长。对旧版本有用的东西通常不适用于新版本。
此外,如果他们没有解释如何撤消更改,如果它不起作用并且您不知道如何撤消,请不要这样做。
许多博客告诉您从第 3 方 ppa 安装,即使该应用程序位于 ubuntu 存储库中。这些东西都没有针对您的内核版本进行 beta 测试。我的软件源中没有任何ppa,除非确实有必要,否则不会。