在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 {} \;
-
批量刪除指定數據
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) 命令說明: find
2) 命令說明: tree
3) 命令說明: tar + 自動
- 課程知識總結說明: