文件管理命令和find命令
stat命令
查看文件状态
每个文件有三个时间戳:
access time访问时间,atime,读取文件内容
modify time修性时间, mtime,改变文件内容
change time改变时间,ctime,元数据发生改变
场景是:上传了WebShell,避免被find命令通过时间查找出来
touch命令
-a仅改变atime和ctime.
-m仅改变mtime和ctime.
-t指定atime和mtime时间
find命令
#-type f 指定查找文件的类型, f 普通文件 l 符号连接 d 目录 c 字符设备 b 块设备 s 套接字 p Fifo
搜索出最近10到20天内修改过的文件
find ./ -mtime +10 -a -mtime -20 -type f
搜索出某个时间段内修改过的文件
find . -type f -newermt '2022-09-19 00:00:00' ! -newermt '2022-09-19 23:59:59'
七天内/恰好在七天前/超过在七天内/访问过的文件
find . -atime 7 #恰好在七天前被访问过的文件
find . -atime -7 # 恰好在七天前被访问过的文件
find . -atime +7 #超过在七天内被访问过的文件
按文件大小查找
find ./ -size +100M
按文件类型查找
find . -type f
结合 -exec
find ./ -name "*.txt" -exec grep "123" {} \; -exec sed -i 's/123/5678/g' {} \
f 指定查找文件的类型, f 普通文件 l 符号连接 d 目录 c 字符设备 b 块设备 s 套接字 p Fifo
原文链接:https://blog.youkuaiyun.com/bandaoyu/article/details/119998253
find详细说明
find以时间为条件查找
-amin n 查找n分钟以前被访问过的所有文件。
-atime n 查找n天以前被访问过的所有文件。
-cmin n 查找n分钟以前文件状态被修改过的所有文件。
-ctime n 查找n天以前文件状态被修改过的所有文件。
-mmin n 查找n分钟以前文件内容被修改过的所有文件。
-mtime n 查找n天以前文件内容被修改过的所有文件。
rename命令
#为所有conf文件加上.bak后缀
rename 'conf' 'conf.bak'*.conf
#去掉所有bak后缀
rename '.bak' ''*, bak
删除文件
rm删除文件可被恢复
可使用shred删除文件无法恢复
shred -zvun 5 pass.txt
-z #最后一次覆盖添加0,以隐藏覆盖操作
-v #显示操作进度
-u #覆盖后截断并删除文件
-n #指定覆盖文件内容的次数
硬链接、软链接
#创建硬链接2
ln /tmp/ passwd /tmp/ passwdtest
#创建软链接
ln -s /tmp/ passwd /tmp/ passwdtest
硬链接和软链接的区别:
硬链接本质上就是给文件起一个新的名字,实质是同一个文件软链接本质上不是同一个文件
inode
。硬链接︰相同。软链接:不相同·文件夹
。硬链接:不支持
都
。软链接:支持
删除源文件
。硬链接:不受影响
。软链接︰链接文件,和源文件无关
·文件大小
。硬链接:和源文件相同
。软链接:源文件的路径的长度
一个文件软链接本质上不是同一个文件
inode
。硬链接︰相同。软链接:不相同·文件夹
。硬链接:不支持
都
。软链接:支持
删除源文件
。硬链接:不受影响
。软链接︰链接文件,和源文件无关
·文件大小
。硬链接:和源文件相同
。软链接:源文件的路径的长度
使用场景:/var/www/php1->/usr/local/php_v1.1 ,当发布新版本时,在不更改配置文件的情况下,将软链接指定到其它的版本中;