可以使用find及l(fā)ocal查找。
成都創(chuàng)新互聯(lián)長期為超過千家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為商都企業(yè)提供專業(yè)的網(wǎng)站設(shè)計、成都網(wǎng)站設(shè)計,商都網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
find:
1.命令格式:
find pathname -options [-print -exec -ok ...]
2.命令功能:
用于在文件樹種查找文件,并作出相應(yīng)的處理
3.命令參數(shù):
pathname: find命令所查找的目錄路徑。例如用.來表示當(dāng)前目錄,用/來表示系統(tǒng)根目錄。
-print: find命令將匹配的文件輸出到標(biāo)準(zhǔn)輸出。
-exec: find命令對匹配的文件執(zhí)行該參數(shù)所給出的shell命令。相應(yīng)命令的形式為'command' { } \;,注意{ }和\;之間的空格。
-ok: 和-exec的作用相同,只不過以一種更為安全的模式來執(zhí)行該參數(shù)所給出的shell命令,在執(zhí)行每一個命令之前,都會給出提示,讓用戶來確定是否執(zhí)行。
4.命令選項:
-name 按照文件名查找文件。
-perm 按照文件權(quán)限來查找文件。
-prune 使用這一選項可以使find命令不在當(dāng)前指定的目錄中查找,如果同時使用-depth選項,那么-prune將被find命令忽略。
-user 按照文件屬主來查找文件。
-group 按照文件所屬的組來查找文件。
-mtime -n +n 按照文件的更改時間來查找文件, - n表示文件更改時間距現(xiàn)在n天以內(nèi),+ n表示文件更改時間距現(xiàn)在n天以前。find命令還有-atime和-ctime 選項,但它們都和-m time選項。
-nogroup 查找無有效所屬組的文件,即該文件所屬的組在/etc/groups中不存在。
-nouser 查找無有效屬主的文件,即該文件的屬主在/etc/passwd中不存在。
-newer file1 ! file2 查找更改時間比文件file1新但比文件file2舊的文件。
-type 查找某一類型的文件,諸如:
b - 塊設(shè)備文件。
d - 目錄。
c - 字符設(shè)備文件。
p - 管道文件。
l - 符號鏈接文件。
f - 普通文件。
-size n:[c] 查找文件長度為n塊的文件,帶有c時表示文件長度以字節(jié)計。-depth:在查找文件時,首先查找當(dāng)前目錄中的文件,然后再在其子目錄中查找。
-fstype:查找位于某一類型文件系統(tǒng)中的文件,這些文件系統(tǒng)類型通常可以在配置文件/etc/fstab中找到,該配置文件中包含了本系統(tǒng)中有關(guān)文件系統(tǒng)的信息。
-mount:在查找文件時不跨越文件系統(tǒng)mount點。
-follow:如果find命令遇到符號鏈接文件,就跟蹤至鏈接所指向的文件。
-cpio:對匹配的文件使用cpio命令,將這些文件備份到磁帶設(shè)備中。
另外,下面三個的區(qū)別:
-amin n 查找系統(tǒng)中最后N分鐘訪問的文件
-atime n 查找系統(tǒng)中最后n*24小時訪問的文件
-cmin n 查找系統(tǒng)中最后N分鐘被改變文件狀態(tài)的文件
-ctime n 查找系統(tǒng)中最后n*24小時被改變文件狀態(tài)的文件
-mmin n 查找系統(tǒng)中最后N分鐘被改變文件數(shù)據(jù)的文件
-mtime n 查找系統(tǒng)中最后n*24小時被改變文件數(shù)據(jù)的文件
locate:
1.命令格式:
Locate [選擇參數(shù)] [樣式]
2.命令功能:
locate命令可以在搜尋數(shù)據(jù)庫時快速找到檔案,數(shù)據(jù)庫由updatedb程序來更新,updatedb是由cron daemon周期性建立的,locate命令在搜尋數(shù)據(jù)庫時比由整個由硬盤資料來搜尋資料來得快,但較差勁的是locate所找到的檔案若是最近才建立或 剛更名的,可能會找不到,在內(nèi)定值中,updatedb每天會跑一次,可以由修改crontab來更新設(shè)定值。(etc/crontab)
locate指定用在搜尋符合條件的檔案,它會去儲存檔案與目錄名稱的數(shù)據(jù)庫內(nèi),尋找合乎范本樣式條件的檔案或目錄錄,可以使用特殊字元(如”*” 或”?”等)來指定范本樣式,如指定范本為kcpa*ner, locate會找出所有起始字串為kcpa且結(jié)尾為ner的檔案或目錄,如名稱為kcpartner若目錄錄名稱為kcpa_ner則會列出該目錄下包括 子目錄在內(nèi)的所有檔案。
locate指令和find找尋檔案的功能類似,但locate是透過update程序?qū)⒂脖P中的所有檔案和目錄資料先建立一個索引數(shù)據(jù)庫,在 執(zhí)行l(wèi)oacte時直接找該索引,查詢速度會較快,索引數(shù)據(jù)庫一般是由操作系統(tǒng)管理,但也可以直接下達update強迫系統(tǒng)立即修改索引數(shù)據(jù)庫。
3.命令參數(shù):
-e 將排除在尋找的范圍之外。
-1 如果 是 1.則啟動安全模式。在安全模式下,使用者不會看到權(quán)限無法看到 的檔案。這會始速度減慢,因為 locate 必須至實際的檔案系統(tǒng)中取得檔案的 權(quán)限資料。
-f 將特定的檔案系統(tǒng)排除在外,例如我們沒有到理要把 proc 檔案系統(tǒng)中的檔案 放在資料庫中。
-q 安靜模式,不會顯示任何錯誤訊息。
-n 至多顯示 n個輸出。
-r 使用正規(guī)運算式 做尋找的條件。
-o 指定資料庫存的名稱。
-d 指定資料庫的路徑
-h 顯示輔助訊息
-V 顯示程式的版本訊息
find,用于在文件樹中查找文件并作相應(yīng)的處理
-name:按照文件名查找文件
-perm:按照文件權(quán)限查找文件
-user:按照文件屬主來查找文件
-size:按照指定的文件大小查找文件【+n:大于,-n:小于,n:等于】
-group:按照文件所屬的組來查找文件
-mtime-n+n:按照文件更改時間來查找文件,-n表示n天之內(nèi),+n表示n天以前
-newer file1 file2:查找更改時間在file1和file2之間的文件
例如:
find -mtime -2:查找48小時修改過的文件
find -name ".log":查找當(dāng)前目錄以".log"結(jié)尾的文件
find /opt/soft/test -perm 777:查找指定目錄下權(quán)限為777的文件
find -type f -name "*.log":查找當(dāng)前目錄下以".log"結(jié)尾的普通文件
find -type d | sort:查找當(dāng)前所有目標(biāo)目錄并排序
find /home/wansw -size +20M:查找大于20M的文件
locate指令,可以快速定位文件路徑,利用事先建立的系統(tǒng)中的所有文件名稱和路徑的locate數(shù)據(jù)庫,無需遍歷整個文件系統(tǒng),查詢速度較快,為了保證查詢準(zhǔn)確性,需要定期更新。《Linux就該這么學(xué)》
updatedb:第一次運行前,創(chuàng)建locate數(shù)據(jù)庫
grep,用于過濾/搜索指定字符串??梢允褂谜齽t表達式,能配合多種命令使用。
用法:grep 【選項】 查找內(nèi)容 源文件
-A:顯示符合的行及之后的內(nèi)容
-B:顯示符合的行及之前的內(nèi)容
-C:顯示符合的行及前后的內(nèi)容
-c:計算符合的行數(shù)目
-n:顯示匹配行和行號
-i:忽略大小寫
規(guī)則表達式
:'grep'表示匹配所有以grep開頭的行
'表示匹配所有以grep結(jié)尾的行
.:'gr.p'表示匹配'gr'后面接任意字符然后是'p'
:'grep'表示匹配一個或多個空格后緊跟grep的行
[]:[Gg]rep表示匹配Grep與grep
[]:[A-FH-Z]rep表示匹配不以A-F、H-Z開頭并緊跟rep的行
例如(grep命令大多數(shù)時候多要和別的命令一起使用才有意義):
ps -ef | grep -c SVN:查找指定的進程的個數(shù)
cat test.txt | grep -f test2.txt:從text2.txt中讀取關(guān)鍵字后在test.txt中搜索
cat test.txt | grep nf text2.txt:從text2.txt中讀取關(guān)鍵字后在text.txt中搜索并顯示行號
grep 'linux' text.txt test2.txt:從多個文件中搜索關(guān)鍵字'linux'
cat test.txt | grep -E 'ed|at':顯示包含ed或at的行
1、使用find命令
Linuxfind命令用來在指定目錄下查找文件。任何位于參數(shù)之前的字符串都將被視為欲查找的目錄名。如果使用該命令時,不設(shè)置任何參數(shù),則find命令將在當(dāng)前目錄下查找子目錄或文件。并且將查找到的子目錄和文件全部進行顯示。
語法:find path -option [ -print ] [ -exec -ok command ] {} \;
2、使用locate命令
Linux locate命令用于查找符合條件的文檔,他會去保存文檔和目錄名稱的數(shù)據(jù)庫內(nèi),查找合乎范本樣式條件的文檔或目錄。
一般情況我們只需要輸入locate your_file_name即可查找指定文件。
語法:locate [-d ][--help][--version][范本樣式...]
3、使用which命令
Linux which命令用于查找文件。
which指令會在環(huán)境變量$PATH設(shè)置的目錄里查找符合條件的文件。
語法:which [文件...]
4、使用whereis命令
Linux whereis命令用于查找文件。
該指令會在特定目錄中查找符合條件的文件。這些文件應(yīng)屬于原始代碼、二進制文件,或是幫助文件。
該指令只能用于查找二進制文件、源代碼文件和man手冊頁,一般文件的定位需使用locate命令。
語法:whereis [-bfmsu][-B 目錄...][-M 目錄...][-S目錄...][文件...]
linux下vim查找命令:
/text--查找text,按n查找下一個,N查找上一個
?text--查找text(反向查找),按n查找下一個,N查找上一個
*/#--查找光標(biāo)當(dāng)前的單詞,相當(dāng)于/text
:setignorecase--查找忽略大小寫
:setnoignorecase--查找不忽略大小寫
:nohlsearch--關(guān)閉當(dāng)前的高亮顯示,當(dāng)再次查找時恢復(fù)高亮
:setincsearch--逐步搜索模式,對當(dāng)前鍵入的字符進行查找,不必等輸入完成
:setwrapscan--重新搜索,當(dāng)搜索到文件頭或尾時,返回重新搜索
擴展資料:
1、文件窗口:
:openfile--在當(dāng)前窗口打開新文件
:splitfile--在新窗口打開文件
:newfile--用新窗口打開文件,同:splitfile
:bn--切換到下一個文件
:bp--切換到上一個文件
:args--查看當(dāng)前打開的文件列表(當(dāng)前正在編輯的文件會用[]括起來)
:e
:e\qadriveest.txt--打開遠程文件
:split--打開一個新窗口,光標(biāo)停在頂層的窗口上
:new--打開一個新窗口,光標(biāo)停在頂層的窗口上
:vsplit--橫向打開窗口。
Ctrl+ww--移動到下一個窗口
Ctrl+wj--移動到下方的窗口
Ctrl+wk--移動到上方的窗口
2、其他命令:
Esc/Ctrl+[--鍵入命令
:!command--執(zhí)行shell命令
:suspend/Ctrl+Z--掛起vim,回到shell,fg返回vim
:!perl-cscript.pl--檢查perl腳本語法,不用退出vim
:!perlscript.pl--執(zhí)行perl腳本,不用退出vim
:help--顯示幫助文檔
:helpi--顯示i的幫助文檔(:特殊鍵用,-t:啟動參數(shù)用-)
3、編輯命令:
插入:
i--在當(dāng)前位置插入
A--在當(dāng)前行尾插入
I--在當(dāng)前行首插入
o--在當(dāng)前行后插入一行
O--在當(dāng)前行前插入一行
拷貝粘貼剪切:
yy--拷貝當(dāng)前行
2yy--拷貝當(dāng)前行開始的2行
p--在當(dāng)前光標(biāo)后粘貼
P--在當(dāng)前行前粘貼
:1,10co20--將1-10行插入到第20行之后。
:1,$co$--將整個文件復(fù)制一份并添加到文件尾部
v--進入選擇模式,相當(dāng)于在Windows下按住Shift選擇
V--進入選擇模式,整行選擇
ddp--交換當(dāng)前行和其下一行
2dd--剪切當(dāng)前行之后的2行
:1,10d--將1-10行剪切
:1,10m20--將第1-10行移動到第20行之后
替換:
ra--將當(dāng)前光標(biāo)所在字符替換為a
s/old/new/--用old替換new,替換當(dāng)前行的第一個匹配
s/old/new/g--用old替換new,替換當(dāng)前行的所有匹配
%s/old/new/--用old替換new,替換所有行的第一個匹配
%s/old/new/g--用old替換new,替換所有匹配
:10,20s/^/text/g--在第10行到第20行每行前面加上text(:3,5s/^/#/g--注釋3-5行,:3,5s/^#//g
--解除3-5行的注釋,:1,$s/^/#/g--注釋整個文檔,:%s/^/#/g--注釋整個文檔)
ddp--交換光標(biāo)所在行和下一行
移動:
h--左移一個字符(5h--左移5個字符)
l--右移一個字符(5l--右移5個字符)
k--上移一個字符(5k--上移5個字符)
j--下移一個字符(5j--下移5個字符)
w--向后移動一個單詞(5w--向后移動5個單詞)
b--向前移動一個單詞(5b--向前移動5個單詞)
e--同w,光標(biāo)停在單詞尾部
ge--同e,光標(biāo)停在單詞尾部
^--移動到本行第一個非空白字符
0--移動到本行第0個字符
--同0
$--移動到行尾(3$--移動到下面3行的行尾)
gg--移動到文件頭(10gg--移動到第10行首)
[[--同gg
G--移動到文件尾(10G--移動到第10行尾)
]]--同G
fx--移動到本行光標(biāo)后第一個為x的字符(3fx--移動到本行光標(biāo)后第3個為x的字符)
Fx--同fx,反向查找
:20--跳到20行行首
Ctrl+e--向下滾動一行
Ctrl+y--向上滾動一行
Ctrl+d--向下滾動半屏
Ctrl+u--向上滾動半屏
Ctrl+f--向下滾動一屏
Ctrl+b--向上滾動一屏
撤銷:
u--撤銷
U--撤銷對整行的操作
Ctrl+r--撤銷剛才的撤銷
刪除:
x--刪除當(dāng)前字符(3x--刪除當(dāng)前光標(biāo)開始向后三個字符)
X--刪除當(dāng)前字符的前一個字符,同dh
dl--刪除當(dāng)前字符,同x
dh--刪除前一個字符
dd--刪除當(dāng)前行
dj--刪除上一行
dk--刪除下一行
10d--刪除當(dāng)前行開始的10行。
D--刪除當(dāng)前字符至行尾,同d$
kdgg--刪除當(dāng)前行之前所有行(不包括當(dāng)前行)
:1,10d--刪除1-10行
:11,$d--刪除11行及以后所有的行
:1,$d--刪除所有行
J--刪除兩行之間的空行,合并兩行
退出
:wq--保存并退出
ZZ--保存并退出
:q!--強制退出并忽略所有更改
:e!--放棄所有修改,并打開原來文件
:close--關(guān)閉窗口,最后一個窗口不能使用此命令,可以防止意外退出vim
:q--如果是最后一個被關(guān)閉的窗口,那么將退出vim