一、find命令
1、find命令
基本語法:
# find 路徑 [選項 選項的值] ...
-name : 根據文件的名稱進行
-type : 按文件類型進行搜索,f代表普通文件,d代表文件夾
2、find命令+模糊搜索
# find 路徑 -name "通配符*" -type f/-type d
3、根據文件修改時間搜索文件
# find 路徑 -mtime +days或-days
案例:獲取文件的最後修改時間
# stat [選項] 文件
案例:同時修改文件的修改時間與訪問時間
# touch -d "2020-03-31 08:10:30" install.log
案例:只修改文件的修改時間
# touch -m -d "2020-03-31 08:10:30" install.log
案例:只修改文件的訪問時間
# touch -a -d "2020-03-31 08:10:30" install.log
案例:-mtime根據文件最後修改時間搜索文件(搜索3天以前的文件信息)
# find -name "*.log" -mtime +3 -type f
案例:-mtime根據文件最後修改時間搜索文件(搜索3天以內的文件信息)
find -name "*.log" -mtime -3 -type f
4、擴展選項:-exec
案例:刪除搜索到的1天以前的日誌文件
解決方案1
# find -name "*.log" -mtime +1 -type f |xargs rm -rf
解決方案2
find -name "*.log" -mtime +1 -type f -exec rm -rf {} \;
5、根據文件size大小搜索文件
find 路徑 -size [文件大小,常用單位:k,M,G]
size值 : 搜索等於size值大小的文件
-size值 : [0, size值)
+size值 : (size值,正無窮大)
6、擴展命令:dd
dd:使用dd創建測試文件
# dd if=/dev/zero of=文件名稱 bs=1M count=1
選項說明:
if代表輸入文件
of代表輸出文件
bs代表字節爲單位的塊大小。
count代表被複制的塊。
其中/dev/zero是一個字符設備,會不斷返回0值字節。
案例:使用dd創建一個1M大小的sun.txt文件
dd if=/dev/zero of=sun.txt bs=1M count=1
案例:使用dd創建一個5M大小的moon.txt文件
# dd if=/dev/zero of=moon.txt bs=1M count=5
二、tree命令
1、tree命令作用
Windows和Linux都有tree命令,主要功能是創建文件列表,將所有文件以樹的形式列出來
2、安裝tree命令
# yum install tree -y
3、tree基本語法
# tree [指定路徑]
案例:以樹狀結構顯示當前目錄下的文件信息
tree
案例:以樹狀結構顯示/var/log目錄下的文件信息
# tree /var/log
三、scp命令
1、scp命令作用
scp命令的主要作用是實現Linux與Linux系統之間的文件傳輸。
2、下載文件或目錄
基本語法:
# scp [選項] 用戶名@linux主機地址:資源路徑 linux本地文件路徑
案例:下載文件到本地
案例:下載文件夾到本地,選項 -r
scp -r 用戶名@linux主機地址:資源路徑 linux本地文件路徑
3、上傳文件或目錄
基本語法:
# scp 選項 linux本地文件路徑 用戶名@linux主機地址:遠程路徑
案例:從遠程服務器下載文件到本地服務器
案例:上傳文件夾到遠程服務器
四、計劃任務+tar實現文件備份
1、編寫計劃任務
# crontab -e
分 時 日 月 周 執行Shell命令 (使用完成路徑,可以通過which進行查看)
分時日月周,時間範圍:
2、擴展案例
案例:每天的凌晨2點0分把/etc 目錄備份一次/tmp 目錄下,要求把/etc打包成etc.tar.gz格式
0 2 * * * /bin/tar -zcf /tmp/etc.tar.gz /etc
案例:備份文件時,一般是按時間作爲備份文件的名稱
0 2 * * * /bin/tar -zcf /tmp/etc-$(date +"\%F").tar.gz /etc
解析:
$(date +"\%F") 代表生成年-月-日時間,爲什麼%百分號前面要加一個反斜槓 (必須)
3、擴展:date命令
基本語法:
# date +"%F%T"
選項說明:
%F : 年月日
%T : 小時:分鐘:秒
%Y : 年
%m : 月
%d : 日
%H : 小時
%M : 分鐘
%S : 秒
案例:獲取當前系統的系統時間,如2020-03-31 10:10:10
# date +"%F %T"
案例:獲取當前系統的系統時間,如20200331
# date +"%Y%m%d"