find+history

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

你可能感兴趣的:(find+history)