Linux 用户群体非常多样化,但我们中的许多人都有一些共同的习惯。你可能没有本文中列出的任何明显的迹象,如果你是 Linux 新用户,你可能还没有意识到其中的许多迹象…… 但很快就会。
以下是你可能是 Linux 用户的六个迹象。
1. 就你所知,世界始于 1970 年 1 月 1 日。
关于为什么 Unix 计算机时钟在重置时总是将自身设置回 1970-01-01,有很多传言。但平淡的真相是,Unix “纪元”充当了同步的通用且简单的参考点。例如,万圣节是儒略历中今年的第 304 天,但我们通常将这个节日称为“在 31 日”。我们知道我们指的是哪个 31 日,因为我们有共同的参考点:我们知道万圣节在十月庆祝,而十月是一年中的第 10 个月,并且我们知道前面每个月包含多少天。如果没有这些值,我们可以使用传统的计时方法,例如月相,来跟踪特殊的季节性事件,但当然,计算机没有这种能力。
计算机需要明确定义的固定值,因此选择值 1970-01-01T00:00:00Z 作为 Unix 纪元的开始。任何时候 POSIX 计算机失去时间跟踪时,网络时间协议 (NTP) 等服务可以为其提供自 1970-01-01T00:00:00Z 以来的秒数,计算机可以将该秒数转换为人类友好的日期。
日期和时间是计算机科学中出了名的复杂事物,这主要是因为几乎每个标准都有例外。一个月并不总是 30 天,一年并不总是 365 天,甚至秒数每年也会略有漂移。如果你正在寻找有趣且令人沮丧的编程练习,请尝试编写一个可靠的日历应用程序!
2. 你认为为了完成某件事而输入超过两个字母是件苦差事。
最常见的 Unix 命令以简短而闻名。除了像 cd、ls 和 mv 这样的命令之外,还有一个命令实际上不能再短了:w(它显示当前谁已登录,根据 /var/run/utmp 文件)。
一方面,极其简短的命令似乎不直观。新用户可能不会猜到输入 ls 会列出目录。但是,一旦你学会了这些命令,它们越短越好。如果你整天都在终端中度过,那么你必须输入的击键次数越少,意味着你可以花更多时间完成工作。
幸运的是,单字母命令很少,这意味着你可以将大多数字母用于别名。例如,我经常使用 Emacs,以至于我认为输入 emacs 太长了,所以我通过将此行添加到我的 .bashrc 文件中将其别名为 e
alias e='emacs'
你也可以临时别名命令。例如,如果你发现自己在排查网络问题时反复运行 firewall-cmd,那么你可以为当前会话创建一个别名
$ alias f='firewall-cmd'
$ f
usage: see firewall-cmd man page
No option specified.
只要终端打开,你的别名就会持续存在。一旦终端关闭,它就会被遗忘。
3. 你认为为了完成某件事而单击超过两次是件苦差事。
Linux 用户喜欢效率。虽然并非每个 Linux 用户总是急于完成任务,但 Linux 桌面中存在一些约定,旨在减少完成任何给定任务所需的操作次数。以下是一些示例。
- 在 KDE 文件管理器 Dolphin 中,单击一下即可打开文件或目录。假设如果你想选择文件,你可以单击并拖动,或者按 Ctrl+单击代替。这可能会使习惯于双击所有内容的用户感到困惑,但是一旦你尝试了单次单击操作,你通常就无法回到费力的双击。
- 在大多数 Linux 桌面上,中间单击粘贴剪贴板的最新内容。
- 在许多 Linux 桌面上,可以通过按 Alt、Ctrl 或 Shift 键来修改拖动操作。例如,Alt+拖动在 KDE 中移动窗口,而 GNOME 中的 Ctrl+拖动会导致复制而不是移动文件。
4. 你在计算机上执行任何操作都不会超过三次,因为你已经在第三次之前将其自动化了。
请原谅夸张,但许多 Linux 用户期望他们的计算机比他们更努力地工作。虽然学习如何自动化常见任务需要时间,但在 Linux 上往往比在其他平台上更容易,因为 Linux 终端和 Linux 操作系统是如此紧密地集成在一起。容易自动化的事情是你已经在终端中执行的操作,因为命令只是你输入到解释器中的字符串,而该解释器(终端中运行的 shell)并不关心你是手动输入字符串还是只是将其指向脚本。
例如,如果你发现自己经常将一组文件从一个地方移动到另一个地方,那么你可能会使用与脚本相同的指令序列,你可以使用单个命令触发该脚本。想象一下你每天早上都在手动执行此操作
$ cd Documents
$ trash reports-latest.txt
$ wget myserver.local/reports/daily/report-latest.txt
$ cp report-latest.txt reports_daily/2019-31-10.log
这是一个简单的序列,但每天重复它并不是最有效的时间利用方式。通过一点抽象,你可以使用一个简单的脚本来自动化它
#!/bin/sh
trash $HOME/Documents/reports-latest.txt
wget myserver.local/reports/daily/report-latest.txt \
-P $HOME/Documents/udpates_daily/`date --iso-8601`.log
cp $HOME/Documents/udpates_daily/`date --iso-8601`.log \
$HOME/Documents/reports-latest.txt
你可以将你的脚本命名为 get-reports.sh 并每天早上手动启动它,或者你甚至可以将其输入到你的 crontab 中,以便你的计算机执行该任务而无需你的任何干预。
这对于新用户来说可能会令人困惑,因为它并不总是显而易见什么与什么集成在一起。例如,如果你经常发现自己打开图像并将其缩小 50%,那么你可能习惯于执行以下操作
- 打开你的照片查看器或编辑器
- 缩放图像
- 将图像导出为修改后的文件
- 关闭应用程序
如果你每天执行此操作几次,你可能会厌倦重复。但是,由于你在图形用户界面 (GUI) 中执行这些操作,因此你需要知道如何编写 GUI 脚本以使其自动化。某些应用程序(如 GIMP)具有丰富的脚本界面,但该过程显然与仅调整一堆命令并将它们转储到文件中不同。
再说一次,有时你可以在 GUI 中执行的操作有命令行等效项。使用 Pandoc 可以完成将文档从一种文本格式转换为另一种文本格式的操作,使用 Image Magick 可以操作图像,可以编辑和转换音乐和视频等等。这只是知道要寻找什么的问题,通常是学习一个新的(有时很复杂的)命令。但是,在终端中缩小图像比在 GUI 中明显更简单
#!/bin/sh
convert "${1}" -scale 50% `basename "${1}" .jpg`_50.jpg
值得研究那些令人厌烦的、重复性的任务。你永远不知道你的工作对于计算机来说是多么简单和快速!
5. 你喜欢试用不同的发行版
我在家是狂热的 Slackware 用户,在工作时是 RHEL 用户。实际上,那不是真的;我现在在工作时是 Fedora 用户。除非我使用 CentOS。还有一段时间我运行了 Mageia 一段时间。

PowerPC64 盒子上的 Debian
发行版有多棒并不重要;作为 Linux 用户,一种内疚的乐趣是能够自由地决定运行哪个发行版。乍一看,它们基本上都是相同的,这令人耳目一新。但是根据你的心情,你可能更喜欢 CentOS 的稳定性而不是 Fedora 的持续更新,或者你可能有一天真正享受 Mageia 的集中控制中心,然后在另一个日子里在原始 Debian 配置文件的模块化中嬉戏。有时你会完全转向备用操作系统。

OpenBSD,不是 Linux 发行版
重点是,Linux 发行版是充满激情的项目,参与其他人的开源激情是一件有趣的事情。
6. 你对开源充满热情。
无论你的经验如何,如果你是 Linux 用户,你无疑对开源充满热情。无论你是每天通过 Creative Commons artwork 或代码表达这一点,还是将其升华并在一个自由(和解放)的环境中完成你的工作,你都生活在开源之中并以此为基础进行建设。正是因为有你,才有了开源社区,而社区因有你作为成员而更加丰富。
我还有很多事情没有提及。还有什么会暴露你是 Linux 用户?请在评论中告诉我们!
22 条评论