1、xargs命令詳解
說明:xargs是給命令傳遞引數的乙個過濾器,也是組合多個命令的乙個工具。它把乙個資料流分割為一些足夠小的塊,以方便過濾器和命令進行處理。通常情況下,xargs從管道或者stdin中讀取資料,但是它也能夠從檔案的輸出中讀取資料。xargs的預設命令是echo,這意味著通過管道傳遞給xargs的輸入將會包含換行和空白,不過通過xargs的處理,換行和空白將被空格取代。
xargs 是乙個強有力的命令,它能夠捕獲乙個命令的輸出,然後傳遞給另外乙個命令,下面是一些如何有效使用xargs 的實用例子。
(1)當你嘗試用rm 刪除太多的檔案,你可能得到乙個錯誤資訊:/bin/rm argument list too long. 用xargs 去避免這個問題。
find ~ -name 『*.log』 -print0 | xargs -0 rm -f
(2) 獲得/etc/ 下所有*.conf 結尾的檔案列表,有幾種不同的方法能得到相同的結果,下面的例子僅僅是示範怎麼實用xargs ,在這個例子中實用 xargs將find 命令的輸出傳遞給ls -l
(4) 查詢所有的jpg 檔案,並且壓縮它
(5)拷貝所有的檔案到乙個外部的硬碟驅動
2、find 命令詳解
說明:l
inux下find命令在目錄結構中搜尋檔案,並執行指定的操作。linux下find命令提供了相當多的查詢條件,功能很強大。
linux中find常見用法示例:
find path -option [ -print ] [ -exec -ok command ] {} \;
#-print 將查詢到的檔案輸出到標準輸出
#-exec command {} \; -----將查到的檔案執行command操作,{} 和 \;之間有空格
#-ok 和-exec相同,只不過在操作前要詢使用者
find 命令引數解釋:
-name filename #查詢名為filename的檔案
-perm #按執行許可權來查詢
-user username #按檔案屬主來查詢
-group groupname #按組來查詢
-mtime -n +n #按檔案更改時間來查詢檔案,-n指n天以內,+n指n天以前
-atime -n +n #按檔案訪問時間來查gin: 0px">-perm #按執行許可權來查詢
-user username #按檔案屬主來查詢
-group groupname #按組來查詢
-mtime -n +n #按檔案更改時間來查詢檔案,-n指n天以內,+n指n天以前
-atime -n +n #按檔案訪問時間來查詢檔案,-n指n天以內,+n指n天以前
-ctime -n +n #按檔案建立時間來查詢檔案,-n指n天以內,+n指n天以前
-nogroup #查無有效屬組的檔案,即檔案的屬組在/etc/groups中不存在
-nouser #查無有效屬主的檔案,即檔案的屬主在/etc/passwd中不存
-newer f1 !f2 找檔案,-n指n天以內,+n指n天以前
-ctime -n +n #按檔案建立時間來查詢檔案,-n指n天以內,+n指n天以前
-nogroup #查無有效屬組的檔案,即檔案的屬組在/etc/groups中不存在
-nouser #查無有效屬主的檔案,即檔案的屬主在/etc/passwd中不存
-newer f1 !f2 #查更改時間比f1新但比f2舊的檔案
-type b/d/c/p/l/f #查是塊裝置、目錄、字元裝置、管道、符號鏈結、普通檔案
-size n[c] #查長度為n塊[或n位元組]的檔案
-depth #使查詢在進入子目錄前先行查詢完本目錄
-fstype #查更改時間比f1新但比f2舊的檔案
-mount #查檔案時不跨越檔案系統mount點
-follow #如果遇到符號鏈結檔案,就跟蹤鏈結所指的檔案
-cpio #對匹配的檔案使用cpio命令,將他們備份到磁帶裝置中
-prune #忽略某個目錄
find使用示例:
(1)在/tmp中查詢所有的*.h,並在這些檔案中查詢「syscall_vector",最後列印出所有包含
"syscall_vector"的檔名
(a)find /tmp -name "*.h" | xargs -n50 grep syscall_vector
(b) grep syscall_vector /tmp/*.h | cut -d':' -f1| uniq > filename
(c) find /tmp -name "*.h" -exec grep "syscall_vector" {} \; -print
(2)find / -name filename -exec rm -rf {} \;
find / -name filename -ok rm -rf {} \;
(3)比如要查詢磁碟中大於3m的檔案:
find . -size +3000k -exec ls -ld {} ;
(4)將find出來的東西拷到另乙個地方
find *.c -exec cp '{}' /tmp ';'
(5)如果有特殊檔案,可以用cpio,也可以用這樣的語法:
find dir -name filename -print | cpio -pdv newdir
(5)查詢2004-11-30 16:36:37時更改過的檔案
linux基本命令
linux常用命令 基礎 eg man ls 就可以檢視ls相關的用法 注 按q鍵或者ctrl c退出,在linux下可以使用ctrl c終止當前程式執行。2.ls 檢視目錄或者檔案的屬 列舉出任一目錄下面的檔案 eg ls usr man ls l a.d表示目錄 directory 如果是乙個 ...
《linux基本命令》
博主部落格 斷橋殘雪 uname 顯示版本資訊 同win2k的 ver dir 顯示當前目錄檔案,ls al 顯示包括隱藏檔案 同win2k的 dir pwd 查詢當前所在的目錄位置 cd cd 回到上一層目錄,注意cd 與.之間有空格。cd 返回到根目錄。cat 檔名 檢視檔案內容 cat abc...
LINUX 基本命令
檔案和目錄操作的基本命令 cat clear cmp cut diff du emacs fgrep file grep head ln less more pico pwd sort stat strings tail touch umask uniq vi wc whatis ls ls 選項 ...