若是你是 Linux 资深用户,则可能会有这些共同倾向。linux
Linux 用户千差万别,可是咱们许多人都有一些相同的习惯。你可能没有本文列出的任何特征,并且若是你是个 Linux 新用户,你可能还不能理解这些特征……git
下面是你多是 Linux 用户的六个特征。github
关于 Unix 计算机时钟为什么在重置时老是将其设置回 1970-01-01 的传闻有不少。但有点使人感到乏味的事实是,Unix “纪元”是用于同步的通用且简单的参考点。例如,万圣节在儒略历中是今年的 304 日,但咱们一般将该节日称为 “31 号”。咱们知道指的是哪一个月的 31 号,由于咱们有个共同的参考点:咱们知道万圣节在 10 月庆祝,而 10 月是一年中的第十个月,而且咱们知道前面每个月包含多少天。没有这些值,虽然咱们可使用传统的计时方法(如月相)来跟踪特殊的季节性事件,可是计算机显然不具有这种能力。编程
计算机须要肯定且明肯定义的值,所以将值 1970-01-01T00:00:00Z
选择为 Unix 纪元的开始。每当 POSIX 计算机的时间不许确时,诸如网络时间协议(NTP)之类的服务就能够向其提供自 1970-01-01T00:00:00Z
以来的秒数,计算机能够将其转换为人类易于识别的日期。ruby
日期和时间是在计算中要追踪的著名的复琐事物,主要是由于几乎全部标准都有例外。一个月并不老是有 30 天,一年也不老是有 365 天,甚至每一年有多少秒钟也每每会有所不一样。若是你正在寻找一个有趣而使人沮丧的编程练习,那么请尝试编程一个可靠的日历应用程序!bash
众所周知,最多见的 Unix 命令都超简短。除了 cd
、ls
和 mv
之类的命令外,还有一个命令简直不能再短了:w
(它根据 /var/run/utmp
文件显示当前谁登陆了)。markdown
一方面,极短的命令彷佛很不直观。新用户可能不会猜想到键入 ls
会列出目录。可是,一旦学习命令,它们确定是越短越好。若是你成天都在终端上度过,那么你键入的击键次数越少就意味着你能够有更多的时间来完成工做。网络
幸运的是,单字母命令并不太多,所以你可使用大多数字母做为别名。例如,我常用 Emacs,以致于我以为 emacs
的输入时间太长,所以经过将下面这行添加到 .bashrc
文件中,将其别名为 e
:编辑器
alias e='emacs'
复制代码
你也能够临时为命令添加别名。例如,若是你在解决网络问题时发现本身反复运行 firewall-cmd,则能够为当前会话建立别名:svg
$ alias f='firewall-cmd'
$ f
usage: see firewall-cmd man page
No option specified.
复制代码
只要你打开着终端,你的别名就会一直存在。当终端一旦关闭,它便会被遗忘。
Linux 用户喜欢效率。尽管并不是每一个 Linux 用户都老是急于完成工做,但 Linux 桌面中有一些旨在减小完成任务所需的操做数量的惯例。这里有些例子。
Ctrl + 点击
。这可能会使习惯于双击全部内容的用户感到困惑,可是一旦你尝试了单击操做,一般就没法返回费力的双击操做。Alt
、Ctrl
或 Shift
键来修改拖动动做。例如,Alt + 拖动
在 KDE 中移动窗口,而 GNOME 中的 Ctrl + 拖动
会复制文件而不是移动。请原谅我有点夸张,可是许多 Linux 用户指望他们的计算机比他们更努力地工做。虽然学习如何自动执行常见任务须要花费时间,但在 Linux 上它每每比在其它平台上更容易,由于 Linux 终端和 Linux 操做系统是如此紧密地集成在一块儿。最容易自动化的是你在终端中已经执行的操做,由于命令只是你在解释器中键入的字符串,而该解释器(终端)不会在意你是手动键入字符串仍是将其指向一个脚本。
例如,若是你发现本身常常将一组文件从一个位置移动到另外一个位置,则或许能够将相同的指令序列用做一个脚本,你可使用单个命令来触发该脚本。假设你天天早上手动执行此操做:
$ 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
复制代码
这些麻烦、重复的任务值得研究。你永远不知道你的工做让计算机作起来是有多么的简单和快捷!
我在家里是一个热情的 Slackware 用户,而在工做时是一个 RHEL 用户。实际上,这不是事实,我如今在工做时是 Fedora 用户。除了有时候我使用 CentOS,偶尔我还会运行 Mageia。
运行在 PowerPC64 机器上的 Debian
发行版好很差可有可无,成为 Linux 用户的极致乐趣之一是能够自由决定运行哪一个发行版。乍一看,它们基本相同,使人耳目一新。可是根据你的心情,你可能更喜欢 CentOS 的稳定性而不是 Fedora 的不断更新,或者你可能有一天会真正享受 Mageia 的集中控制中心,而后又对原始的 Debian 配置文件进行模块化乐在其中,而有时你又会彻底转向其余操做系统。
OpenBSD,不是 Linux 发行版
关键是,Linux 发行版是激情项目,成为其余人的开源激情的一部分颇有趣。
不管你的经验如何,若是你是 Linux 用户,那么你无疑会对开源充满热情。不管你是天天经过[共创艺术品] 11仍是代码来表达你的热情,仍是将其升华到只在自由而自在的环境中完成工做,你都生活并构筑于开源之上。由于有了千千万万个你,因此有了开源社区,社区因你而变得更加丰富。
有太多的东西我没有提到。做为 Linux 用户,还有什么能够出卖你的身份?让咱们在评论中知道!
via: opensource.com/article/19/…
做者:Seth Kenlon 选题:lujun9972 译者:wxy 校对:wxy