当前位置: 首页 > 科技观察

提高生产力的三个必备Linux速查表

时间:2023-03-16 00:58:26 科技观察

下载sed、grep和parted速查表,将新流程集成到您的工作中。Linux以其命令而闻名,部分原因是Linux所做的几乎所有事情都可以从终端调用,部分原因是Linux是一个高度模块化的操作系统,其工具旨在在非常短的时间内产生非常确定的结果。一旦您知道一些命令,您就可以可以将它们组合在一起产生有用的输出。学习Linux的过程有一半是学习命令,另一半是学习如何将这些命令串成有趣的组合。然而,要学习如此多的Linux命令,迈出第一步似乎令人望而生畏。我应该先学习哪个命令?哪些命令需要熟练,哪些命令只需要尝尝?在对这些问题进行了大量思考之后,我个人认为没有一个普遍的答案。“基本”命令可能对所有人都是相同的:lscdmv使用这些命令,您可以浏览自己的Linux文件系统。然而,除了基本命令之外,“默认”命令因行业而异。系统管理员需要系统自检和监控的工具;艺术家需要用于媒体转换和图形处理的工具;家庭用户可能需要用于PDF处理、日历和文档转换的工具。名单是无止境的。然而,一些Linux命令因其绝对重要性而脱颖而出——或者因为它们是每个人不时需要的通用低级工具,或者因为它们是每个人在大多数时候都觉得有用的通用工具。以下是需要添加到列表中的三个命令。Sed用途:sed是一个优秀的通用工具,任何Linux用户都可以从中受益。从表面上看,它只是一个基于终端的“查找和替换”,能够简单快速地更正多个文档。sed命令为我节省了打开单个文件、查找和替换单词、保存文件、关闭文件的时间(可能还有几天),仅此一点就证明我在学习Linux终端上的投资是合理的。一旦您对sed有了足够的了解,您很有可能会发现一个充满潜在编辑技巧的世界,让您的生活变得更加轻松。优势:命令的优势在于重复。如果您只有一个文件要编辑,很容易在传统的文本编辑器中打开它并进行“查找和替换”。但是,如果您要替换5个或50个文件,正确使用sed命令(可能使用GNUParallel加速)可以节省您的时间。缺点:您需要权衡直接改变预期所花费的时间与构建正确的sed命令可能花费的时间。使用熟悉的sed's/foo/bar/g'语法进行简单编辑通常值得花时间输入这些命令;但是使用保留空间的复杂sed命令和任何ed形式的子命令可能需要集中精力和大量试验和错误。事实证明,使用sed进行编辑通常是更好的方法。作弊:下载我们的sed备忘单以快速参考命令的单字母子命令和语法概述。Grep用途:grep这个词来自其公认的笨拙描述:全局正则表达式打印。换句话说,在文件(或其他形式的输入)中找到的任何匹配模式,grep都会打印到终端。这使得grep成为一个强大的搜索工具,尤其擅长处理大量文本。你可以使用grep查找一个URL:$grep--only-matching\http\:\/\/.*example.txt你可以使用grep查找一个特定的配置项:$grep--line-number\foo=例子。ini2:foo=true当然,您也可以将grep与其他命令结合使用:$grepfoo=example.已经有了基本的了解。为了增加灵活性,您可以使用该命令的扩展正则表达式语法。不足:grep的问题也是它的强项:它只有一个搜索功能。一旦你找到你想要的东西,你可能会面临一个更大的问题——如何处理你找到的东西。有时完成的处理可能就像将输出重定向到文件作为过滤结果列表一样简单。然而,更复杂的使用场景可能需要对结果进行进一步处理,或者使用许多命令,如awk、curl(我们也有一个curl备忘单,碰巧),或者你在现代计算机上拥有的数千个其他命令中的任何一个任何命令中的计算机选项。作弊:下载我们的grep备忘单以快速参考更多命令选项和正则表达式语法。parted的使用:GNUparted不是一个常用的命令,但却是最强大的硬盘操作工具之一。关于硬盘驱动器的令人沮丧的事实-您多年来一直忽略它们,直到设置新硬盘驱动器并意识到您不知道格式化驱动器的最佳方法,此时熟悉parted会很有用。GNUparted可以创建磁盘卷标,创建、备份和恢复分区。此外,您还可以获得很多关于驱动器及其布局的信息,并通过命令为文件系统初始化驱动器。优点:与fdisk等类似工具相比,我更喜欢parted的原因是它结合了简单的交互模式和完全非交互的选项。无论您如何使用parted,它的命令都遵循相同的语法,并且其精心编写的帮助菜单包含丰富的信息。更好的是,该命令本身是智能的——当对驱动器进行分区时,您可以指定分区的大小(以扇区和百分比为单位),parted将尝试计算尽可能好的位置来存储分区表。缺点:很长一段时间我不知道驱动器是如何工作的,所以在切换到Linux之后,我花了很长时间学习GNUparted。GNUparted和大多数终端磁盘实用程序假定您已经知道分区是什么,驱动器由扇区组成,驱动器最初没有文件系统,需要磁盘卷标和分区表,等等。硬盘驱动器基础知识而非命令本身的学习曲线相当陡峭,GNUparted并没有做太多工作来弥合潜在的认知差距。可以说,引导您了解磁盘驱动器的基础知识并不是该命令的工作,因为有类似的图形应用程序,但是以工作流为中心的选项可能是对GNUparted的有用补充。作弊:下载我们的parted备忘单以快速参考大量子命令和选项。了解更多以下是我最喜欢的一些命令的列表,但哪些命令自然取决于我使用计算机的方式。我写了很多shell脚本,所以我经常使用grep来查找配置选项并使用sed来编辑文本。我还使用parted,因为在处理多媒体项目时,通常会涉及到许多硬盘驱动器。您可能已经或即将使用最喜欢的(至少是经常使用的)命令开发自己的工作流程。将新流程集成到我的日常工作中时,我会创建或下载备忘单(如上面的链接)并进行练习。我们都有自己的学习方式,找出最适合您的方法并学习新的必需命令。您对最常用的命令了解得越多,就越能充分利用它们。