Linux用户是一个多样化的群体,但我们中的许多人都有一些共同的习惯。你可能没有本文中列出的任何迹象,并且如果你是新的Linux用户,你可能无法识别其中的许多迹象...然而
这里有六个迹象表明你可能是Linux用户。
1. 据你所知,世界始于1970年1月1日
关于计算机在重置时为什么总是设置回1970-01-01的原因,有很多谣言。事实是,Unix“时代”是同步的一个常见而简单的参考点。例如,在朱利安历法中,万圣节是今年的第304天,但我们通常把这个节日称为“31日”。我们知道31号是什么意思,因为我们有共同的参考点:我们知道万圣节是在10月庆祝的,10月是一年中的第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太长了,所以我给它加了一个别名 e ,添加到 .bashrc文件中:
alias e='emacs'
你还可以临时使用别名命令。例如,如果在解决网络问题时发现自己经常使用firewall-cmd,则可以仅为当前会话创建别名:
$ alias f='firewall-cmd'$ fusage: see firewall-cmd man pageNo option specified.
只要终端处于打开状态,你的别名就会持续存在。一旦终端关闭,它就被遗忘了。
3. 你认为点击两次以上来完成某件事是件麻烦事
Linux用户喜欢效率。虽然并非每个Linux用户都急于完成任务,但Linux桌面上有一些惯例,它们试图减少完成任何给定任务所需的操作数量。这里有一些例子:
1)在KDE文件管理器中,单击一次即可打开文件或目录。假设如果要选择文件,可以单击并拖动,或者按住Ctrl键并单击。这可能会让习惯于双击所有内容的用户感到困惑,但一旦你尝试了单键单击操作,你通常无法返回到费力的双击;
2)在大多数Linux桌面上,单击鼠标中键可粘贴剪贴板的最新内容;
3)在许多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/shtrash $HOME/Documents/reports-latest.txtwget myserver.local/reports/daily/report-latest.txt \-P $HOME/Documents/udpates_daily/`date --iso-8601`.logcp $HOME/Documents/udpates_daily/`date --iso-8601`.log \$HOME/Documents/reports-latest.txt
你可以调用脚本get-reports.sh并每天早上手动启动它,或者甚至可以将其输入到crontab(定时任务)中,这样你的计算机就可以执行任务,而无需你进行任何干预。
这可能会让新用户感到困惑,因为它并不总是很清楚什么与什么集成在一起。例如,如果你经常打开图像并将其缩小50%,那么你可能已经习惯了这样做:
1)打开图片查看器或编辑器;
2)缩放图片;
3)将图片导出为修改后的文件;
4)关闭应用程序。
如果你一天做几次,你可能会厌倦重复。但是,由于你在图形用户界面(GUI)中执行这些操作,因此你需要知道如何编写GUI脚本以实现自动化。一些应用程序,如GIMP,有丰富的脚本接口,但其过程显然不同于仅仅调整一组命令并将其转储到文件中。
同样,有时命令行相当于你在GUI中所做的事情。可以使用Pandoc将文档从一种文本格式转换为另一种文本格式,可以使用Image Magick操作图像,可以编辑和转换音乐和视频,等等。这是一个知道要寻找什么的问题,通常是学习一个新的(有时是复杂的)命令。但是,在终端中缩小图像比在GUI中要简单得多:
#!/bin/shconvert "${1}" -scale 50% `basename "${1}" .jpg`_50.jpg
这些烦人、重复的任务值得研究。你永远不知道你的工作对于计算机来说是多么简单和快速!
5. 你是发行人吗
我在家里是一个热心的Slackware用户,在工作中是RHEL用户。事实上,那不是真的;我现在工作中是Fedora用户。除非我使用CentOS。有一次我用了Mageia一段时间。

哪一种发行版不重要,作为Linux用户有时候会对选择哪个发行版犹豫不决,乍一看,它们基本上都一样。但是,看心情,有时候你可能喜欢CentOS的稳定性,而不是Fedora的不断更新,或者你可能有一天真正喜欢Mageia的集中控制中心,然后又有一天在原始Debian配置文件的模块化中嬉戏。有时你会完全转向另一个操作系统。

关键是,Linux发行版是很让人兴奋的项目,与其他人一道为开源项目贡献力量同样很有趣。
6. 你喜欢开源
不管你的经验如何,如果你是Linux用户,你无疑对开源有着热情。无论你是通过Creative Commons artwork 或代码在日常基础上表达,还是将其升华,并在一个自由(和解放)的环境中完成工作,你都生活在开放源码中并建立在开放源码之上。正是因为有了你,才有了一个开源社区,社区因为有了你作为成员而更加丰富。




