Linux系统你可能还不知道的七件事

使用Linux最酷的部分之一就是随着时间的推移而不断获得新的知识。每天,你都可能会遇到一个新的实用工具,或者,是一个不熟悉的标志,就可以做一些有用的事情。这些小细节可能并不总是改变生活,但它们却是专业知识的基石。

即使专家也不知道这一切。不论你有么丰富的经验,总会有更多的东西需要学习,所以这里列出关于Linux系统你可能还不知道的七件事。

历史命令有交互模式

你可能对于Linux系统的命令历史(history)比较熟悉,这个命令可以提供一个bash输入命令的标准列表。但是,如果你在很多的“curl”命令中查找特定的URL时,会觉得这个列表不是很好使用。

使用替代,Linux提供了一种交互式反射搜索功能来帮你对付上面的烦恼。可以按“Crtl+r”键激活命令历史查询功能,可以交互的输入命令内容,并按“Crtl+r”键循环在包含输入内容的命令历史中查找。找到后按回车键就可以再次执行,也可以用方向键选中,会将命令再次输入,等待执行。

Cron不是安排任务计划的唯一方式

cron命令对于任务水平的用户来说都是极为有用的,无论是初学者还是经验丰富的专家,都可以使用该命令制订系统执行的任务计划。但是如果只制订一次的任务,那么“at”命令就可以让你在不需要触碰crontab表的情况下达到目的。

在命令提示符下输入“at”并跟随任务计划执行时间,命令支持的时间格式很丰富,可以是具体的执行时间以及延后的时间节点等。以下是一些具体的例子:

“at 12:00 PM September 30 2017”

“at now + 1 hour”

“at 9:00 AM tomorrow”

输入完成后,就可以输入要执行的任务了。所有任务输入完成后,另起一行,再按“Ctrl+D”后会显示“EOF”表示输入完成。现在就完成了一个任务计划的设置。进一步,你可以使用“atq”命令来查询自己未执行的任务列表;也可以使用“atrm”加任务编号来取消任务计划。

你可以根据功能来查找命令,并不只是根据命令名

记住每个命令名称可能有些困难,尤其是对于初学者。幸运的是,Linux附带了一个通功能描述和命令名称来搜索的man工具。下一次,如果你很难记住你要使用的命令的名称,你可以试着用一个恰当的描述来查找你想要的命令。例如,关于建立文件系统会返回一个列表的名称和描述工具,包括“biuld”或“filesystem”。现在,你可以输入“man build filesystem”,man工具会根据你的输入显示相应的命令。

man会接收一个或多个字符串作为参数,但它也有这样的选项- R,它允许你通过正则表达式搜索。

一个替代系统允许你管理版本

如果那曾经参与过软件开发,那么你就会知道跨项目版本管理的重要性。许多Linux发行版都有工具来处理内置的不同版本。

可执行文件像java,往往象征性地链接到/etc/alternative。这个目录,反过来,符号链接来存储二进制文件和提供管理这些链接接口。java是最常用的语言的替代品,但是有一点的配置,它也可以作为一个应用程序像NVM和RVM置换( 例如NodeJS、Ruby)。

在基于Debian的系统,你可以创建和管理这些链接更新方案。在CentOS,工具就是所谓的替代品。通过更改替代文件中的链接,你可以安装多种语言版本,并在不同的情况下使用不同的二进制文件。当然,这不仅仅局限于编程语言。该替代系统还支持你可能希望从命令行运行的任何可执行文件。

“shred”命令

大多数人使用“rm”命令来删除文件,但是事实上真的把文件删除了么?其实系统并未按你预想的那样做,系统会只是将文件系统同磁盘文件间的硬链接删除。这些“0”和“1”的值在其被另一个应用覆盖前一直存在,系统这种处理方式对于敏感数据来说是非常不安全的。

“shred”命令是“rm”的绝对方式,当你“shred”文件时,这个文件的物理数据被随机覆盖多次。甚至还可以通过选项用一串零在删除文件后覆盖原来的数据。

完全的删除文件并用零覆盖它的命令是:

shred -u -z [file name]

还可以添加带有一个数字作为参数的n选项,这个选项允许你指定进行随机覆盖数据的迭代次数。

输入长文件路径时“自动更正”功能来避免差错

有多少次你输入了一个绝对文件路径,却得到“没有这样的文件或目录”消息?每个人都不想体会面对一长串错误路径的痛苦,幸运的是,Linux有一个简单的解决方案。

内置的“shopt”命令允许你设置不同的选项来改变你shell的行为。设置cdspell选项为“on”可以避免一个字母输入错误而造成的令人头痛文件路径问题。你可以使用“shopt -s cdspell”命令来把这个选项启用。一旦被激活,文件路径会自动更正为最接近的匹配当你试图进入的目录。

shell选项是节省时间的一种很好的方式(更不用说麻烦了),还有很多其他的选项。要看一个完整的shell选项列表,可以不带参数运行shopt。要知道这是bash的一个特征,所以,如果你使用的是其它shell,可能会不能使用这个命令。

快速返回当前目录

如果配置过一个中等程度的复杂系统,那么你可能发现自己频繁地更改目录,很难跟踪你所在的位置。如果运行命令后自动返回到当前位置,那不是很好吗?

Linux实际上提供了一个解决这个问题的方法,它非常简单。如果进入另一个目录做某事,然后返回到当前工作目录,请将命令用括号括起来。这里有一个例子,你可以自己进行测试。让你的当前目录的一个注记,然后运行:

(cd /etc && ls -a)

这就会显示/etc/目录的内容而不是你当前目录的内容。

余下全文(1/3)
分享这篇文章:

请关注我们:

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注