history是linux中的shellbuiltin命令,直接使用可以看到当前登录用户~/.bash_history的内容,文件内容为当前用户操作的历史记录,通过/etc/profile中的HISTFILESIZE来定义文件保存的条数;HISTSIZE定义history命令保存的最大条数;HISTTIMEFORMAT定义历史命令时间显示的格式("%Y%m%d-%H%M%S: ");HISTFILE可以自定义保存历史命令的文件。登录时会将.bash_history文件读入到内存中即history命令显示的内容。
命令参数简介:
-d 指定删除某条命令:history -d 120删除第120行的命令(不改变文件,无特殊操作只有在logout时,history命令保存在内存中的内容才会被写回到.bash_hiostory中)
-c 清除内存中所有history保存的命令(完全删除的话需要清除.bash_history的内容)
history n:n为数字,表示显示最后n行
-a 立即将本次内存中保存的操作追加写入到.bash_history文件
-r 重读.bash_history文件到内存中
find命令是一个强大的搜索加执行的命令:
find path -option [ -print ] [ -exec -ok command ] {} \;
和时间相关的参数:
#-atime #-ctime#-mtime#-amin#-mmin#-cmin所以这里atime,mtime,ctime就是分别对应的“最近一次访问时间”“最近一次内容修改时间”“最近一次属性修改时间”,这里的atime的单位指的是“天”,amin的单位是分钟。
+-:+号代表多少之前,-号代表多少之内,只有数字代表那个时间段。
笔记:
1.find命令
find /路径1 /路径2 -iname "内容" 不区别大小写
fin / -iname"88888"在全部目录下找
找的时候可以用通配符
优先级:非 与 或
#按照用户名查找 find ./ -user yangkun 找用户名是yangkun的文件
#合并查找 find ./ -user yangkun -a(同时) -group yangkun 找用户名和组名都是yangkun
#或查找 find ./ -group yangkun -o -group student
-not -a -not (not and not 既不也不)
-not \(什么 -o 什么\) 括号要转译
2.find和安全权限
权限 uga
+ 代表any 命令解读 find -perm +002 (只关注a的权限)
- 代表ever
+022 表示g或者a任何一个满足2的权限就能被找到
-022 表示满足u是2并且g也是2的权限才能够被找到
精确查找权限 find -perm 777 找到权限是777的文件
3.find和数字条件
find -size 1024K 找1M的文件
+1024K 大于
-1024K 小于
多条件查找 find ./ -size +30M -a -not -uid 0 30M以上非root用户的文件
dd --help
查看文件状态 stat 文件名
access modify内容被改 change属性被改
time
minute
find ./ -mmin -1 找一分钟以内被修改的文件
实际运用:find被修改的文件 diff与备份文件做对比 找到被修改过的文件
shell的多重操作
find ./ exec echo{} \; -exec rm{}\; 打印后删除
备份时添加日期:
find /etc -name "*.conf" cp{} {}.$(date+F%) \; 分号在bash里面是自己的意思 所以必须转译
可以写到一个crontab里面去 如此写道 0 3 * * */root/backup_config.sh
补充:
find . -name *.cpp -exec sed -i 's/CopyRight/CopyLeft/g' {}\+
find . -name *.cpp -exec sed -i 's/CopyRight/CopyLeft/g' {}\;
区别在于+号一次传递所有find的文件,可以提高效率。
========================
http://www.178linux.com/73645