欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

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

程序员文章站 2022-04-03 20:47:16
这篇文章主要介绍了关于Linux系统,你可能还不知道的七件事,小编在文中学习了不少知识,这里分享给大家,需要的朋友可以参考下。... 18-01-02...

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

linux是一套免费使用和*传播的类unix操作系统,是一个基于posix和unix的多用户、多任务、支持多线程和多cpu的操作系统。它能运行主要的unix工具软件、应用程序和网络协议。它支持32位和64位硬件。linux继承了unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

使用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/目录的内容而不是你当前目录的内容。

以上就是本篇文章的全部内容了,希望对各位有所帮助。如果大家还有其他方面的问题,可以留言交流,请持续关注!