首页 > > > Linux 系统你可能还不知道的七件事
使用 Linux 最酷的部分之一就是随着时间的推移而不断获得新的知识。每天,你都可能会遇到一个新的实用工具,或者,是一个不熟悉的标志,就可以做一些有用的事情。这些小细节可能并不总是改变生活,但它们却是专业知识的基石。
即使专家也不知道这一切。不论你有么丰富的经验,总会有更多的东西需要学习,所以这里列出关于 Linux 系统你可能还不知道的七件事。
01
你可能对于 Linux 系统的命令历史(history)比较熟悉,这个命令可以提供一个 bash 输入命令的标准列表。但是,如果你在很多的 “curl” 命令中查找特定的 URL 时,会觉得这个列表不是很好使用。
使用替代,Linux 提供了一种交互式反射搜索功能来帮你对付上面的烦恼。可以按 “Crtl+r” 键激活命令历史查询功能,可以交互的输入命令内容,并按 “Crtl+r” 键循环在包含输入内容的命令历史中查找。找到后按回车键就可以再次执行,也可以用方向键选中,会将命令再次输入,等待执行。
02
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” 加任务编号来取消任务计划。
03
记住每个命令名称可能有些困难,尤其是对于初学者。幸运的是,Linux 附带了一个通功能描述和命令名称来搜索的 man 工具。下一次,如果你很难记住你要使用的命令的名称,你可以试着用一个恰当的描述来查找你想要的命令。例如,关于建立文件系统会返回一个列表的名称和描述工具,包括 “biuld” 或 “filesystem”。现在,你可以输入 “man build filesystem”,man 工具会根据你的输入显示相应的命令。
man 会接收一个或多个字符串作为参数,但它也有这样的选项 - R,它允许你通过正则表达式搜索。
04
如果那曾经参与过软件开发,那么你就会知道跨项目版本管理的重要性。许多 Linux 发行版都有工具来处理内置的不同版本。
可执行文件像 Java,往往象征性地链接到 / etc/alternative。这个目录,反过来,符号链接来存储二进制文件和提供管理这些链接接口。Java 是最常用的语言的替代品,但是有一点的配置,它也可以作为一个应用程序像 NVM 和 RVM 置换( 例如 NodeJS、Ruby)。
在基于 Debian 的系统,你可以创建和管理这些链接更新方案。在 CentOS,工具就是所谓的替代品。通过更改替代文件中的链接,你可以安装多种语言版本,并在不同的情况下使用不同的二进制文件。当然,这不仅仅局限于编程语言。该替代系统还支持你可能希望从命令行运行的任何可执行文件。
05
大多数人使用 “rm” 命令来删除文件,但是事实上真的把文件删除了么?其实系统并未按你预想的那样做,系统会只是将文件系统同磁盘文件间的硬链接删除。这些 “0” 和 “1” 的值在其被另一个应用覆盖前一直存在,系统这种处理方式对于敏感数据来说是非常不安全的。
“shred” 命令是 “rm” 的绝对方式,当你 “shred” 文件时,这个文件的物理数据被随机覆盖多次。甚至还可以通过选项用一串零在删除文件后覆盖原来的数据。
完全的删除文件并用零覆盖它的命令是:
shred -u -z [file name]
还可以添加带有一个数字作为参数的 n 选项,这个选项允许你指定进行随机覆盖数据的迭代次数。
06
有多少次你输入了一个绝对文件路径,却得到 “没有这样的文件或目录” 消息?每个人都不想体会面对一长串错误路径的痛苦,幸运的是,Linux 有一个简单的解决方案。
内置的 “shopt” 命令允许你设置不同的选项来改变你 shell 的行为。设置 cdspell 选项为 “on” 可以避免一个字母输入错误而造成的令人头痛文件路径问题。你可以使用 “shopt -s cdspell” 命令来把这个选项启用。一旦被激活,文件路径会自动更正为最接近的匹配当你试图进入的目录。
shell 选项是节省时间的一种很好的方式(更不用说麻烦了),还有很多其他的选项。要看一个完整的 shell 选项列表,可以不带参数运行 shopt。要知道这是 bash 的一个特征,所以,如果你使用的是其它 shell,可能会不能使用这个命令。
07
如果配置过一个中等程度的复杂系统,那么你可能发现自己频繁地更改目录,很难跟踪你所在的位置。如果运行命令后自动返回到当前位置,那不是很好吗?
Linux 实际上提供了一个解决这个问题的方法,它非常简单。如果进入另一个目录做某事,然后返回到当前工作目录,请将命令用括号括起来。这里有一个例子,你可以自己进行测试。让你的当前目录的一个注记,然后运行:
(cd /etc && ls -a)
这就会显示 / etc / 目录的内容而不是你当前目录的内容。
文章转载自:程序师

金秋十月与你饮酒论道

SACC2017
作为国内最受欢迎的架构师盛会,2017 第九届中国系统架构师大会 (SACC) 将于将于 2017 年 10 月 19-21 日在北京新云南皇冠假日酒店震撼来袭。
大会以 “云智未来” 为主题,云集国内外顶级专家,围绕云计算、人工智能、大数据、移动互联网、产业应用等热点领域展开技术探讨与交流。本届大会共设置 2 大主会场,18 个技术专场;邀请来自互联网、金融、制造业、电商等多个领域,100 余位技术专家及行业领袖来分享他们的经验;并将吸引 4000 + 人次的系统运维、架构师及 IT 决策人士参会,为他们提供最具价值的交流平台。
点击“阅读原文”,立享8.8折购票优惠哦~
原文作者:;如有侵权,请联系管理员删除。