shell中有时使用命令搭配通配符无法正常工作,例如
*.log,取所有后缀是log的文件,但是无法正常工作。
使用/dev/null可以deletiing contents of a file,but preserving the file itself ,with all attendant permissions
删除文件中的内容,但是文件本身
例子
cat /dev/null > /var/log/wtmp(命令效果,删除wtmp文件中的所有内容,但是保留wtmp文件本身)
可以自动清空日志中的文件
此命令可以用来删除cookie,
/dev/null 黑洞
自动清除日志的脚本:
cat /dev/null > /var/log/messages
cat /dev/null > /var/log/wtmp
echo " logs cleaned up "
如果想要把日志的位置改变,可以把日志的位置定义为一个变量
例子:
LOG_DIR=/var/log
cd $LOG_DIR
cat /dev/null > messages
cat /dev/null > wtmp
echo " logs cleaned up "
exit #
版本3,功能加强的版本
linux下每一个用户都有一个UID,这个作为用户的变量
echo $UID
root用户的UID为0,其他用户的UID储存在/etc/passwd下
在she'll脚本中,可以用UID来判断使用的用户是否是root用户
脚本搞定:
可以加上参数,
脚本的功能是:找到/var/log目录下的messages.3文件,把里面的日志保留你自己定义的行数后清除
如果你不定义,默认保留50行