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

条条大路通罗马,罗马你在哪里?调命令行

时间:2023-03-17 19:17:10 科技观察

你可能会遇到一些棘手的问题,通过搜索得到你想要的结果,但下次还是要通过搜索解决问题。这种低效的手段不是我们想要的。一个典型的例子就是在线运维工程师。问题来了,不会给你留下太多现场学习的时间。为了达到更高效的训练,我们要做两件事:第一,总结;二是举一反三。Linux命令也是如此。一个问题通常有多种解法,需要通过变化找出共性。这涉及一些设计人员对规范约定的遵守。一般来说,你只需要掌握少量的命令,然后达到对大量命令的理解程度,就可以在命令行的世界里游刃有余了。比如你知道ls是列出文件目录,你就会认为lscpu是列出cpu信息;lsmem是列出内存信息;lsblk是列出磁盘信息等,有很多共同点,比如top系列和stat系列。一、辅助信息1.1.文件格式在Linux上工作是非常非常排斥二进制格式的,几乎所有的东西都是可以读写的文本内容。大多数命令生成的结果也是文本文件。这些文件有一些特殊性,通常列由空格或键分隔。比如下面lsmem的结果,这种规则的、基于规则的文件,是非常容易处理的。[root@localhost~]#lsmemRANGESIZESTATEREMOVABLEBLOCK0x0000000000000000-0x0000000007ffffff128Monlineno00x0000000008000000-0x000000000fffffff128Monlineyes10x0000000010000000-0x0000000017ffffff128Monlineno20x0000000018000000-0x0000000027ffffff256Monlineyes3-40x0000000028000000-0x000000004fffffff640Monlineno5-90x0000000050000000-0x000000005fffffff256Monlineyes10-110x0000000060000000-0x000000007fffffff512Monlineno12-15Memoryblocksize:128MTotalonlinememory:2GTotalofflinememory:0B有一大批针对于行操作的命令,同样有一批针对于用于列操作的命令。然后,有两个高手,叫做sed和awk。由于这两个命令非常广泛,我们将它们列为单独的章节。1.2.帮助信息通常linux命令都很简单,但有些还是有些复杂。例如find、ps等命令,如果要兼顾所有场合,可能需要的空间非常大。但是,如果用在这种非常规的场合呢?有一个全面的了解是非常有必要的,这样才能在使用的时候唤起记忆中最浅薄的印象。那么剩下的就可以交给类似man的commands了。Linux上的每一个命令,都会有一个配套的帮助文件,比网上流传的信息准确多了。下面正式介绍两个命令:man用于显示命令的文档信息。例如:manlsinfo你可以认为它和man是一样的,虽然有一些互补的内容。它们会在内容中得到提示--help许多命令通过参数--help提供非常简短的帮助信息。这通常是最有用和最快的用例演示。如果你根本记不住一个非常难听的词,那就找这些地方。注意:这些帮助信息只关注命令本身的范围。关于其组合使用场景的信息不多。换句话说,它会教您如何使用它,但不会告诉您可以用它做什么。这些帮助命令通常通过突出显示关键字来增加阅读体验。但我们可以更进一步,让帮助文件变得丰富多彩。在root用户下,执行以下命令。然后,重新登录虚拟机。cat>>~/.bashrc<996<