Linux彙總基本命令【1】

Serverless和Devops發表於2021-06-15

一、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本地檔案路徑 

案例:下載檔案到本地

image

案例:下載資料夾到本地,選項 -r

scp -r 使用者名稱@linux主機地址:資源路徑  linux本地檔案路徑 

3、上傳檔案或目錄

基本語法:

# scp 選項 linux本地檔案路徑 使用者名稱@linux主機地址:遠端路徑 

案例:從遠端伺服器下載檔案到本地伺服器

image

案例:上傳資料夾到遠端伺服器

image

四、計劃任務+tar實現檔案備份

1、編寫計劃任務

  # crontab -e 

  分 時  日 月 周 執行Shell命令 (使用完成路徑,可以通過which進行檢視) 

分時日月周,時間範圍:

image

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"

相關文章