文件屬性

在linux系統中,文件類型不是由文件擴展名稱決定。
Linux系統中有哪些類型文件:
普通文件 -文本文件(可讀可寫)、二進制文件也叫命令文件 、 數據文件也叫壓縮文件
目錄文件 d
鏈接文件 l
設備文件 b (block)存儲設備文件 /dev/sda1
c (charset)字符流文件 /dev/urandom
s (socket) 網絡套接字文件 ???
·和文件類型相關命令操作:
(1)如何在系統中找尋文件信息
方法一:找尋命令文件信息 (which cp) (whereis cp)相對更全一點
方法二:根據文件名稱查找到所在路徑 locate+名稱 updatedb實時更新
locate --> 前提:每次使用命令前 更新或者創建數據庫文件 updatedb
數據庫文件 ==宿舍名單冊
名字信息 入住房間
張三李四 009
oldboy.txt /oldboy(走了 每換名單)
oldboy.txt /oldgirl
yum install -y mlocate (下載locate)
沒有信息-->缺少數據庫文件 數據不全-->數據庫文件沒有更新

find 命令語法信息
find 查找區域目錄信息 搜索條件

   搜索的條件:  oldboy是大目錄
   1) 根據文件類型搜索數據  -type
      find /oldboy  -type f/d/l/c/b/s 

2) 根據文件名稱搜索數據 -name
find /oldboy -name "dog"
find /oldboy -iname "oldboy.txt"
3)根據文件大小搜索數據
find /oldbuy -suze +10k 尋找大於10K的文件
find /oldbuy -suze -1G 尋找小於1G的文件
find /oldbuy -suze 10 尋找大小正好是10k的文件

補充:find命令根據大小查找數據單位信息
默認單位爲:b----block
一個‘b’ 等於512個字節
‘c’ for bytes最小的單位 (字節)
‘w' for two-byte words 以兩個字節作爲一個單位進行查找
‘k’ for kylobytes (kb爲單位)
’mb‘ for Megabytes (mb 爲單位)
’G‘ for Gigabytes (GB爲單位)

4)根據文件路徑深度(層次)查找數據

find /oldboy -maxdepth 1 -name "oldboy01.txt"

      /oldboy/oldboy01.txt
       -maxdepth    --- 查找數據最深深度

      # find /oldboy -mindepth 2 -name "oldboy01.txt"
     /oldboy/oldboy01/oldboy02/oldboy03/oldboy04/oldboy01.txt
      /oldboy/oldboy01/oldboy02/oldboy03/oldboy01.txt
      /oldboy/oldboy01/oldboy02/oldboy01.txt
      /oldboy/oldboy01/oldboy01.txt
      -mindepth    --- 查找數據最小深度, 從最小深度繼續向下查找

5)根據條件邏輯查找數據
1) 請找出文件大小是大於6k 並且 還要找出文件名稱是有oldboy開頭的文件
並且邏輯關係 -a
find/Oldboy -size +6k -a -name “oldboy
find/Oldboy -size +6k -name “oldboy

find -size +6 | grep "^./oldboy"

2) 請找出文件名稱是oldboy開頭的文件 和 .txt結尾的文件 -o  或者意思

find /oldboy -name “oldboy” -o -name ”.txt”
6)根據時間條件查找數據
find /oldboy -mtime +7 查找距離當前時間7天以前的

find /oldboy -mtime -7 查找距離當前時間7天以內的
find /oldboy -mtime 7 查找距離當前時間之前正好7天的數據
過去--- +7 ------- 7 --------- -7 -----當前時間
<==七天以前
| <==正好七天
| <==七天以內

find ./ 當前目錄進行

Find /var / -mmin +1 ---- 一分鐘之前的消息
Find /var / -mmin -1 ----- 一分鐘以內的消息
Find /var / -mmin 1 ----- 剛好一分鐘的消息

proc task 倆目錄是在內存中的

利用find命令可以實現批量處理數據
環境準備:
touch oldboy{01..10}.txt
touch oldgirl{01..10}.jpg
touch olddog{01..10}.avi
A、批量刪除數據
將oldboy開頭的數據進行批量刪除
步驟一: 先將要處理數據找出來
步驟二: 將數據如何批量刪除
方法一: 利用find命令參數
find /oldgirl/ -name "oldboy" -delete
方法二: 利用管道+xargs命令進行處理
find /oldgirl/ -type f -name "olddog
" | xargs rm
xargs
1) 將產生信息進行轉換, 轉爲命令可以識別的 參數或者對象信息
2) 可以進行分組操作/將分組進行整合
[root@oldboy69 oldgirl 00:40:41]# xargs < test.txt
(01 02 03 04 05 06 07 08 09 10)
[root@oldboy69 oldgirl 00:41:20]# xargs -n3 < test.txt
01 02 03
04 05 06
07 08 09
10

方法三: 利用反引號進行處理
rm -f find /oldgirl/ -type f -name "olddog*"
方法四: 利用find命令特殊參數 -exec
find ./ -type f -name "oldboy" -exec rm -f {} \;
#find /oldgirl/ -type f -name "oldboy
" -exec rm {} \; -o -type f -name "oldgirl*" -exec rm {} \;

  1. 批量刪除指定數據
    2) 查看目錄文件結構信息
    tree
    tree -L 3 --- 指定查看目錄層級信息
    tree -d --- 只查看完整目錄結構信息
    3) 如何壓縮數據信息
    tar --- 壓縮數據/解壓數據
    將數據進行壓縮:
    命令語法: tar zcvf 生成壓縮包路徑/壓縮包.tar.gz 需要進行壓縮數據01 需要進行壓縮數據02 ..
    參數說明:
    z --- 數據壓縮方式 gzip
    c --- 創建一個壓縮文件
    v --- 顯示壓縮過程
    f --- 指定壓縮包路徑信息
    將鏈接文件進行壓縮處理時:
    tar zcvhf 生成壓縮包路徑/壓縮包.tar.gz 需要進行壓縮鏈接文件
    h --- 指定壓縮鏈接文件所指定源文件
    將數據進行解壓:
    命令語法: tar xvf 壓縮包路徑/壓縮包.tar.gz (默認解壓, 會將數據解壓到當前路徑)
    參數說明:
    x --- 提取壓縮包中的數據(解壓)
    指定解壓數據路徑信息:
    tar xf ./sys_backup.tar.gz -C /oldboy
    對壓縮包中的數據進行查看
    tar tf sys_backup_2019-12-13.tar.gz
    t --- 查看列表顯示壓縮包中的數據信息

    =================================================
    補充: 提示信息作用:tar: Removing leading `/' from member names【加p 就相當於替代源文件】
    解釋: 將絕對路徑 / 根目錄信息進行移除 , 壓縮數據
    作用: 對系統數據信息進行保護
    不想保護數據, 想解壓時將源數據進行覆蓋:
    壓縮時: tar zcvPf ---保留住根目錄
    解壓時: tar xPf ---保留住根目錄

    1. 課程知識總結說明:
      1) 命令說明: find
      2) 命令說明: tree
      3) 命令說明: tar + 自動
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章