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+Click 代替。这可能会让习惯于双击所有内容的用户感到困惑,但是一旦您尝试过单次单击操作,您通常就无法回到费力的双击。
- 在大多数 Linux 桌面中,中间单击粘贴剪贴板的最新内容。
- 在许多 Linux 桌面中,拖动操作可以通过按 Alt、Ctrl 或 Shift 键来修改。例如,Alt+Drag 在 KDE 中移动窗口,而 GNOME 中的 Ctrl+Drag 会导致文件被复制而不是移动。
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 条评论