history是linux中的shellbuiltin命令爆阶,直接使用可以看到當(dāng)前登錄用戶~(yú)/.bash_history的內(nèi)容佩研,文件內(nèi)容為當(dāng)前用戶操作的歷史記錄捣域,通過(guò)/etc/profile中的HISTFILESIZE來(lái)定義文件保存的條數(shù)挂谍;HISTSIZE定義history命令保存的最大條數(shù)掏觉;HISTTIMEFORMAT定義歷史命令時(shí)間顯示的格式("%Y%m%d-%H%M%S: ")酝惧;HISTFILE可以自定義保存歷史命令的文件榴鼎。登錄時(shí)會(huì)將.bash_history文件讀入到內(nèi)存中即history命令顯示的內(nèi)容。
命令參數(shù)簡(jiǎn)介:
-d 指定刪除某條命令:history -d 120刪除第120行的命令(不改變文件晚唇,無(wú)特殊操作只有在logout時(shí)巫财,history命令保存在內(nèi)存中的內(nèi)容才會(huì)被寫(xiě)回到.bash_hiostory中)
-c 清除內(nèi)存中所有history保存的命令(完全刪除的話需要清除.bash_history的內(nèi)容)
history n:n為數(shù)字,表示顯示最后n行
-a 立即將本次內(nèi)存中保存的操作追加寫(xiě)入到.bash_history文件
-r 重讀.bash_history文件到內(nèi)存中
find命令是一個(gè)強(qiáng)大的搜索加執(zhí)行的命令:
find? path? -option? [? -print ]? [ -exec? -ok? command ]? {} \;
和時(shí)間相關(guān)的參數(shù):
#-atime #-ctime#-mtime#-amin#-mmin#-cmin所以這里atime,mtime,ctime就是分別對(duì)應(yīng)的“最近一次訪問(wèn)時(shí)間”“最近一次內(nèi)容修改時(shí)間”“最近一次屬性修改時(shí)間”哩陕,這里的atime的單位指的是“天”平项,amin的單位是分鐘。
+-:+號(hào)代表多少之前悍及,-號(hào)代表多少之內(nèi)闽瓢,只有數(shù)字代表那個(gè)時(shí)間段。
筆記:
1.find命令
find /路徑1? ?/路徑2? -iname "內(nèi)容"? 不區(qū)別大小寫(xiě)
fin / -iname"88888"在全部目錄下找
找的時(shí)候可以用通配符
優(yōu)先級(jí):非 與 或
#按照用戶名查找 find ./ -user yangkun? 找用戶名是yangkun的文件
#合并查找? ? ?find ./ -user yangkun -a(同時(shí)) -group yangkun? 找用戶名和組名都是yangkun
#或查找? find ./ -group yangkun -o -group student
-not -a -not? ?(not and not 既不也不)
-not \(什么 -o 什么\)? ?括號(hào)要轉(zhuǎn)譯
2.find和安全權(quán)限
權(quán)限? uga
+ 代表any? 命令解讀 find -perm +002? (只關(guān)注a的權(quán)限)
- 代表ever
+022 表示g或者a任何一個(gè)滿足2的權(quán)限就能被找到
-022 表示滿足u是2并且g也是2的權(quán)限才能夠被找到
精確查找權(quán)限? find -perm 777 找到權(quán)限是777的文件
3.find和數(shù)字條件
find -size 1024K 找1M的文件
+1024K 大于
-1024K 小于
多條件查找 find ./ -size +30M -a -not -uid 0 30M以上非root用戶的文件
dd --help
查看文件狀態(tài) stat 文件名
access modify內(nèi)容被改 change屬性被改
time
minute
find ./ -mmin -1? 找一分鐘以內(nèi)被修改的文件
實(shí)際運(yùn)用:find被修改的文件 diff與備份文件做對(duì)比 找到被修改過(guò)的文件
shell的多重操作
find ./ exec echo{} \; -exec rm{}\; 打印后刪除
備份時(shí)添加日期:
find /etc -name "*.conf" cp{} {}.$(date+F%) \; 分號(hào)在bash里面是自己的意思 所以必須轉(zhuǎn)譯
可以寫(xiě)到一個(gè)crontab里面去 如此寫(xiě)道 0 3 * * */root/backup_config.sh
補(bǔ)充:
find . -name *.cpp -exec sed -i 's/CopyRight/CopyLeft/g' {}\+
find . -name *.cpp -exec sed -i 's/CopyRight/CopyLeft/g' {}\;
區(qū)別在于+號(hào)一次傳遞所有find的文件心赶,可以提高效率扣讼。
========================