亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標題:
關(guān)于find的特殊用法?
[打印本頁]
作者:
du_liang
時間:
2012-11-14 23:03
標題:
關(guān)于find的特殊用法?
# find / \( -path /root/backup_files -o -path /app \) -prune -o -name "..*" -print
/usr/share/man/man1/..1.gz
-prune 是表示被忽略,此命令如何分塊詳細解讀?
作者:
du_liang
時間:
2012-11-15 12:53
沒朋友懂嗎?
作者:
du_liang
時間:
2012-11-16 11:46
一直自己頂
作者:
sky_sky888
時間:
2012-11-16 14:55
1,-o: EXPR1 -o EXPR2 查找匹配EXPR1 或 EXPR2 的條目,-path /root/backup_files -o -path /app 就是匹配 路徑中有/root/backup_files 或 /app的項目
2,-prune ,如果是目錄的時候,查找到匹配項目是不進入該目錄,也就是不再枚舉該目錄
3,-path ,匹配路徑
4,-name,匹配文件
5,() 表示把括弧里的東西當成一個整體
意思是從根目錄查找路徑中有/root/backup_files或-path /app,文件名字是..*的并打印
作者:
du_liang
時間:
2012-11-16 15:35
本帖最后由 du_liang 于 2012-11-16 15:36 編輯
回復
5#
sky_sky888
我來分割一下
# find / \( -path /root/backup_files
-o
-path /app \) -prune
-o
-name "..*" -print
理解:
就 /下查詢文件名是..*的文件并打印,但不在/root/backup_files 和 /app 下查詢,我只是不明白 第1個-o為什么寫中間, 第二個-o和誰匹配
是不這這樣理解?
作者:
du_liang
時間:
2012-11-17 11:06
我建個文件測試下謝佳
作者:
du_liang
時間:
2012-11-19 15:32
回復
5#
sky_sky888
demo]# echo ''> dl/a.a
[root@www1 demo]# echo ''> dl2/b.b
[root@www1 demo]# find ./ -path ./dl -o -path ./dl2 -name "*.*" -print
[root@www1 demo]# find ./ -path ./dl -o -path ./dl2 -name "*.*" -print
[root@www1 demo]# find ./ -path ./dl -o -path ./dl2 -name "*.*" -print
[root@www1 demo]# rm dl/a.a
rm: remove regular file `dl/a.a'? y
[root@www1 demo]# find ./ -path ./dl -o -path ./dl2 -name "*.*" -print
[root@www1 demo]# find ./ -path ./dl -o -path ./dl2 -name "*.*" -print
[root@www1 demo]# find ./ -path ./dl -o -path ./dl2 -name "*.*" -print
我又這樣寫測試了下,為什么不打印呢
作者:
sky_sky888
時間:
2012-11-19 18:46
[root@localhost tmp]# ls ss
a routines.sh VBoxGuestAdditions-amd64.tar.bz2
deffiles vboxadd VBoxGuestAdditions-x86.tar.bz2
do_dkms vboxadd-service
install.sh vboxadd-x11
[root@localhost tmp]# find . -path ./ss/def*
./ss/deffiles
[root@localhost tmp]# find . -path ./ss
./ss
[root@localhost tmp]# find . -path ./ss/def* -o -path ./ss/do*
./ss/do_dkms
./ss/deffiles
[root@localhost tmp]# find . -path ./ss/def* -o -path ./ss/do* -name do\*
./ss/do_dkms
./ss/deffiles
[root@localhost tmp]# find . \(-path ./ss/def* -o -path ./ss/do*\) -name do\*
./ss/do_dkms
./ss/deffiles
[root@localhost tmp]# find . \( -path ./ss/def* -o -path ./ss/do* \) -o -name do\*
./ss/do_dkms
./ss/deffiles
復制代碼
作者:
du_liang
時間:
2012-11-19 22:13
回復
9#
sky_sky888
接8樓,
我又試了下:
[root@demo demo]# find . -path ./dl/* -o -path ./dl2/* -name "*.*"
./dl2/b.b
./dl/a.a
[root@demo demo]# find . -path ./dl/* -o -path ./dl2/* -name "*"
./dl2/b.b
./dl/a.a
有結(jié)果
我查了man find:
expr1 -o expr2
Or; expr2 is not evaluated if expr1 is true.
按上面的意思,-path ./dl/*應(yīng)該是expr1,expr2則為 -path ./dl2/*,為什么expr1為真了,exp2還會顯示?
作者:
sky_sky888
時間:
2012-11-20 12:26
find . -path ./dl/* -o -path ./dl2/* -name "*.*" 的效果==find . -name "*.*"
因為兩個-path之間是or的關(guān)系,后邊的一個-name是又加上的選項。
find . -name "*"==find 你要知到wildcard * 有多強大啊,匹配所有的目錄和文件啊
作者:
xiangdeanjing
時間:
2012-11-20 12:30
還是不懂。關(guān)注下。
作者:
du_liang
時間:
2012-11-21 11:34
回復
12#
xiangdeanjing
再頂下
歡迎光臨 Chinaunix (http://72891.cn/)
Powered by Discuz! X3.2