Day07 - grep、find

grep 過濾操做
• 根據字符串模式提取文本行
– grep [選項] '匹配模式' 文本文件...
– 命令行 | grep [選項] '匹配模式'
• 經常使用命令選項
– -v, 取反匹配
– -i, 忽略大小寫
– ^..., 以字符串開頭
– ...$, 以字符串結尾
– ^$, 匹配空行bash

[root@server0 ~]# grep 'root' /etc/passwd
[root@server0 ~]# grep -v 'root' /etc/passwd
[root@server0 ~]# grep 'ROOT' /etc/passwd
[root@server0 ~]# grep -i 'ROOT' /etc/passwd

[root@server0 ~]# grep '^root' /etc/passwd   
[root@server0 ~]# grep '/bin/bash$' /etc/passwd

請顯示/etc/login.defs配置文件有效的字段?(以#開頭,爲註釋文字)ide

grep -v '^#'  /etc/login.defs 
grep -v '^#'  /etc/login.defs   |  grep -v '^$'

find 按條件查找文件
• 根據預設的條件遞歸查找對應的文件
– find [目錄] [條件1] [-a|-o] [條件2] ...命令行

– 經常使用條件表示:
-type 類型 f(文本文件)、d(目錄)、l(快捷方式)
-name "文檔名稱"
-size +|- 文件大小(k、M、G)
-mtime +|- 修改天數
-user 用戶名
-group 組名code

請查找/etc目錄下以「.conf」結尾的文本文件?(不包含子目錄)
[root@server0 ~]# ls /etc/*.confserver

請查找/etc目錄下以「.conf」結尾的文本文件?(包含子目錄)
[root@server0 ~]# find /etc/ -name "*.conf"遞歸

[root@server0 ~]# find /boot -type f     #查找文件
[root@server0 ~]# find /boot -type d     #查找目錄
[root@server0 ~]# find /boot -type l     #查找快捷方式

[root@server0 ~]# find  /etc  -name "passwd"

[root@server0 ~]# touch /root/nsd01.txt
[root@server0 ~]# touch /root/nsd02.txt
[root@server0 ~]# find /root/ -name "nsd*"

[root@server0 ~]# mkdir /root/nsd1705
[root@server0 ~]# find /root/ -name "nsd*"

多個條件同時匹配
[root@server0 ~]# find /root/ -name "nsd*"   -type  f

[root@server0 ~]# find /boot/ -size  +300k

[root@server0 ~]# find /boot/ -size  +10M

[root@server0 ~]# find /boot/ -size  -10M

[root@server0 ~]# find /home/ -user student

[root@server0 ~]# find /home/ -group student

[root@server0 ~]# find /  -user student

-mtime +90

[root@server0 ~]# find /root/ -mtime -10

[root@server0 ~]# find /root/ -mtime +1000

[root@server0 ~]# find /var/log  -mtime +90

• 使用find命令的 --exec 操做
– find .. .. -exec 處理命令 {} \;
– 優點:以 {} 代替每個結果,逐個處理,遇 \; 結束文檔

# find /boot/ -size +10M 

# find /boot/ -size +10M     -exec cp {}  /opt  \;

# ls /opt

# find  /    -user student  -type f
# mkdir /root/findfiles

# find  /   -user student  -type f -exec cp {} /root/findfiles  \;

# ls  -A /root/findfiles
相關文章
相關標籤/搜索