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

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

linux系統(tǒng)中命令詳解 linux命令及作用

linux中g(shù)rep命令的詳細解釋

linxu下的grep命令其實是一個搜索文件文本的工具。下面由我為大家整理了linux的grep命令的詳細解釋的相關(guān)知識,希望對大家有幫助!

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了莒縣免費建站歡迎大家使用!

一、linux中的grep命令的詳細解釋

1.作用

Linux系統(tǒng)中g(shù)rep命令是一種強大的文本搜索工具,它能使用正則表達式搜索文本,并把匹 配的行打印出來。grep全稱是Global Regular Expression Print,表示全局正則表達式版本,它的使用權(quán)限是所有用戶。

2.格式

grep [options]

3.主要參數(shù)

[options]主要參數(shù):

-c:只輸出匹配行的計數(shù)。

-I:不區(qū)分大 小寫(只適用于單字符)。

-h:查詢多文件時不顯示文件名。

-l:查詢多文件時只輸出包含匹配字符的文件名。

-n:顯示匹配行及 行號。

-s:不顯示不存在或無匹配文本的錯誤信息。

-v:顯示不包含匹配文本的所有行。

pattern正則表達式主要參數(shù):

\: 忽略正則表達式中特殊字符的原有含義。

^:匹配正則表達式的開始行。

$: 匹配正則表達式的結(jié)束行。

\:從匹配正則表達 式的行開始。

\:到匹配正則表達式的行結(jié)束。

[ ]:單個字符,如[A]即A符合要求 。

[ - ]:范圍,如[A-Z],即A、B、C一直到Z都符合要求 。

。:所有的單個字符。

* :有字符,長度可以為0。

二、linux中的grep命令的詳解實例

1.grep命令使用簡單實例

$ grep ‘test’ d*

顯示所有以d開頭的文件中包含 test的行。

$ grep ‘test’ aa bb cc

顯示在aa,bb,cc文件中匹配test的行。

$ grep ‘[a-z]\{5\}’ aa

顯示所有包含每個字符串至少有5個連續(xù)小寫字符的字符串的行。

$ grep ‘w\(es\)t.*\1′ aa

如果west被匹配,則es就被存儲到內(nèi)存中,并標記為1,然后搜索任意個字符(.*),這些字符后面緊跟著 另外一個es(\1),找到就顯示該行。如果用egrep或grep -E,就不用”\”號進行轉(zhuǎn)義,直接寫成’w(es)t.*\1′就可以了。

2.grep命令使用復(fù)雜實例

假設(shè)您正在’/usr/src/Linux/Doc’目錄下搜索帶字符 串’magic’的文件:

$ grep magic /usr/src/Linux/Doc/*

sysrq.txt:* How do I enable the magic SysRQ key?

sysrq.txt:* How do I use the magic SysRQ key?

其中文件’sysrp.txt’包含該字符串,討論的是 SysRQ 的功能。

默認情況下,’grep’只搜索當前目錄。如果 此目錄下有許多子目錄,’grep’會以如下形式列出:

grep: sound: Is a directory

這可能會使’grep’ 的輸出難于閱讀。這里有兩種解決的辦法:

明確要求搜索子目錄:grep -r

或忽略子目錄:grep -d skip

如果有很多 輸出時,您可以通過管道將其轉(zhuǎn)到’less’上閱讀:

$ grep magic /usr/src/Linux/Documentation/* | less

這樣,您就可以更方便地閱讀。

有一點要注意,您必需提供一個文件過濾方式(搜索全部文件的話用 *)。如果您忘了,’grep’會一直等著,直到該程序被中斷。如果您遇到了這樣的情況,按 CTRL c ,然后再試。

下面還有一些有意思的命令行參數(shù):

grep -i pattern files :不區(qū)分大小寫地搜索。默認情況區(qū)分大小寫,

grep -l pattern files :只列出匹配的文件名,

grep -L pattern files :列出不匹配的文件名,

grep -w pattern files :只匹配整個單詞,而不是字符串的一部分(如匹配’magic’,而不是’magical’),

grep -C number pattern files :匹配的上下文分別顯示[number]行,

grep pattern1 | pattern2 files :顯示匹配 pattern1 或 pattern2 的行,

grep pattern1 files | grep pattern2 :顯示既匹配 pattern1 又匹配 pattern2 的行。

grep -n pattern files 即可顯示行號信息

grep -c pattern files 即可查找總行數(shù)

這里還有些用于搜索的特殊符號:

\ 和 \ 分別標注單詞的開始與結(jié)尾。

例如:

grep man * 會匹配 ‘Batman’、’manic’、’man’等,

grep ‘\man’ * 匹配’manic’和’man’,但不是’Batman’,

grep ‘\man\’ 只匹配’man’,而不是’Batman’或’manic’等其他的字符串。

‘^’:指匹配的字符串在行首,

‘$’:指匹配的字符串在行 尾,

Linux常用命令詳解 | find

find 命令的基本結(jié)構(gòu)如下:

find 命令手冊 : man find

find 命令中的 -name 選項可以根據(jù)文件名稱進行檢索( 區(qū)分大小寫 )。如需要忽略文件名中的大小寫,可以使用 -iname 選項。

-name 和 -iname 兩個選項都支持 wildcards 。如:

例1:查找 /usr 目錄下所有文件名以 .txt 結(jié)尾的文件

例2:查找 /usr 目錄下所有文件名剛好為 4 個字符的文件

例3:查以大寫字母開頭的文件

例4:查以兩個小寫字母和兩個數(shù)字開頭的txt文件

類似的還有:

-lname -ilname

-path -ipath

-regx -iregx

有些時候,你需要在搜索時匹配某個文件或目錄的 完整路徑 ,而不僅僅是匹配文件名??梢允褂? -path 或 -ipath 選項。

例1:如查找 /usr 下所有文件名以 .txt 結(jié)尾的文件或目錄,且該文件的父目錄必須是 src 。可以使用以下命令:

例2:在當前目錄除aa之外的子目錄內(nèi)搜索 txt文件

例3:在當前目錄,不再子目錄中,查找txt文件

如果只想搜索得到文件 或 目錄,即不想它們同時出現(xiàn)在結(jié)果中。可以使用 -type 選項指定文件類型。

-type 選項最常用的參數(shù)如下:

例:檢索 /usr 下所有文件名以 python 開頭的目錄

find 命令支持 -empty 選項用來檢索 為空 的文件或目錄??瘴募次募餂]有任何內(nèi)容,空目錄即目錄中沒有任何文件或子目錄。

例:檢索用戶主目錄下所有的空目錄

find 命令也允許用戶對當前的匹配條件進行 “反義” (類似于 邏輯非 操作)。

如需要檢索 /usr 下所有文件名 不 以 .txt 為后綴的文件??梢允褂靡韵旅睿?/p>

也可以“翻轉(zhuǎn)”任何其他的篩選條件,如:檢索 /usr 下所有內(nèi)容不為空的文件

為了檢索歸屬于特定用戶的文件或目錄,可以使用 -user 選項。

例:檢索根目錄下所有屬主為 starky 的文件

類似于 -user 選項, -group 選項則可以根據(jù)文件或目錄的 屬組 進行檢索。

有些時候,需要根據(jù)文件創(chuàng)建或修改的時間進行檢索。

Linux 系統(tǒng)中,與文件相關(guān)聯(lián)的時間參數(shù)有以下三種:

與此對應(yīng)的是 find 命令中的 -mtime , -atime 和 -ctime 三個選項。

這三個選項的使用遵循以下示例中的規(guī)則:

檢索 /usr 下兩天前被修改過的文件

如果覺得 -mtime 等選項以 天 為單位時間有點長,還可以使用 -mmin , -amin , -cmin 三個選項。

查找比 aa.txt 新 的文件

查找比 aa.txt 舊 的文件

查找比aa.txt新,比bb.txt舊的文件

-size 選項允許用戶通過文件大小進行搜索(只適用于文件,目錄沒有大小……)。

表示文件大小的單位由以下字符組成:

另外,還可以使用 + 或 - 符號表示 大于 或 小于 當前條件。

檢索文件大小高于 1 GB 的文件

find 命令可以使用 -perm 選項以文件權(quán)限為依據(jù)進行搜索。

9.1使用符號形式

例1:如需要檢索 /usr 目錄下權(quán)限為 rwxr-xr-x 的文件,可以使用以下命令:

例2:搜索 /usr 目錄下所有權(quán)限為 r-xr-xr-x (即系統(tǒng)中的所有用戶都只有讀寫權(quán)限)的文件和目錄,可以使用以下命令:

很多時候,我們只想匹配文件權(quán)限的一個 子集 。比如,檢索可以直接被任何用戶執(zhí)行的文件,即只關(guān)心文件的執(zhí)行權(quán)限,而不用管其讀寫權(quán)限是什么。

上述的需求可以通過以下命令實現(xiàn):

其中 a=x 前面的 / 符號即用來表示只匹配權(quán)限的某個子集(執(zhí)行權(quán)限),而不用關(guān)心其他權(quán)限的具體設(shè)置。

9.2使用數(shù)字形式

例如:搜索 /usr 目錄下權(quán)限為 644 (即 rwxr-xr-x )的文件

find 命令默認是以 遞歸 的方式檢索項目的,這有時候會導致得到的結(jié)果數(shù)量非常巨大??梢允褂? -maxdepth 限制 find 命令遞歸的層數(shù)。

例如:搜索時向下遞歸的層數(shù)最大為 3

在之前的例子中有出現(xiàn)多個搜索條件的 組合 以及對某個搜索條件的 反轉(zhuǎn) 。

實際上 find 命令支持 “and” 和 “or” 兩種邏輯運算,對應(yīng)的命令選項分別是 -a 和 -o 。通過這兩個選項可以對搜索條件進行更復(fù)雜的組合。

此外還可以使用 小括號 對搜索條件進行 分組 。注意 find 命令中的小括號常需要用 單引號 包裹起來。因小括號在 Shell 中有特殊的含義。

如檢索 /usr 下文件名以 python 開頭且類型為目錄的文件

該命令等同于:

更復(fù)雜的組合形式如:

例4:在除dir0及子目錄以外的目錄下查找txt后綴文件

說明:-a 應(yīng)該是and的縮寫,意思是邏輯運算符‘與’(); -o應(yīng)該是or的縮寫,意思是邏輯運算符‘或’(||), -not 表示非.

命令行的意思是:如果目錄dir0存在(即-a左邊為真),則求-prune的值,-prune 返回真,‘與’邏輯表達式為真(即-path './dir0*' -a -prune 為真),find命令將在除這個目錄以外的目錄下查找txt后綴文件并打印出來;如果目錄dir0不存在(即-a左邊為假),則不求值-prune ,‘與’邏輯表達式為假,則在當前目錄下查找所有txt后綴文件。

-delete 選項可以用來刪除搜索到的文件和目錄。

例如:刪除 home 目錄下所有的空目錄:

-exec 選項可以對搜索到的結(jié)果執(zhí)行執(zhí)行該參數(shù)所給出的shell命令。形式為 command {} \; ,注意{}與\;之間有空格 。每當 find 命令檢索到一個符合條件的文件,會使用其完整路徑取代命令中的 {} ,然后執(zhí)行 -exec 后面的命令一次。

例1:如需要將 home 目錄下所有的 MP3 音頻文件復(fù)制到移動存儲設(shè)備(假設(shè)路徑是 /media/MyDrive ),可使用下面的命令:

其中的 大括號 ( {} )作為檢索到的文件的 占位符 ,而分號( ; )作為命令結(jié)束的標志。因為分號是 Shell 中有特殊含義的符號,所以需要使用單引號括起來或前面加上轉(zhuǎn)義符 \ 。

例2:查看當前目錄下的所有普通文件,并在 - exec 選項中使用 ls -l 命令將它們列出

例3:在多個文件中檢索某個指定的字符串。如在用戶主目錄下的所有文件中檢索字符串 hello ,可以使用如下命令:

創(chuàng)建 Gzip 格式的壓縮文件的命令為:

現(xiàn)在假設(shè)需要將用戶主目錄下所有的 MP3 文件添加到壓縮包 music.tar.gz 中,直觀的感覺是,其命令應(yīng)為如下形式:

實際情況是,這樣得到的 music.tar.gz 其實只包含一個 MP3 文件。原因是 find 命令 每次 發(fā)現(xiàn)一個音頻文件,都會再執(zhí)行一次 -exec 選項后面的壓縮命令。導致先前生成的壓縮包被覆蓋。

可以先讓 find 命令檢索出所有符合條件的音頻文件,再將得到的 文件列表 傳遞給后面的壓縮命令。完整的命令如下:

如果想瀏覽搜索到的文件(目錄)的詳細信息(如權(quán)限和大小等),可以直接使用 -ls 選項。

例如:瀏覽所有 1G 以上大小的文件的詳細信息

與exec作用相同,區(qū)別在于,在執(zhí)行命令之前,都會給出提示,讓用戶確認是否執(zhí)行

與 exec 作用相同 ,起承接作用。區(qū)別在于 |xargs 主要用于承接刪除操作 ,而 -exec 都可用 如復(fù)制、移動、重命名等

例1:查找以ap或may開頭的文件

例2:查硬連接數(shù)大于2的文件或目錄

例3:查找含特定字符串的文件。查找當前目錄下含有"the string you want find…"字符串的文件:

例4:從根目錄開始查tmpfile,一旦查到馬上刪除

例5:如何用find查找某一天更改的文件?可以使用這一行命令來實現(xiàn):

A Guide to the Linux “Find” Command

linux系統(tǒng)中tar命令的使用詳解

Linux系統(tǒng)中tar命令是針對tar包的解壓縮命令,下面由我為大家整理了linux系統(tǒng)中tar命令的使用詳解,希望對大家有幫助!

linux系統(tǒng)中tar命令的使用詳解

一、tar命令用法

#壓縮

tar -czvf ***.tar.gz

tar -cjvf ***.tar.bz2

#解壓縮

tar -xzvf ***.tar.gz

tar -xjvf ***.tar.bz2

+++++++++++++++++++++++++++++++++++++++++++++

二、tar命令參數(shù)說明

-c :建立一個壓縮檔案的參數(shù)指令(create 的意思);

-x :解開一個壓縮檔案的參數(shù)指令!

-t :查看 tarfile 里面的檔案!

特別注意,在參數(shù)的下達中, c/x/t 僅能存在一個!不可同時存在!

因為不可能同時壓縮與解壓縮。

-z :是否同時具有 gzip 的屬性?亦即是否需要用 gzip 壓縮?

-j :是否同時具有 bzip2 的屬性?亦即是否需要用 bzip2 壓縮?

-v :壓縮的過程中顯示檔案!這個常用,但不建議用在背景執(zhí)行過程!

-f :使用檔名,請留意,在 f 之后要立即接檔名喔!不要再加參數(shù)!

例如使用『 tar -zcvfP tfile sfile 』就是錯誤的寫法,要寫成

『 tar -zcvPf tfile sfile 』才對喔!

-p :使用原檔案的原來屬性(屬性不會依據(jù)使用者而變)

-P :可以使用絕對路徑來壓縮!

-N :比后面接的日期(yyyy/mm/dd)還要新的才會被打包進新建的檔案中!

--exclude FILE:在壓縮的過程中,不要將 FILE 打包!

三、tar命令使用范例

范例一:將整個 /etc 目錄下的檔案全部打包成為 /tmp/etc.tar

[root@linux ~]# tar -cvf /tmp/etc.tar /etc ==僅打包,不壓縮!

[root@linux ~]# tar -czvf /tmp/etc.tar.gz /etc ==打包后,以 gzip 壓縮

[root@linux ~]# tar -cjvf /tmp/etc.tar.bz2 /etc ==打包后,以 bzip2 壓縮

# 特別注意,在參數(shù) f 之后的檔案檔名是自己取的,我們習慣上都用 .tar 來作為辨識。

# 如果加 z 參數(shù),則以 .tar.gz 或 .tgz 來代表 gzip 壓縮過的 tar file ~

# 如果加 j 參數(shù),則以 .tar.bz2 來作為附檔名啊~

# 上述指令在執(zhí)行的時候,會顯示一個警告訊息:

# 『tar: Removing leading `/' from member names 』那是關(guān)于絕對路徑的特殊設(shè)定。

范例二:查閱上述 /tmp/etc.tar.gz 檔案內(nèi)有哪些檔案?

[root@linux ~]# tar -tzvf /tmp/etc.tar.gz

# 由于我們使用 gzip 壓縮,所以要查閱該 tar file 內(nèi)的檔案時,

# 就得要加上 z 這個參數(shù)了!這很重要的!

范例三:將 /tmp/etc.tar.gz 檔案解壓縮在 /usr/local/src 底下

[root@linux ~]# cd /usr/local/src

[root@linux src]# tar -xzvf /tmp/etc.tar.gz

# 在預(yù)設(shè)的情況下,我們可以將壓縮檔在任何地方解開的!以這個范例來說,

# 我先將工作目錄變換到 /usr/local/src 底下,并且解開 /tmp/etc.tar.gz ,

# 則解開的目錄會在 /usr/local/src/etc 呢!另外,如果您進入 /usr/local/src/etc

# 則會發(fā)現(xiàn),該目錄下的檔案屬性與 /etc/ 可能會有所不同喔!

范例四:在 /tmp 底下,我只想要將 /tmp/etc.tar.gz 內(nèi)的 etc/passwd 解開而已

[root@linux ~]# cd /tmp

[root@linux tmp]# tar -xzvf /tmp/etc.tar.gz etc/passwd

# 我可以透過 tar -tzvf 來查閱 tarfile 內(nèi)的文件名稱,如果單只要一個檔案,

# 就可以透過這個方式來下達!注意到! etc.tar.gz 內(nèi)的根目錄 / 是被拿掉了!

范例五:將 /etc/ 內(nèi)的所有檔案備份下來,并且保存其權(quán)限!

[root@linux ~]# tar -czvpf /tmp/etc.tar.gz /etc

# 這個 -p 的屬性是很重要的,尤其是當您要保留原本檔案的屬性時!

范例六:在 /home 當中,比 2005/06/01 新的檔案才備份

[root@linux ~]# tar -N '2005/06/01' -czvf home.tar.gz /home

范例七:我要備份 /home, /etc ,但不要 /home/dmtsai

[root@linux ~]# tar --exclude /home/dmtsai -czvf myfile.tar.gz /home/* /etc

范例八:將 /etc/ 打包后直接解開在 /tmp 底下,而不產(chǎn)生檔案!

[root@linux ~]# cd /tmp

[root@linux tmp]# tar -cvf - /etc | tar -xvf -

# 這個動作有點像是 cp -r /etc /tmp 啦~依舊是有其有用途的!

# 要注意的地方在于輸出檔變成 - 而輸入檔也變成 - ,又有一個 | 存在~

# 這分別代表 standard output, standard input 與管線命令啦!

# 這部分我們會在 Bash shell 時,再次提到這個指令跟大家再解釋啰!

++++++++++++++++++++++++++++++++++++++++++++

補充:tar如何解壓文件到指定的目錄

tar czvf mysql.tar.gz /var/lib/mysql

壓縮的文件,我想解壓到當前目錄下,而不是絕對路徑下,該如何解壓?

tar cxvf mysql.tar.gz 的話,會覆蓋 /var/lib/mysql 下全部文件吧?我現(xiàn)在就一個表壞了,想單獨恢復(fù)一個表的資料,而不是恢復(fù)全部數(shù)據(jù)庫,所以要解壓到指定的目錄下,再把那個表資料找不來恢復(fù)。

============================================

#tar zxvf mysql.tar.gz -C /home/aaa

============================================

tar zxvf mysql.tar.gz -C /home/aaa

這樣的話,解壓后的目錄結(jié)構(gòu)是怎么樣的?

/home/aaa/var/lib/mysql 嗎?

============================================

試下就知道了....

============================================

歸檔里面的所有文件均是相對引用,歸檔解壓縮(釋放)在了當前目錄。歸檔文件總是釋放到當前目錄,為的是防止破壞文件系統(tǒng)中重名的文件。

所以,樓主的解壓縮不會覆蓋/var/lib/mysql,只會釋放在當前目錄先,即./var/lib/mysql如果想覆蓋的話,在歸檔和解壓時請使用-P參數(shù):

tar zcvf mysql.tar.gz -P /var/lib/mysql

tar -Pzxvf mysql.tar.gz


網(wǎng)頁題目:linux系統(tǒng)中命令詳解 linux命令及作用
轉(zhuǎn)載注明:http://weahome.cn/article/dopogdo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部