日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

linux系统文件查找实验报告,Linux 文件查找与打包

發(fā)布時(shí)間:2024/10/12 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux系统文件查找实验报告,Linux 文件查找与打包 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Linux運(yùn)維與DevOps實(shí)戰(zhàn)-實(shí)驗(yàn)7

一、find

# find 命令在目錄層次下搜尋查找一個(gè)文件

# 并且會(huì)打印所找到文件的有關(guān)信息

# 語法

find [path...] [expression]

# 查找 /etc 目錄下,文件大小大于 100k 的文件

$ sudo find /etc/ -size +100k

1. 文件名

常用通配符:

*: 匹配 0 個(gè) 或多個(gè)字符

?: 匹配任意 1 個(gè)字符

[string]:匹配 string 字符串中的任意一個(gè)字符,如 [abc] 匹配 abc 三個(gè)字符中的任意一個(gè),[a-z0-9] 匹配小寫字母和數(shù)字。

\ :移除特殊字符的特殊含義,轉(zhuǎn)義

基礎(chǔ)名稱模式:

-name :指定名稱

-iname :指定名稱忽略大小寫

全名模式:

-path :指定路徑

-ipath : 指定路徑忽略大小寫

-wholename :功能同 -path 類似

-iwholename:功能同 -path 類似,忽略大小寫

-regex:正則表達(dá)式

-iregex:正則表達(dá)式忽略大小寫

# 查找 /usr 目錄下以字母 r 開頭, .txt 結(jié)尾的文件

$ find /usr -name "r*.txt"

# 使用 -iname 參數(shù),不區(qū)分大小寫

$ find /usr -iname "r*.txt"

# 查找當(dāng)前目錄下以 ter 開頭 zsh 結(jié)尾的文件

$ find -name "ter*zsh"

# 在 bin 目錄下,查找路徑為 bin/python 的文件

$ cd /usr

$ find /usr/bin -path bin/python

$ find bin -path bin/python

2. 鏈接

-lname :匹配文件是否為一個(gè)符號(hào)鏈接

-ilname :匹配文件是否為一個(gè)符號(hào)鏈接忽略大小寫

# /usr/bin/python文件就是一個(gè)符號(hào)鏈接

$ ls -l /usr/bin/python

# 查找 /usr/bin 目錄下文件名包含 python3 的文件

$ find /usr/bin -name "*python3*"

# 查找 /usr/bin 目錄下文件名包含 python3 的鏈接

$ find /usr/bin -lname "*python3*"

-samefile :尋找指定文件的硬鏈接

-inum n :尋找指定inode號(hào)的硬鏈接

-links n : 查找硬鏈接數(shù)為n的文件

$ touch file1

$ echo "test_hard_link" > file1

# 創(chuàng)建文件 file1 的硬鏈接 file2

$ ln file1 file2

# 創(chuàng)建文件 file1 的硬鏈接 file3

$ ln file1 file3

# 尋找file1 文件 inode 相同的硬鏈接

$ find -samefile file1

# 尋找 inode 等于159160的硬鏈接

$ find -inum 159160

# 匹配當(dāng)前目錄下硬鏈接數(shù)為 3 的文件

$ find -links 3

3. Time

-atime n: 尋找當(dāng)前時(shí)間到n天前之間訪問的文件

-ctime n: 尋找當(dāng)前時(shí)間到n天前之間狀態(tài)發(fā)生改變的文件

-mtime n: 尋找當(dāng)前時(shí)間到n天前之間內(nèi)容發(fā)生修改的文件

-amin n: 訪問,細(xì)化至分鐘

-cmin n: 狀態(tài)改變,細(xì)化至分鐘

-mmin n: 內(nèi)容修改,細(xì)化至分鐘

# 查找當(dāng)前目錄修改文件時(shí)間在 5 分鐘 到 24 小時(shí)之間的文件

$ find -mtime 0 -mmin +5

4. Size

-size n[bckwMG]: n 代表數(shù)據(jù)參數(shù)b 代表塊 block,c 代表字節(jié),k 代表 1024 字節(jié),即 kb,w 代表字符數(shù)量(2-byte 的字符),M 代表兆字節(jié),G 代表千兆字節(jié)

# 查找當(dāng)前目錄下的大于 100k 的文件

$ find -size +100k

5. Type

-type c: c 代表數(shù)據(jù)類型d 目錄 f 普通文件 l 符號(hào)鏈接(部分)

# 查找 /etc 目錄下文件大于 30k 的普通文件

sudo find /etc -type f -size +30k

6. Owner

-user uname : uname 代表所屬用戶名

-group gname : gname 代表所屬用戶組

-uid n :n 代表uid

-gid n :n 代表gid

# 查找當(dāng)前目錄下所屬用戶為 shiyanlou 的文件

$ find -user shiyanlou

# 查找當(dāng)前目錄下所屬用戶為 root 的文件

# root 用戶的 id 為 0

$ find -uid 0

7. File Mode Bits

-readable : 可讀

-writable : 可寫

-executable :可執(zhí)行

# 查看當(dāng)前用戶對(duì) /etc 目錄文件名以 a 結(jié)尾,有可執(zhí)行的權(quán)限的文件

$ find /etc -executable -name "*a"

8. Exec

用法

-exec 選項(xiàng)后面緊跟要執(zhí)行的命令或腳本,然后是 {}、空格和 ;。

# 顯示當(dāng)前文件夾下所有普通文件的詳細(xì)信息

$ find . -type f -exec ls -l {} \;

# 刪除當(dāng)前目錄下修改時(shí)間在 14 天前的文件

$ find . -type f -mtime +14 -exec rm {} \;

# 刪除當(dāng)前目錄下后綴為 log 的文件,刪除前需要確認(rèn)

$ find . -name '*.log' -ok rm {} \;

# 查找 /etc 目錄下以 passwd 打頭,并且內(nèi)容包含 root 的文件

$ find /etc -name 'passwd*' -exec grep 'root' {} \;

二、locate

locate 命令其實(shí)是在一個(gè)保存有系統(tǒng)中所有文件名和目錄名的數(shù)據(jù)庫(kù)中去查找。而數(shù)據(jù)庫(kù)中的內(nèi)容并不是實(shí)時(shí)更新的,該數(shù)據(jù)庫(kù)的更新操作可以使用 updatedb 命令來執(zhí)行。也可以使用 --basename 參數(shù),查找基礎(chǔ)名稱。

# 查找文件名中含有 /usr/bin/python 的文件

$ locate /usr/bin/python

# 查找基礎(chǔ)名稱中帶有 shiyanlou 的文件

$ locate --basename shiyanlou

三、whereis

也是在一個(gè)保存有系統(tǒng)中所有文件名和目錄名的數(shù)據(jù)庫(kù)中去查找。不同的在于whereis 命令查找的是二進(jìn)制文件,源,或者 man 手冊(cè)的文件。

-f 定義搜索范圍

-b 僅搜索二進(jìn)制文件

-m 僅搜索 man 手冊(cè)

-s 僅搜索源

# 搜索 python 相關(guān)的幫助手冊(cè)

$ whereis -m python

四、which

which 命令一般用于查找 shell 命令的完整路徑。該命令在環(huán)境變量PATH中列出的目錄中搜索可執(zhí)行文件或腳本進(jìn)行匹配查找。

-a 代表列出所有匹配的查找結(jié)果

# 查找 python 可執(zhí)行文件的路徑

$ which python

五、gzip

gzip 命令用于對(duì)文件進(jìn)行壓縮,生成的壓縮文件會(huì)以 .gz 結(jié)尾。而對(duì)應(yīng)的解壓縮的命令則是 gunzip。

用法:

$ gzip -v file

$ gunzip -v file

# 創(chuàng)建一個(gè) file4 文件

# 使用gzip壓縮

$ touch file4

$ gzip file4

$ ls

# 解壓文件 file4

$ gunzip file4.gz

六、tar

tar 是用于創(chuàng)建文件檔案的命令行工具,多用于備份文件。顧名思義,tar 命令可以將一系列的文件打包到一個(gè)大文件中,也可以將大文件解包以恢復(fù)數(shù)據(jù)。

用法:

tar [OPTION...] [FILE]

-c 或 --create :創(chuàng)建一個(gè)存檔

-r :將文件附加到檔案文件末尾

-z 或 --gzip :指定 gzip 格式

-v 或 --verbose :顯示文件處理的詳細(xì)過程

-f :指定檔案文件名稱

-x :還原檔案文件

# 使用 tar 命令將file1 file2 file3 file4 歸檔到 test.tar

$ tar -cvf test.tar file1 file2 file3 file4

$ ls

# 刪除四個(gè)文件,從 test.tar 恢復(fù)文件

$ rm file1 file2 file3 file4

$ ls

$ tar -xvf test.tar

總結(jié)

以上是生活随笔為你收集整理的linux系统文件查找实验报告,Linux 文件查找与打包的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。