博客是我工作的好帮手,遇到困难就来博客找资料
分类: 系统运维
2015-05-25 11:51:36
从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命令的时间:
修改 /etc/bashrc
[root@leng ~]# vi /etc/bashrc 在这里面的最后面添加如下几行:
HISTFILESIZE=2000
HISTSIZE=2000
HISTTIMEFORMAT="%Y%m%d-%H%M%S: "
export HISTTIMEFORMAT
export HISTTIMEFORMAT="`whoami` : | %F | %T: | "
然后就可以看到带有用户和时间的history了,把这个保存到当前用户的.bash_profile里面,就可以开机自动加载了
下面的是显示效果:
330 root : | 2012-08-24 | 17:47:12: | yum search nfs
331 root : | 2012-08-24 | 17:47:12: | yum install nfs4-acl-tools
332 root : | 2012-08-24 | 17:47:12: | nfsiostat
333 root : | 2012-08-24 | 17:47:12: | nfs4_editfacl
334 root : | 2012-08-24 | 17:47:12: | nfs4_editfacl --help
335 root : | 2012-08-24 | 17:47:12: | man nfs4_editfacl
336 root : | 2012-08-24 | 17:47:12: | nfs4_getfacl
337 root : | 2012-08-24 | 17:47:12: | nfs4_getfacl -h
338 root : | 2012-08-24 | 17:47:12: | nfs4_getfacl -H
339 root : | 2012-08-24 | 17:47:12: | nfs4_getfacl -H
340 root : | 2012-08-24 | 17:47:12: | ls
341 root : | 2012-08-24 | 17:47:12: | ifconfig
一行dd命令脚本就可以实现。
# dd if=/dev/zero of=/tmp/output.img bs=8k count=256k conv=fdatasync; rm -rf /tmp/output.img
图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)强行删除而不输出确认信息
一个使用的简单单行脚本即可实现,du命令主要用于获取文件的空间使用情况。
# du -hsx * | sort -rh | head -6
图5:获取磁盘空间使用情况的方法
命令和选项的解释:
du – 估计文件的空间使用情况
-hsx – (-h)更易读的格式,(-s)汇总输出,(-x)跳过其他文件系统的文件
sort – 对文本文件按行排序
-rf – (-r)将比较的结果逆序输出,(-f)忽略大小写
head – 输出文件的头几行
可以使用stat命令
# stat filename_ext (例如:stat abc.pdf)