grep
find在指定目錄下查詢檔案。匹配檔名
-amin 查詢 在指定時被 訪問過的檔案或目錄(分鐘)【cmin,mmin】-atime 查詢在指定時間訪問過的檔案或目錄 (天) 【ctime,mtime】
-expty:尋找檔案大小為0 byte的檔案,或目錄下沒有任何子目錄或檔案的空目錄;
-name 按照檔名搜尋
-iname 按照檔名搜尋,不區分大小寫
-inum 按照inode 號搜尋
-size [+ | - ] 按照指定大小搜尋
* linux中檔案有訪問時間 (**atime**),資料修改時間 (**mime**) ,狀態修改時間 (**ctime**),這三個時間。我們可以用這三個時間來搜尋相關檔案
這三個時間的區別我們在stat命令中可以檢視到,重點說說 【+ - 】時間的含義
* -5 :代表 5 天內修改的檔案。
* 5 : 代表前 5~6 天那一天修改的檔案
* +5 :代表 6 天前修改的檔案。
* 畫乙個時間軸來解釋一下
-perm /許可權模式 根據許可權查詢: -perm [/|-]mode
mode:精確許可權匹配;
/mode:任何一類使用者(u,g,o)的許可權中的任何一位(r,w,x)符合條件即滿足;9位許可權之間存在「或」關係;
-mode:每一類使用者(u,g,o)的許可權中的每一位(r,w,x)同時符合條件即滿足;9位許可權之間存在「與」關係;
* -type d 查詢目錄
* -type f 查詢普通 檔案
* -type l 查詢軟鏈結檔案
* > 根據檔案的型別查詢:
-type type:
f: 普通檔案
d: 目錄檔案
b:塊裝置 檔案
c:字元裝置檔案
p:管道檔案
s:套接字檔案
* -a and 邏輯 與
* -o or 邏輯或
* -not 或 ! not邏輯非
>find / -size +2k -a -type f
> 在根目錄下搜尋大於2kb,並且是普通的檔案.
find /home -type f -name "*.txt"
# 查詢/home 目錄下的所有 .txt 的檔案
# iname >>就是不區分大小寫 txt也是能查詢
find /home -perm /744
# 查詢 /home 目錄下 許可權(u g o ) 三個許可權位中起碼其中乙個滿足 (r w x )==>744(rwx r-- r-- )
find /home -name "*.txt" -o -name "*.pdf"
#查詢 /home 目錄下 .txt 檔案或.pdf 的檔案 [-a]邏輯與同理
find /home -type f -atime -7
# 查詢 7天內被訪問過的檔案
# ctime / mtime / amin / cmin /min /+7 /7 ....
find /home -user mac -exec chown tom \;
# 查詢 /home 目錄下的所有者是mac 的檔案 然後把查詢的檔案作為引數
# 全部交給 exec後面的命令 來執行,即 chown 改變所有者為tom
find /home -name "*.txt" -type f -exec cp
/tmp \;
# 查詢/home目錄下所有.txt 的檔案,然後全部複製到 /tmp 下
find ~ -perm -o=r
# 查詢 家目錄中對所有人可讀的檔案.
grep [選項] 「搜尋內容」 檔名
grep -a 2 「a」 test表示 顯示 匹配到 包含 a 的行並顯示 其後面的 2 行
grep -e "a" -e "1" -e "2"
test
引數解釋
^匹配行首
$匹配行尾
[ ] or [ n-n ]
匹配 [ ] 內任意乙個字元
.匹配任意的單字元
*匹配其前乙個字元任意次 包括 0 次
\轉義符 屏敝原字元的特殊意義
\?匹配其前面的字元 0 次或 1 次 即前面可以可無
\+匹配其前面的字元 1 次或 多 次 即前面字元至少出現 一次
\匹配前面的字元 m 次
\匹配前面的字元 至少 m 次 至多 n 次
[root@localhost jxls]
lstest test1
[root@localhost jxls]
cat -n test
1 a2 bc
3 def
4 ght12
5 abc999
6 tydvl658
7 123
8 456
9 789abc
10 55.66
[root@localhost jxls]
grep -n --color "33*"
test
7:123
[root@localhost jxls] 這個3* 即指匹配 3 這個字元 0 次或 多 次
[root@localhost jxls]
grep -n --color "^a"
test
1:a5:abc999
[root@localhost jxls] 上例 :匹配行首為 a 開頭的
[root@localhost jxls] 同理 $
[root@localhost jxls]
grep -n --color "3$"
test
7:123
[root@localhost jxls]
grep -n --color "a^ \| [0-9]$"
test
[root@localhost jxls]
grep -n --color "a^ \| [0-9]"
test
[root@localhost jxls]
echo bbb >>
test
[root@localhost jxls]
grep -n "[0-9]\|b\"
test
2:bc
4:ght12
5:abc999
6:tydvl658
7:123
8:456
9:789abc
10:55.66
11:bbb
[root@localhost jxls]
grep -n "[0-9]\|b\"
test
4:ght12
5:abc999
6:tydvl658
7:123
8:456
9:789abc
10:55.66
11:bbb
參考:
linux find grep組合使用
1.查詢所有 h 檔案 find path name h 2.查詢所有 h 檔案中的含有 helloworld 字串的檔案 find path name h exec grep in helloworld find path name h xargs grep in helloworld 3.查詢所...
linux find grep組合使用
顯示檔名 find name jsp exec grep with filename in 人保 1.查詢所有 h 檔案 find path name h 2.查詢所有 h 檔案中的含有 helloworld 字串的檔案 find path name h exec grep in helloworl...
Linux 正則 擴充套件正則
基礎正規表示式 以什麼什麼開頭 m 以什麼什麼結尾 m 還表示空行,或空格,可以用cat an 試一下 空行 什麼符號都沒有 表示任意 乙個字元 轉義字元不解析特殊符號的含義 n 相當於回車鍵 t 相當於tab鍵 表示前乙個字元連續出現了0次或0次以上 表示任意字元,包括空行,正規表示式表示所有或連...