一、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"