Linux.中国 - 开源社区

 找回密码
 骑士注册

QQ登录

微博登录


5个有趣的Linux命令行技巧

2015-5-22 07:32    评论: 13 收藏: 13    

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

5个命令行技巧

图1:5个命令行技巧

我们开始一个新的系列,在这里我们还会写一些技巧,并且用尽量小的篇幅写清楚。

1. 我们可以使用history命令来查看曾经运行过的命令。

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

# history

history命令例子

图2:history命令例子

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以交互方式启动时运行的脚本文件

history命令输出的日志

图3:history命令输出的日志

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

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

# dd if=/dev/zero of=/tmp/output.img bs=8k count=256k conv=fdatasync; rm -rf /tmp/output.img

dd命令例子

图4:dd命令例子

命令和选项的解释:

  • 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

获取磁盘空间使用情况的方法

图5:获取磁盘空间使用情况的方法

命令和选项的解释:

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

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

可以使用stat命令

# stat filename_ext  (例如:stat abc.pdf)

获取文件的详细信息

图6:获取文件的详细信息

5. 显示帮助

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

# man $(ls /bin | shuf | head -1)

查看随机的man手册页

图7:查看随机的man手册页

命令和选项的解释:

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

这就是所有的内容了。如果你知道任何类似的技巧,可以分享给我们,我们会用你的语言在网站上发表出来。

不要忘记在下边评论框中留下有价值的反馈。保持联系。可以点赞或者将本文分享来帮助我们更好地传播内容。


via: http://www.tecmint.com/5-linux-command-line-tricks/

作者:Avishek Kumar 译者:goreliu 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

发表评论


最新评论

我也要发表评论

来自广东珠海的 Firefox 30.0|GNU/Linux 用户 2015-10-6 20:18
不错
3 回复
贵在坚持 2015-5-26 16:55
du命令很实用。
回复
来自 - 天津南开大学 的 Firefox/Linux 用户 2015-5-23 21:54
谢谢分享!学习了--
5 回复
LouisWei 2015-5-22 22:31
1
LouisWei 发表于 2015-5-22 10:37 的评论:
事实上,如果尝试找出整个box里面占磁盘最多的前几个文件会遇到很多读取权限问题,哪怕你是用root执行
2
来自 - 北京 的 Firefox/Windows 用户 发表于 2015-5-22 19:40 的评论:
除了/proc /dev /sys这几个内核维护的文件系统应该没问题吧。
嗯,除了内存文件嘛
回复
来自 - 北京 的 Firefox/Windows 用户 2015-5-22 19:40
1
LouisWei 发表于 2015-5-22 10:37 的评论:
事实上,如果尝试找出整个box里面占磁盘最多的前几个文件会遇到很多读取权限问题,哪怕你是用root执行
除了/proc /dev /sys这几个内核维护的文件系统应该没问题吧。
6 回复
来自 - 北京 的 Firefox/Windows 用户 2015-5-22 19:38
1
来自 - 江苏南京 的 Chrome/Linux 用户 发表于 2015-5-22 09:46 的评论:
输出到tmp目录可能造成结果不正确
嗯,如果挂的是tmpfs就是变成写内存了。
1 回复
LouisWei 2015-5-22 18:11
1
LouisWei 发表于 2015-5-22 10:37 的评论:
事实上,如果尝试找出整个box里面占磁盘最多的前几个文件会遇到很多读取权限问题,哪怕你是用root执行
2
linux 发表于 2015-5-22 14:39 的评论:
root 不会,只要是磁盘存储的文件,root 无论如何都能访问的。
从整个根目录来查找会查询内存的文件,所以会遇到访问问题
回复
leechau 2015-5-22 17:11
sort -h 太方便了。
6 回复
linux 2015-5-22 14:39
1
LouisWei 发表于 2015-5-22 10:37 的评论:
事实上,如果尝试找出整个box里面占磁盘最多的前几个文件会遇到很多读取权限问题,哪怕你是用root执行
root 不会,只要是磁盘存储的文件,root 无论如何都能访问的。
1 回复
kashu 2015-5-22 14:11
dd
回复
vio 2015-5-22 11:37
got it
回复
LouisWei 2015-5-22 10:37
事实上,如果尝试找出整个box里面占磁盘最多的前几个文件会遇到很多读取权限问题,哪怕你是用root执行
回复
来自 - 江苏南京 的 Chrome/Linux 用户 2015-5-22 09:46
输出到tmp目录可能造成结果不正确
回复

热点评论

来自 - 北京 的 Firefox/Windows 用户 2015-5-22 19:40
除了/proc /dev /sys这几个内核维护的文件系统应该没问题吧。
6
leechau 2015-5-22 17:11
sort -h 太方便了。
6
来自 - 天津南开大学 的 Firefox/Linux 用户 2015-5-23 21:54
谢谢分享!学习了--
5
来自广东珠海的 Firefox 30.0|GNU/Linux 用户 2015-10-6 20:18
不错
3
来自 - 北京 的 Firefox/Windows 用户 2015-5-22 19:38
嗯,如果挂的是tmpfs就是变成写内存了。
1
返回顶部

分享到微信朋友圈

打开微信,点击底部的“发现”,
使用“扫一扫”将网页分享至朋友圈。