Linux,find 和perl正则替换文件内容、tar解压缩、cp复制、rm删除
find -name '*.html' |xargs perl -pi -e 's|aa|hello|g'
find -name '*.html' |xargs perl -pi -e 's|<script src="a.js([^>]*)></script>||g' (注:好像只能匹配替换单行)
Linux 当大批文件被挂马时(挂js文件),用此方法替换。
从根目录下开始查找abc.cpp文件,无错误输出
find / -name abc.cpp 2>/dev/null
在当前目录下所有.cpp文件中查找efg函数
find -name "*.cpp" | xargs grep 'efg'
xargs展开find获得的结果,使其作为grep的参数
另外 rm mv等命令对大量文件操作是报错 -bash: /bin/rm: Argument list too long
也可用xargs 解决
删除当前目录下所有.cpp文件
find -name "*.cpp" | xargs rm
window下可用AFR - Advanced Find and Replace 中文绿色正式版 支持正则可用来批量删除网页木马 工具。
linux里有很多瑞士军刀,find便是其中之一。如题,我要用find去快速列出最近一段时间修改的文件,怎么办?
$ find -mtime 0 #查找当前目录一天之前到此时之间修改的文件,也就是过去的24小时内修改的文件。
$ find -mtime -1 #查找当前目录小于1天(1*24)之前的修改过的文件,也就是24小时内修改的文件,这个和上面的结果一样。
$ find -mtime 1 #查找当前目录等于1天(1*24)之前的修改过的文件,也就是24小时之前(包括1)修改的文件
$ find -mtime +1 #查找当前目录大于1天(1*24)之前的修改过的文件,也就是至少2天之前修改的文件。mtime后的参数只能是整数,所以只能是大于1的要从2开始。
当然除了mtime,还有mmin(n 分钟之前最后修改),ctime(文件状修改时间),cmin(文件状态修改),atime(访 问时间),amin( 最后访问时间,单位为分钟),详细参数可以参考man find。
------------------------------------------------------------------------------------------------------------------------------------
linux如何复制文件夹
CP命令
格式: CP [选项] 源文件或目录 目的文件或目录
选项说明:-b 同名,备分原来的文件
-f 强制覆盖同名文件
-r 按递归方式保留原目录结构复制文件
cp -r /tmp/a /root/a
记得有空格
(\cp -rf /tmp/a /root/a 加一个\不出现询问是否覆盖)
--------------------------------------------------------------------------------------------------------------------------------
直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字
-r 就是向下递归,不管有多少级目录,一并删除
-f 就是直接强行删除,不作任何提示的意思
删除文件夹实例:
rm -rf /var/log/httpd/access
需要提醒的是:使用这个rm -rf的时候一定要格外小心,linux没有回收站的
当然,rm还有更多的其他参数和用法,man rm就可以查看了
删除文件使用实例:
rm -f /var/log/httpd/access.log
--------------------------------------------------------------------------------------------------------------------------------
linux解压 tar命令
--------------------------------------------------------------------------------------------------------------------------------- 上一篇 »Linux下常用压缩格式的压缩与解压方法
- 下一篇 »Linux 常用命令