linux中五个不常用的命令

    linux中有五个不常见,但可以让您的使用更轻松的工具。下面简单地看看每一个命令及其标志和参数.

 1: logsave

  我们将查看的第一个工具是logsave。logsave命令可以将一个命令的输出保存到一个日志文件中:

  $ logsave /var/log/partsize df –h

  这里,logsave命令将df命令的输出保存到/var/log/partsize文件中,同时会添加一个时间戳并将命令的执行结果输出到标准输出。

  听起来并不是那么的有趣,是吗?logsave特殊的魔力在于,如果文件,在这个例子中是/var/log/partsize,并不存在,那么logsave会在内存中将数据进行排队,等待该文件的产生。对于在启动过程中,当您在对一个还没有挂载上的分区进行写操作时,用logsave去跟踪命令的执行输出是非常有用的。为了保存可能会丢失的命令行输出,我经常在自动配置和引导过程中,使用logsave。

 2: diff3

  下一个工具是diff3命令。您可能已经使用过diff命令去生成文件之间的差异。相对于diff的两个文件,diff3可以对三个文件执行同样的功能,但包括diff中的一些更复杂的选项。让我们看一个简单的例子。我们有三个文件:cat、my以及mouse,它们各自包含一个字符串。我们可以用diff3对所有的三个文件进行比较:

$ diff3 my cat mouse
====
1:1c
  This is a my
2:1c
  This is a cat
3:1c
  This is a mouse

  diff3命令显示了三个文件中不同的字符串。您也可以用“-”标记代表一个文件。这将会把标准输入和其他文件进行比较。

  您也可以使用-A标记,在所有的文件里面,去合并不同,并对任何冲突之处进行高亮显示。

$ diff3 -A my cat mouse
1a
||||||| cat
This is a cat
=======
This is a mouse
>>>>>>> mouse
.
0a
<<<<<<< my
.

 3: pstree

  您可能已经在您的主机上,使用过ps去列出所有的进程。但您可能还没有听说过pstree——一个用于以树的形式显示您的进程的命令。一个进程或者从init进程,从一个您可以指定的PID(进程ID)分支出来,或者从一个您可以指定的用户分支出来。

  pstree命令也包括一些您可以使用的命令行标志。比如-a标志会显示进程所使用的命令行,而-p标志会在树中添加进程的进程ID。

 4: nl

  nl命令很少有人知道,但却可以执行一个很漂亮的小功能——它在输出中添加行号。让我们看一个简单的例子,对一个叫做my的文件执行nl命令。

$ nl my
1 This is a my
2 This is not a my

  您可以看到nl获取了my文件的内容,并在输出中添加了行号。然后,您可以将这些输出通过管道放到一个新文件中。

  $ nl my > my_numbered

  然后,我们就可以显示这个带有新的行号内容的文件:

$ cat my_numbered
1 This is a my
2 This is not a my

 5: split

  我们要看的最后一个命令是split。split命令通常基于尺寸将文件分割为多个片段。我使用这个命令,去将大的日志文件分割为更好管理的日志片段,例如:

  $ split --bytes=1m /tmp/largelogfile /tmp/smallerfile

  split命令有根据字节数和行数对文件进行分割的参数。这里,我们通过指定--bytes=1m参数,将大的日志文件分割为1M字节的块(您可以指定b去代表字节,k代表千字节,g代表十亿字节)。

  我们可以像这样根据行数对文件进行分割:

  $ split --lines=1000 /tmp/largelogfile /tmp/smallerfile

  这里,文件会被分为多个1000行的块。

  在我们的例子中,会将每个块都存在/tmp目录下,其文件名会包含一个前缀smallerfile。第一个文件为smallerfileaa,第二个是smallerfileab等等。您也可以使用-d标记,去使用数字而不是通过字母的增长来对块进行计数。最后,除了可以指定一个文件,您也可以使用“-”去让split命令以标准输入为输入,并分割为独立的文件。

你可能感兴趣的:(linux中五个不常用的命令)