Linux 用户群体多种多样,但我们中的许多人都有一些共同的习惯。你可能没有任何本文列出的明显迹象,如果你是 Linux 新用户,你可能认不出其中的许多迹象…… 但很快就会认出。
以下是 6 个迹象表明你可能是 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 用户,你无疑对开源充满热情。无论你是否每天通过 知识共享艺术品 或代码来表达这一点,或者你是否抑制它并在一个自由(和解放)的环境中完成你的工作,你都在开源中生活和构建。正是因为有你,才有了开源社区,而社区因你的加入而更加丰富。
有很多事情我没有提到。还有什么会暴露你是 Linux 用户?请在评论中告诉我们!
22 条评论