真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

linux命令行查找,linux命令行查找字符串

linux命令查找文件里的信息

Linux查找文件內(nèi)容的常用命令方法。

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),班瑪企業(yè)網(wǎng)站建設(shè),班瑪品牌網(wǎng)站建設(shè),網(wǎng)站定制,班瑪網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,班瑪網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

從文件內(nèi)容查找匹配指定字符串的行:

$ grep "被查找的字符串" 文件名

例子:在當(dāng)前目錄里第一級文件夾中尋找包含指定字符串的.in文件

grep "thermcontact" */*.in

從文件內(nèi)容查找與正則表達(dá)式匹配的行:

$ grep –e “正則表達(dá)式” 文件名

查找時不區(qū)分大小寫:

$ grep –i "被查找的字符串" 文件名

查找匹配的行數(shù):

$ grep -c "被查找的字符串" 文件名

從文件內(nèi)容查找不匹配指定字符串的行:

$ grep –v "被查找的字符串" 文件名

從根目錄開始查找所有擴(kuò)展名為.log的文本文件,并找出包含”ERROR”的行

find / -type f -name "*.log" | xargs grep "ERROR"

例子:從當(dāng)前目錄開始查找所有擴(kuò)展名為.in的文本文件,并找出包含”thermcontact”的行

find . -name "*.in" | xargs grep "thermcontact"

linux查找文件內(nèi)容命令

搜索、查找文件當(dāng)中的內(nèi)容,一般最常用的是grep命令,另外還有egrep, vi命令也能搜索文件里面內(nèi)容

1:搜索某個文件里面是否包含字符串,使用grep "search content" filename1, 例如

$ grep ORA alert_gsp.log

$ grep "ORA" alert_gsp.log

例如我們需要搜索、查找utlspadv.sql文件中包含ORA的字符內(nèi)容

[oracle@DB-Server admin]$ grep "ORA" utlspadv.sql

--?? ORA-XXXXX:??????? Monitoring already started. If for example you want

--?? ORA-20111:

--?? ORA-20112:

--?? ORA-20113: 'no active monitoring job found'

--?? ORA-20113: 'no active monitoring job found'

-- 0 |PS =DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 0 0 2 99.3% 0% 0.7% ""

-- |PR DBS1.REGRESS.RDBMS.DEV.US.ORACLE.COM= 100% 0% 0% "" |PR ...

-- =DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 92 7 99.3% 0% 0.7% "" |PR ...

-- |C CAPTURE_USER1=DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 2 0 0 0.E+00

-- |C CAPTURE_USER1=DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM

-- ORA-20111:

-- ORA-20112:

--?? ORA-20100:

--?? ORA-20113: 'no active monitoring job found'

--?? ORA-20113: 'no active monitoring job found'

[oracle@DB-Server admin]$

如上所示,這個是一個模糊匹配,其實(shí)我是想要查看ORA這類錯誤,那么我要過濾掉哪一些沒有用的,搜索的內(nèi)容修改一下即可(當(dāng)然也可以使用特殊參數(shù),后面有講述),如下所示。

[oracle@DB-Server admin]$ grep "ORA-" utlspadv.sql

--?? ORA-XXXXX:??????? Monitoring already started. If for example you want

--?? ORA-20111:

--?? ORA-20112:

--?? ORA-20113: 'no active monitoring job found'

--?? ORA-20113: 'no active monitoring job found'

-- ORA-20111:

-- ORA-20112:

--?? ORA-20100:

--?? ORA-20113: 'no active monitoring job found'

--?? ORA-20113: 'no active monitoring job found'

[oracle@DB-Server admin]$

2: 如果你想搜索多個文件是否包含某個字符串,可以使用下面方式

grep "search content" filename1 filename2.... filenamen

grep "search content" *.sql

例如我想查看當(dāng)前目錄下,哪些sql腳本包含視圖v$temp_space_header(注意:搜索的內(nèi)容如果包含特殊字符時,必須進(jìn)行轉(zhuǎn)義處理,如下所示)

[oracle@DB-Server admin]$ grep "v\$temp_space_header" *.sql

catspacd.sql:drop public synonym v$temp_space_header;

catspacd.sql:drop public synonym gv$temp_space_header;

catspace.sql:create or replace view v_$temp_space_header as select * from v$temp_space_header;

catspace.sql:create or replace public synonym v$temp_space_header for v_$temp_space_header;

catspace.sql:create or replace view gv_$temp_space_header as select * from gv$temp_space_header;

catspace.sql:create or replace public synonym gv$temp_space_header

catspace.sql:??????????? FROM gv$temp_space_header

[oracle@DB-Server admin]$

3:如果需要顯示搜索文本在文件中的行數(shù),可以使用參數(shù)-n

[oracle@DB-Server admin]$ grep? -n "v\$temp_space_header" *.sql

catspacd.sql:68:drop public synonym v$temp_space_header;

catspacd.sql:71:drop public synonym gv$temp_space_header;

catspace.sql:1952:create or replace view v_$temp_space_header as select * from v$temp_space_header;

catspace.sql:1953:create or replace public synonym v$temp_space_header for v_$temp_space_header;

catspace.sql:1956:create or replace view gv_$temp_space_header as select * from gv$temp_space_header;

catspace.sql:1957:create or replace public synonym gv$temp_space_header

catspace.sql:2357:??????????? FROM gv$temp_space_header

[oracle@DB-Server admin]$

4: 如果搜索時需要忽略大小寫問題,可以使用參數(shù)-i

[oracle@DB-Server admin]$ grep? "V\$TEMP_SPACE_HEADER" *.sql

[oracle@DB-Server admin]$ grep -i "V\$TEMP_SPACE_HEADER"? *.sql

catspacd.sql:drop public synonym v$temp_space_header;

catspacd.sql:drop public synonym gv$temp_space_header;

catspace.sql:create or replace view v_$temp_space_header as select * from v$temp_space_header;

catspace.sql:create or replace public synonym v$temp_space_header for v_$temp_space_header;

catspace.sql:create or replace view gv_$temp_space_header as select * from gv$temp_space_header;

catspace.sql:create or replace public synonym gv$temp_space_header

catspace.sql:??????????? FROM gv$temp_space_header

[oracle@DB-Server admin]$

另外,例如檢查安裝的MySQL組件

[root@DB-Server init.d]# rpm -qa | grep -i mysql

MySQL-devel-5.6.23-1.linux_glibc2.5

MySQL-client-5.6.23-1.linux_glibc2.5

MySQL-server-5.6.23-1.linux_glibc2.5

5:從文件內(nèi)容查找不匹配指定字符串的行:

$ grep –v "被查找的字符串" 文件名

例如查找某些進(jìn)程時,我們不想顯示包含命令grep ora_mmon的進(jìn)程,如下所示

[oracle@DB-Server admin]$ ps -ef? | grep ora_mmon?

oracle?? 16675 16220? 0 00:09 pts/1??? 00:00:00 grep ora_mmon

oracle?? 21412???? 1? 0 Aug22 ???????? 00:00:07 ora_mmon_gsp

[oracle@DB-Server admin]$ ps -ef? | grep ora_mmon? | grep -v grep

oracle?? 21412???? 1? 0 Aug22 ???????? 00:00:07 ora_mmon_gsp

[oracle@DB-Server admin]$

6:搜索、查找匹配的行數(shù):

$ grep -c "被查找的字符串" 文件名

[oracle@DB-Server admin]$

[oracle@DB-Server admin]$ grep?? "v\$temp_space_header" *.sql

catspacd.sql:drop public synonym v$temp_space_header;

catspacd.sql:drop public synonym gv$temp_space_header;

catspace.sql:create or replace view v_$temp_space_header as select * from v$temp_space_header;

catspace.sql:create or replace public synonym v$temp_space_header for v_$temp_space_header;

catspace.sql:create or replace view gv_$temp_space_header as select * from gv$temp_space_header;

catspace.sql:create or replace public synonym gv$temp_space_header

catspace.sql:??????????? FROM gv$temp_space_header

[oracle@DB-Server admin]$ grep -c? "v\$temp_space_header"? catspacd.sql

2

[oracle@DB-Server admin]$ grep -c? "v\$temp_space_header"? catspace.sql

5

[oracle@DB-Server admin]$

7:有些場景,我們并不知道文件類型、或那些文件包含有我們需要搜索的字符串,那么可以遞歸搜索某個目錄以及子目錄下的所有文件

[oracle@DB-Server ~]$ grep -r "v\$temp_space_header" /u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/

/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspace.sql:create or replace view v_$temp_space_header as select * from v$temp_space_header;

/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspace.sql:create or replace public synonym v$temp_space_header for v_$temp_space_header;

/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspace.sql:create or replace view gv_$temp_space_header as select * from gv$temp_space_header;

/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspace.sql:create or replace public synonym gv$temp_space_header

/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspace.sql: FROM gv$temp_space_header

/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspacd.sql:drop public synonym v$temp_space_header;

/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspacd.sql:drop public synonym gv$temp_space_header;

[oracle@DB-Server ~]$

8:如果我們只想獲取那些文件包含搜索的內(nèi)容,那么可以使用下命令

[oracle@DB-Server ~]$ grep -H -r "v\$temp_space_header" /u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/ | cut -d: -f1

/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspace.sql

/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspace.sql

/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspace.sql

/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspace.sql

/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspace.sql

/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspacd.sql

/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspacd.sql

[oracle@DB-Server ~]$ grep -H -r "v\$temp_space_header" /u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/ | cut -d: -f1 | uniq

/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspace.sql

/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspacd.sql

[oracle@DB-Server ~]$

9:如果只想獲取和整個搜索字符匹配的內(nèi)容,那么可以使用參數(shù)w

你可以對比一下兩者的區(qū)別

[oracle@DB-Server admin]$ grep -w "ORA" utlspadv.sql

--?? ORA-XXXXX:??????? Monitoring already started. If for example you want

--?? ORA-20111:

--?? ORA-20112:

--?? ORA-20113: 'no active monitoring job found'

--?? ORA-20113: 'no active monitoring job found'

-- ORA-20111:

-- ORA-20112:

--?? ORA-20100:

--?? ORA-20113: 'no active monitoring job found'

--?? ORA-20113: 'no active monitoring job found'

[oracle@DB-Server admin]$ grep? "ORA" utlspadv.sql

--?? ORA-XXXXX:??????? Monitoring already started. If for example you want

--?? ORA-20111:

--?? ORA-20112:

--?? ORA-20113: 'no active monitoring job found'

--?? ORA-20113: 'no active monitoring job found'

-- 0 |PS =DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 0 0 2 99.3% 0% 0.7% ""

-- |PR DBS1.REGRESS.RDBMS.DEV.US.ORACLE.COM= 100% 0% 0% "" |PR ...

-- =DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 92 7 99.3% 0% 0.7% "" |PR ...

-- |C CAPTURE_USER1=DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 2 0 0 0.E+00

-- |C CAPTURE_USER1=DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM

-- ORA-20111:

-- ORA-20112:

--?? ORA-20100:

--?? ORA-20113: 'no active monitoring job found'

--?? ORA-20113: 'no active monitoring job found'

[oracle@DB-Server admin]$

10: grep命令結(jié)合find命令搜索

[oracle@DB-Server admin]$ find . -name '*.sql' -exec grep -i 'v\$temp_space_header' {} \; -print

create or replace view v_$temp_space_header as select * from v$temp_space_header;

create or replace public synonym v$temp_space_header for v_$temp_space_header;

create or replace view gv_$temp_space_header as select * from gv$temp_space_header;

create or replace public synonym gv$temp_space_header

FROM gv$temp_space_header

./catspace.sql

drop public synonym v$temp_space_header;

drop public synonym gv$temp_space_header;

./catspacd.sql

[oracle@DB-Server admin]$

11: egrep -w -R 'word1|word2' ~/klbtmp

12: vi命令其實(shí)也能搜索文件里面的內(nèi)容,只不過沒有g(shù)rep命令功能那么方便、強(qiáng)大。

Linux 命令行使用教程

常用指令

ls 顯示文件或目錄

-l 列出文件詳細(xì)信息l(list)

-a 列出當(dāng)前目錄下所有文件及目錄,包括隱藏的a(all)

mkdir 創(chuàng)建目錄

-p 創(chuàng)建目錄,若無父目錄,則創(chuàng)建p(parent)

cd 切換目錄

touch 創(chuàng)建空文件

echo 創(chuàng)建帶有內(nèi)容的文件。

cat 查看文件內(nèi)容

cp 拷貝

mv 移動或重命名

rm 刪除文件

-r 遞歸刪除,可刪除子目錄及文件

-f 強(qiáng)制刪除

find 在文件系統(tǒng)中搜索某文件

wc 統(tǒng)計文本中行數(shù)、字?jǐn)?shù)、字符數(shù)

grep 在文本文件中查找某個字符串

rmdir 刪除空目錄

tree 樹形結(jié)構(gòu)顯示目錄,需要安裝tree包

pwd 顯示當(dāng)前目錄

ln 創(chuàng)建鏈接文件

more、less 分頁顯示文本文件內(nèi)容

head、tail 顯示文件頭、尾內(nèi)容

ctrl+alt+F1 命令行全屏模式

系統(tǒng)管理命令

stat 顯示指定文件的詳細(xì)信息,比ls更詳細(xì)

who 顯示在線登陸用戶

whoami 顯示當(dāng)前操作用戶

hostname 顯示主機(jī)名

uname 顯示系統(tǒng)信息

top 動態(tài)顯示當(dāng)前耗費(fèi)資源最多進(jìn)程信息

ps 顯示瞬間進(jìn)程狀態(tài) ps -aux

du 查看目錄大小 du -h /home帶有單位顯示目錄信息

df 查看磁盤大小 df -h 帶有單位顯示磁盤信息

ifconfig 查看網(wǎng)絡(luò)情況

ping 測試網(wǎng)絡(luò)連通

netstat 顯示網(wǎng)絡(luò)狀態(tài)信息

man 命令不會用了,找男人 如:man ls

clear 清屏

alias 對命令重命名 如:alias showmeit="ps -aux" ,另外解除使用unaliax showmeit

kill 殺死進(jìn)程,可以先用ps 或 top命令查看進(jìn)程的id,然后再用kill命令殺死進(jìn)程。

打包壓縮相關(guān)命令

gzip:

bzip2:

tar: 打包壓縮

-c 歸檔文件

-x 壓縮文件

-z gzip壓縮文件

-j bzip2壓縮文件

-v 顯示壓縮或解壓縮過程 v(view)

-f 使用檔名

例:

tar -cvf /home/abc.tar /home/abc 只打包,不壓縮

tar -zcvf /home/abc.tar.gz /home/abc 打包,并用gzip壓縮

tar -jcvf /home/abc.tar.bz2 /home/abc 打包,并用bzip2壓縮

當(dāng)然,如果想解壓縮,就直接替換上面的命令 tar -cvf / tar -zcvf / tar -jcvf 中的“c” 換成“x” 就可以了。

關(guān)機(jī)/重啟機(jī)器

shutdown

-r 關(guān)機(jī)重啟

-h 關(guān)機(jī)不重啟

now 立刻關(guān)機(jī)

halt 關(guān)機(jī)

reboot 重啟

在linux中如何用命令查找文件在哪

linux中查找文件位置的命令有很多,常用的有find,locate和whereis三個命令,下面分別介紹它們的用法:

1、find命令是linux中最強(qiáng)大的查找文件的命令,它的格式為”find? 指定目錄 指定條件 指定動作“。比如使用find命令搜索在根目錄下的所有interfaces文件所在位置,命令格式為”find / -name ?'interfaces'”,輸入后就會返回搜索的結(jié)果了:

2、第二個命令是locate命令,使用locate也可以搜索到linux系統(tǒng)中的文件,同樣的這里使用locate命令搜索interfaces文件,命令為”locate interfaces“,locate命令是比find命令快的,因?yàn)樗樵兊氖莑ocatedb數(shù)據(jù)庫,該數(shù)據(jù)庫包含本地所有的文件信息:

3、最后一個是使用”whereis“命令搜索文件,但是只可以搜索linux系統(tǒng)中的可執(zhí)行文件。這里用whereis搜索interfaces文件就不起作用了,所以使用whereis命令搜索grep的可執(zhí)行文件,其命令為”whereis grep“。以上就是linux中查找文件的命令的用法介紹:

linux查找內(nèi)容命令

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:第一次運(yùn)行前,創(chuàng)建locate數(shù)據(jù)庫

grep,用于過濾/搜索指定字符串。可以使用正則表達(dá)式,能配合多種命令使用。

用法:grep 【選項】 查找內(nèi)容 源文件

-A:顯示符合的行及之后的內(nèi)容

-B:顯示符合的行及之前的內(nèi)容

-C:顯示符合的行及前后的內(nèi)容

-c:計算符合的行數(shù)目

-n:顯示匹配行和行號

-i:忽略大小寫

規(guī)則表達(dá)式

:'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:查找指定的進(jìn)程的個數(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的行

Linux下find命令和grep命令查找文件

在使用linux時,經(jīng)常需要進(jìn)行文件查找。其中查找的命令主要有find和grep。

兩個命令是有區(qū)的。

(1)find命令是根據(jù)文件的屬性進(jìn)行查找,如文件名,文件大小,所有者,所屬組,是否為空,訪問時間,修改時間等。

(2)grep是根據(jù)文件的內(nèi)容進(jìn)行查找,會對文件的每一行按照給定的模式(patter)進(jìn)行匹配查找。

一.find命令

基本格式:find path expression

1.按照文件名查找

(1)find / -name httpd.conf

在根目錄下查找文件httpd.conf,表示在整個硬盤查找

(2)find /etc -name httpd.conf

在/etc目錄下文件httpd.conf

(3)find /etc -name ' srm '

使用通配符*(0或者任意多個)。表示在/etc目錄下查找文件名中含有字符串‘srm’的文件

(4)find . -name 'srm*'

表示當(dāng)前目錄下查找文件名開頭是字符串‘srm’的文件


分享文章:linux命令行查找,linux命令行查找字符串
文章網(wǎng)址:http://weahome.cn/article/hodsge.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部