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

Linux下5个有趣的命令行技巧介绍

程序员文章站 2024-01-24 20:24:10
这篇文章主要介绍了Linux下5个有趣的命令行技巧介绍,主要是用于获取文件信息,本文的示例皆是在root权限下操作,需要的朋友可以参考下... 15-05-28...

你有将linux物尽其用吗?对很多linux用户来说,有很多看起来是技巧的有用特性。有些时候你会需要这些技巧。本文会帮助你更好得使用一些命令,发挥其更强大的功能。
图1:5个命令行技巧

我们开始一个新的系列,在这里我们还会写一些技巧,并且用尽量小的篇幅写清楚。
1. 我们可以使用history命令来查看曾经运行过的命令。

这里是一个history命令的示例输出。

   

复制代码
代码如下:
# history

Linux下5个有趣的命令行技巧介绍

从history命令输出看,很明显,命令的执行时间没有被打出来。有解决方法吗?有的!运行如下命令:

   

复制代码
代码如下:
# histtimeformat="%d/%m/%y %t "
# history

如果你想让这个修改永久生效,添加如下的一行内容到~/.bashrc文件中:

   

复制代码
代码如下:
export histtimeformat="%d/%m/%y %t "

然后,在终端中运行:

   

复制代码
代码如下:
# source ~/.bashrc

命令和选项的解释:

  •     history – 查看运行过的命令
        histimeformat – 设置时间格式的环境变量
        %d – 天
        %m – 月
        %y – 年
        %t – 时间戳
        source – 简而言之就是将文件内容发送给shell来执行
        .bashrc – bash以交互方式启动时运行的脚本文件
    Linux下5个有趣的命令行技巧介绍

2. 如何测试磁盘写入速度?

一行dd命令脚本就可以实现。

   

复制代码
代码如下:
# dd if=/dev/zero of=/tmp/output.img bs=8k count=256k conv=fdatasync; rm -rf /tmp/output.img

    Linux下5个有趣的命令行技巧介绍

命令和选项的解释:

  •     dd – 转换和复制文件
        if=/dev/zero – 指定输入文件,默认为stdin(标准输入)
        of=/tmp/output.img – 指定输出文件,默认为stdout(标准输出)
        bs – 一次读和写的块大小,最大可以以mb为单位
        count – 复制次数
        conv – 使用逗号分隔的策略来转换文件(lctt 译注:比如将大写字母转换成小写,echo aa | dd conv=lcase)
        rm – 删除文件和目录
        -rf – (-r) 递归地删除目录和其中的内容,(-f)强行删除而不输出确认信息

3. 你如何获取吃掉你磁盘空间的最大的6个文件?

一个使用du命令的简单单行脚本即可实现,du命令主要用于获取文件的空间使用情况。

   

复制代码
代码如下:
# du -hsx * | sort -rh | head -6

    Linux下5个有趣的命令行技巧介绍

    命令和选项的解释:

  •     du – 估计文件的空间使用情况
        -hsx – (-h)更易读的格式,(-s)汇总输出,(-x)跳过其他文件系统的文件
        sort – 对文本文件按行排序
        -rf – (-r)将比较的结果逆序输出,(-f)忽略大小写
        head – 输出文件的头几行

4. 获取一个文件的详细状态信息

可以使用stat命令

   

复制代码
代码如下:
# stat filename_ext (例如:stat abc.pdf)

  Linux下5个有趣的命令行技巧介绍

5. 显示帮助

最后一个技巧是为那些入门者准备的,如果你是有经验的用户,可能不需要它,除非你想从中寻找乐趣。入门者可能有linux命令行恐惧症,下面的命令会随机显示一个man手册页。对入门者来说,好处是总会学到新的东西,而且不会厌倦。

   

复制代码
代码如下:
# man $(ls /bin | shuf | head -1)

Linux下5个有趣的命令行技巧介绍

命令和选项的解释:

  •     man – linux man手册
        ls – 列出文件
        /bin – 系统可执行文件的路径
        shuf – 把输入内容按行随机打乱并输出
        head – 输出文件的头几行