linux技能點三 find grep

2022-08-18 21:48:10 字數 4928 閱讀 4368

find:1.   按檔名查詢find . -name "a*.txt"注意雙引號;

2.   按檔案大小查詢find .-size [+/-]n[bcwkkg]    +/-表示大於或小於多少,n代表數值,bcek表示單位。

3.   按時間先後來查詢find . -amin  n :  訪問時間(分鐘) ;

find . -atime  n :  訪問時間(天);

find . -mmin  n  :內容修改時間(分鐘)                                 

find . -mtime  n :內容修改時間(天)

find . -cmin n :屬性變更時間 (分鐘)

find . -ctime n :屬性變更時間(天)

例子:find . -mmin 34,    第34分鐘這一分鐘時間段內修改的,

find . -mmin -34   最近34分鐘以內修改的

find . -mmin +34    34分鐘以前修改的

例子: find . -mtime -1    前24小時以內修改的

find . -mtime  1     前24-48小時期間修改的

find . -mtime +1     前48-72小時期間修改的

注意:兩個不一樣    find後面的.表示當前目錄

4:目錄層級find . -mindepth n:目錄最小搜尋層級               比如:find . -mindepth 2 -name "a*.txt"   2級以後的

find . -maxdepth n:目錄最大搜尋層級              比如:find . -maxdepth 2 -name "a*.txt"   2級以前的

find . -maxdepth n - -mindepth n:從幾到幾     

5:連線詞     1.-a: and       比如:find . -name "a*" -a -type d

2.-o:or

3.!:not

6:檔案型別:-type

7:          :-exec    -exec command {}\;意思是將find結果傳遞給command操作,{}是find查處的內容

比如:find . -size 0c -exec ls -l {}\;find . -size 0c -exec cp -r{}demo/\; 

5.列出當前目錄中所有以"t"開頭的目錄的詳細內容

find . -name "t*" -type d -exec ls -l {} \;

33.查詢home目錄下檔名為memcache.pid的檔案

find /home -name "memcache.pid"

34.查詢當前目錄下所有以pid結尾的檔案

find . -name "*.pid"

35.查詢以數字開頭的所有pid檔案

find . -name "[0-9]*.pid"

36.查詢以數字為檔名的所有pid檔案

find . -name "[0-9]*.pid" | grep '[0-9]\+.pid$'

37.使用者目錄下,查詢許可權為755的檔案

find ~ -perm 755

38.當前目錄,查詢所有以產u_開頭的,並且許可權為644的檔案

find . -name "u_*" -a -perm 644

39.查詢當前目錄下面的目錄

find . -type d

40.找當前目錄下面的非目錄檔案

find . ! -type d

41.查詢當前目錄中,沒有歸屬的檔案

find . -nouser

42.查詢使用者組為users,所屬使用者為zhangy的檔案

find . -group users -user zhangy

43.查詢檔案大小大於1000000字元的檔案

find . -size +1000000c

44.查詢檔案大小小於1000000字元的檔案

find . -size -1000000c

45.查詢檔案大小等於1000000字元的檔案

find . -size 1000000c

46.查詢5天內修改過的檔案

find . -mtime -5

47.查詢5天前修改過的檔案

find . -mtime +4

48.查詢修改時間比一參考檔案更接近現在的檔案

find . -newer reference_file

49.顯示當前目錄下面所有大於1000000c的檔案,列表顯示

find . -size 1000000c -exec ls -l {} \;

內容檢視      grep的用法:data是 隨意命名的檔名

1.grep "home" 

2.grep  --color = auto "home" 

3.alias grep ="grep --color = aoto"

grep "home" 

4.grep "[0-9][0-9] "             兩位數的查詢               [匹配列表中的任意字元]

5.grep "[[:alnum:]]"              匹配字母和數字的字元   

6.grep "[^[:alnum:]]"            不匹配字母和數字字元   [匹配列表之外的任意字元

]7.grep "abc$"                        以abc為結尾的結束標記gr

8.grep "^abc"                      以abc為開始的開始標記

9.grep 「world\|say"                       或者的意思

10.grep "ab\?c"                     b字元個數有0-1個。ac或者abc

11.grep "ab\*c"                     b字元個數是0-任意數

12.grep "ab\+c"                      b字元個數是1-任意數

13.grep "ab\c"                   b字元個數是兩個

14.grep "ab\c"               b字元個數是2到多次

15.grep "\(ab\)\c"             ab字元個數是2到多次

16. grep"ab\c"               b字元個數是0到2次

17.grep -v                                     顯示不匹配的行

18.grep -e=egrep=                         

19. grep -ve:17+18

20 .grep "a.c"                         .匹配任意單個字元

注意:字串匹配建議使用『』單引號,

需要轉義的字元:\?  \+  \    \(\)    \|

\nth:引用第n個(pattern)

引號  『string』 :不論string中包含任意字元,統一視為普通字元。

引號 」string「:不論string中包含任意字元,統一視為普通字元,對於、 $  ' 無效

·string·:反引號是將string當命令去執行

\string:命令的換行繼續符號,對於特殊字元的遮蔽作用。

grep測試題:以下是data檔案

61.匹配含有root的行

grep 'root' data

62.匹配以root開頭或者以zhang開頭的行

grep -e '(^root)|(^zhang)' data

63.匹配以zhang開頭,只含有字母的單詞行

grep -e '^zhang[a-za-z]*$' data

64.不匹配以false結尾的行,並顯示行號

grep -nve 'false$' data

65.顯示包含$號的行

grep '\$' data

oracle linux技能點記錄

1 強制讓oracle走索引 index a cm cookielogins pk 其中a是表的別名,cm cookielogins pk是索引名稱 2 oracle分割槽 oracle分割槽分為範圍分割槽,列表分割槽以及hash分割槽,範圍分割槽給定範圍即可,列表分割槽需要列舉出所有分割槽名稱,h...

MYSQL 實用技能點

建立一張表 create table if not exists tbl test oid int unsigned auto increment,name varchar 40 not null,user varchar 40 not null,age varchar 225 not null,o...

linux技能點 六 軟體管理和其他命令

軟體管理 rpm yum apt get ubuntu rpm q 查詢 rpm i 安裝 rpm e 解除安裝 rpm u 更新 yum install 安裝 yum remove 解除安裝 yum update 更新 yum search 檢視遠端安裝源是否有安裝程式 yum list 遠端安裝...