新聞中心
在Linux系統(tǒng)中,grep是一種非常實用的命令行工具,可以用來過濾和搜索文本內(nèi)容。本文將系統(tǒng)地介紹grep的常用命令,以便Linux初學者快速學習和掌握。

一、grep命令的基本用法
grep命令的基本語法為:
“`
grep [options] pattern [files]
“`
其中,[options]表示grep的可選參數(shù),[pattern]表示要查找的文本內(nèi)容,[files]表示要在哪些文件中進行查找。
例如,在當前目錄下查找所有包含“hello”關鍵字的文件,可以執(zhí)行以下命令:
“`
grep “hello” *
“`
這條命令將在當前目錄下查找所有文件,并輸出包含“hello”關鍵字的行。
二、grep命令的常用選項
grep命令有許多選項,下面介紹一些常用的選項:
1. -i
忽略大小寫。
例如:
“`
grep -i “hello” *
“`
這條命令將在當前目錄下查找所有文件,并輸出包含“hello”(不區(qū)分大小寫)關鍵字的行。
2. -v
不包含關鍵字。
例如:
“`
grep -v “hello” *
“`
這條命令將在當前目錄下查找所有文件,并輸出不包含“hello”關鍵字的行。
3. -w
只匹配完整單詞。
例如:
“`
grep -w “hello” *
“`
這條命令將在當前目錄下查找所有文件,并輸出包含“hello”作為完整單詞的行。
4. -n
輸出行號。
例如:
“`
grep -n “hello” *
“`
這條命令將在當前目錄下查找所有文件,并輸出包含“hello”關鍵字的行以及它們所在文件的行號。
5. -r
遞歸查找子目錄。
例如:
“`
grep -r “hello” .
“`
這條命令將在當前目錄及其子目錄下查找所有文件,并輸出包含“hello”關鍵字的行。
三、grep命令的高級用法
除了基本的選項,grep還支持一些更高級的用法,如正則表達式、多個關鍵字搜索等。
1. 正則表達式
grep支持基本的正則表達式語法,例如:
“`
grep -E “[0-9]+” *
“`
這條命令將在當前目錄下查找所有文件,并輸出包含至少一個數(shù)字的行。
2. 多個關鍵字搜索
可以通過使用管道符“|”來匹配多個關鍵字,例如:
“`
grep “hello\|world” *
“`
這條命令將在當前目錄下查找所有文件,并輸出包含“hello”或“world”關鍵字的行。
四、grep命令的實際應用場景
grep命令的實際應用場景非常廣泛,例如:
1.查找文本文件中的關鍵字。
通過使用grep命令可以快速地查找大型文本文件中的特定內(nèi)容,例如日志文件、配置文件等。
2.過濾輸出。
通過使用grep命令可以快速過濾輸出,例如在執(zhí)行命令之后通過管道符“|”將輸出傳遞給grep命令,對輸出進行過濾。
3.統(tǒng)計關鍵字出現(xiàn)次數(shù)。
通過使用grep命令以及其他shell命令可以快速統(tǒng)計某個關鍵字在文件中出現(xiàn)的次數(shù),例如:
“`
grep -c “hello” *
“`
這條命令將在當前目錄下查找所有文件,并輸出包含“hello”關鍵字的行數(shù)。
四、結論
grep命令在Linux系統(tǒng)中具有非常廣泛的應用,可以用來查找文本內(nèi)容、過濾輸出、統(tǒng)計關鍵字出現(xiàn)次數(shù)等。本文介紹了grep命令的基本用法、常用選項以及高級用法,希望能夠幫助Linux初學者快速學習和掌握grep命令的使用。
成都網(wǎng)站建設公司-創(chuàng)新互聯(lián),建站經(jīng)驗豐富以策略為先導10多年以來專注數(shù)字化網(wǎng)站建設,提供企業(yè)網(wǎng)站建設,高端網(wǎng)站設計,響應式網(wǎng)站制作,設計師量身打造品牌風格,熱線:028-86922220Linux文件相關命令
grep命令:
grep命令是非常重要的命令,可以對文本進行查找和搜索
常用參數(shù)如下:
常用實例:兆好
1、在多個文件中查找:
grep “file” file_1 file_2 file_3
2、輸出除之外的所有行 -v 選項:
grep -v “file” file_name
3、標記匹配顏色 –color=auto 選項:
grep “file” file_name –color=auto
4、使用正則表達式 -E 選項:
grep -E “+”
egrep “+”
5、只輸出文件中匹配到的部分 -o 選項:
echo this is a test line. | grep -o -E “+.”
line.
echo this is a test line. | egrep -o “+.”
line.
6、統(tǒng)計文件或者文本中包含匹配字符串的行數(shù)-c 選項:
grep -c “text” file_name
2
7、輸出包含匹配字符串的行數(shù) -n 選項:
grep “text” -n file_name
或
cat file_name | grep “text” -n
8、多個文件
grep “text” -n file_1 file_2
9、搜索多個文件并查找匹配文本在哪些文件中:
grep -l “text” file1 file2 file3…
10、grep遞歸搜索文件
在多級目錄中對文本進行遞歸搜索:
grep “text” . -r -n
11、忽略匹配樣式中的字符大小寫:
echo “hello world” | grep -i “HELLO”
hello
12、選項 -e 指磨猜知定多個匹配樣式:
echo this is a text line | grep -e “is” -e “l(fā)ine” -o
is
line
13、也可以使用
-f
選項來匹配多個樣式,在樣式文件中逐行寫出需要匹配的字符。
cat patfile
aaa
bbb
echo aaa bbb ccc ddd eee | grep -f patfile -o
14、在grep搜索結果中包括或者排除指定文件:
只在目錄中所瞎消有的.php和.html文件中遞歸搜索字符”main()”
grep “main()” . -r –include *.{php,html}
15、在搜索結果中排除所有README文件
grep “main()” . -r –exclude “README”
16、在搜索結果中排除filelist文件列表里的文件
grep “main()” . -r –exclude-from filelist
touch abc.txt 創(chuàng)建一個名為abc.txt的文件
touch -r 指定文件時間與參考文件相同
touch -t.55 abc.txt 更改文件為指定的時間
touch temp 創(chuàng)建一個名為temp的文件
vi編輯器有三種模式,命令行模式、編輯模式、底行模式。
vi 文件名進入命令行模式,Insert進入編輯模式,編輯完成Esc退出編輯模式,:wq進入底行模式并保存修改,:q直接退出保存。
tar命令用于打包壓縮文件,常用的壓縮命令還有bzip2,gzip
bunzip2 file1.bz2 解壓一個叫做 ‘file1.bz2’的文件
bzip2 file1 壓縮一個叫做 ‘file1’ 的文件
gunzip file1.gz 解壓一個叫做 ‘file1.gz’的文件
gzip file1 壓縮一個叫做 ‘file1’的文件
gzip -9 file1 更大程度壓縮
rar a file1.rar test_file 創(chuàng)建一個叫做 ‘file1.rar’ 的包
rar a file1.rar file1 file2 dir1 同時壓縮 ‘file1’, ‘file2’ 以及目錄 ‘dir1’
rar x file1.rar 解壓rar包
unrar x file1.rar 解壓rar包
tar -cvf archive.tar file1 創(chuàng)建一個非壓縮的 tarball
tar -cvf archive.tar file1 file2 dir1 創(chuàng)建一個包含了 ‘file1’, ‘file2’ 以及 ‘dir1’的檔案文件
tar -tf archive.tar 顯示一個包中的內(nèi)容
tar -xvf archive.tar 釋放一個包
tar -xvf archive.tar -C /tmp 將壓縮包釋放到 /tmp目錄下
tar -cvfj archive.tar.bz2 dir1 創(chuàng)建一個bzip2格式的壓縮包
tar -xvfj archive.tar.bz2 解壓一個bzip2格式的壓縮包
tar -cvfz archive.tar.gz dir1 創(chuàng)建一個gzip格式的壓縮包
tar -xvfz archive.tar.gz 解壓一個gzip格式的壓縮包
zip file1.zip file1 創(chuàng)建一個zip格式的壓縮包
zip -r file1.zip file1 file2 dir1 將幾個文件和目錄同時壓縮成一個zip格式的壓縮包
unzip file1.zip 解壓一個zip格式壓縮包
which命令用于用戶查找命令所有路徑
命令格式
file命令用于獲取文件屬性
命令格式
file 文件名或目錄名
命令示例:
使用說明
命令格式:cat fileName
cat file1 從之一個字節(jié)開始正向查看文件的內(nèi)容
-n 或 –number:由 1 開始對所有輸出的行數(shù)編號。
-b 或 –number-nonblank:和 -n 相似,只不過對于空白行不編號。
-s 或 –squeeze-blank:當遇到有連續(xù)兩行以上的空白行,就代換為一行的空白行。
-v 或 –show-nonprinting:使用 ^ 和 M- 符號,除了 LFD 和 TAB 之外。
-E 或 –show-ends : 在每行結束處顯示 $。
-T 或 –show-tabs: 將 TAB 字符顯示為 ^I。
-A, –show-all:等價于 -vET。
-e:等價于”-vE”選項;
-t:等價于”-vT”選項;
使用示例
把 textfile1 的文檔內(nèi)容加上行號后輸入 textfile2 這個文檔里
cat -n textfile1 > textfile2
把 textfile1 和 textfile2 的文檔內(nèi)容加上行號(空白行不加)之后將內(nèi)容附加到 textfile3 文檔里
cat -b textfile1 textfile2 >> textfile3
清空 /etc/test.txt 文檔內(nèi)容
cat /dev/null > /etc/test.txt
tac
從最后一行開始反向查看一個文件的內(nèi)容,ac與cat命令剛好相反,文件內(nèi)容從最后一行開始顯示,可以看出 tac 是 cat 的倒著寫。
nl 文件
選項與參數(shù):
-b: 指定行號指定的方式,主要有兩種:
-b a :表示不論是否為空行,也同樣列出行號(類似 cat -n);
-b t :如果有空行,空的那一行不要列出行號(默認值);
-n :列出行號表示的方法,主要有三種:
-n ln :行號在熒幕的最左方顯示;
-n rn :行號在自己欄位的最右方顯示,且不加 0 ;
-n rz :行號在自己欄位的最右方顯示,且加 0 ;
-w :行號欄位的占用的位數(shù)。
more file1 查看一個長文件的內(nèi)容,支持一頁一頁翻動
運行的時候,支持以下幾個按鍵:
空白鍵 (space):代表向下翻一頁;
Enter:代表向下翻『一行』;
/字串:代表在這個顯示的內(nèi)容當中,向下搜尋『字串』這個關鍵字;
:f:立刻顯示出檔名以及目前顯示的行數(shù);
q:代表立刻離開 more ,不再顯示該文件內(nèi)容。
b 或 -b :代表往回翻頁,不過這動作只對文件有用,對管線無用。
less file1 類似于 ‘more’ 命令,但是它允許在文件中和正向操作一樣的反向操作
less運行時可以輸入的命令有:
空白鍵 :向下翻動一頁;
:向下翻動一頁;
:向上翻動一頁;
/字串 :向下搜尋『字串』的功能;
?字串 :向上搜尋『字串』的功能;
n:重復前一個搜尋 (與 / 或 ? 有關!)
N:反向的重復前一個搜尋 (與 / 或 ? 有關!)
q:離開 less 這個程序;
head
head -2 file1 查看一個文件的前兩行
tail
tail -2 file1 查看一個文件的最后兩行
tail -f /var/log/messages 實時查看被添加到一個文件中的內(nèi)容
文件權限列中三位為一組,分別代表相關的用戶、組、其它用戶的權限
權限列中三位為一組,分別代表相關的用戶、組、其它用戶的權限
所以修改權限可以分別修改或一同修改,系統(tǒng)中權限分為數(shù)字權限與字符權限
數(shù)字權限:r=4,w=2,x=1
字符權限:+ 增加 -去除 a取消所有加上給定的
修改權限的命令chmod,命令格式:
chmod 權限 文件名或目錄名 修改權限格式
chmod -R 權限 目錄名 遞歸將目錄及其下面所有內(nèi)容權限全部修改
chown 改變文件或目錄的屬主(所有者)
chown 用戶名 文件名或目錄名
chown 用戶名.組名 文件名或目錄名
修改所屬組也可用chgrp 命令來完成
當你用ls -l 查看到文件的屬主、屬組為數(shù)字時,就表明該文件的創(chuàng)建用戶已被刪除。
文件的特殊權限
chattr +i(-i) 文件名 鎖定文件(取消鎖定)不可刪除與清空
chattr +a(-a) 文件名 添加內(nèi)容(只可添加內(nèi)容)
使用lsattr 文件名 查看文件的特殊權限
由此可以看出
root用戶默認創(chuàng)建的目錄權限是755,文件權限是644
普通用戶默認創(chuàng)建的目錄權限是775,文件權限是664
這也是系統(tǒng)默認的比較安全的權限分配,其實這些默認權限全部都是由umask值來決定的
系統(tǒng)規(guī)定了
文件的權限值是從666開始計算(默認權限=權限值-umask值)
目錄的權限值是從777開始計算(默認權限=權限值-umask值)
Linux命令大全
linux命令格式:
說明:command: 命令名,相應功能的英文單詞或單詞的縮寫 :選項,可用來對命令進行控制,也可以省略,或激攜代表可選 parameter1 …:傳給命令的參數(shù):可以是零個一個或多個
一般是linux命令自帶的幫助信息
如:
man是linux提供的一個手冊,包含了絕大部分的命令、函數(shù)使用說明
該手冊分成很多章節(jié)(section),使用man時可以指定不同的章節(jié)來瀏覽。
例:man ls ; man 2 printf
man中各個section意義如下:
man是按照手冊的章節(jié)號的順序進行搜索的。
man設置了如下的衫伏功能鍵:
在敲出命令的前幾個字母的同時,按下tab鍵,系統(tǒng)會自動幫我們補全命令
當系統(tǒng)執(zhí)行過一些命令后,可按上下鍵翻看以前的命令,history將執(zhí)行過的命令列舉出來
ls是英文單詞list的簡寫,其功能為列出目錄的內(nèi)容,是用戶最常用的命令之一,它類似于DOS下的dir命令。
Linux文件或者目錄名稱最長可以有265個字符,“.”代表當前目錄,“..”代表上一級目錄,以“.”開頭的文件為隱藏文件,需要用 -a 參數(shù)才能顯示。
ls常用參數(shù):
Linux允許將命令執(zhí)行結果重定向到一個文件,本應顯示在終端上的內(nèi)容保存到指定文件中。
如:ls > test.txt ( test.txt 如果不存在,則創(chuàng)建,存在則覆蓋其內(nèi)容 )
注意: >輸出重定向會覆蓋原來的內(nèi)容,>>輸出重定向則會追加到文件的尾部。
查看內(nèi)容時,在信息過長無法在一屏上顯示時,會出現(xiàn)快速滾屏,使得用戶無法看清文件的內(nèi)容,此時可以使用more命令,每次只顯示一頁,按下空格鍵可以顯示下一頁,按下q鍵退出顯示,按下h鍵可以獲取幫助。
管道:一個命令的輸出可以通過管道做為另一個命令的輸入。
管道我們可以理解現(xiàn)實生活中的管子,管子的一頭塞東西進去,另一頭取出來,這里“ | ”的左右分為兩端,左端塞東西(寫),右端取東西(讀)。
clear作用為清除終端上的顯示(類似于DOS的cls清屏功能),也可使用快捷鍵:Ctrl + l ( “l(fā)” 為字母 )。
在使用Unix/Linux的時候,經(jīng)常需要更換工作目錄。cd命令可以幫助用戶切換工作目錄。Linux所有的目錄和文件名大小寫敏感
cd后鉛弊面可跟絕對路徑,也可以跟相對路徑。如果省略目錄,則默認切換到當前用戶的主目錄。
使用pwd命令可以顯示當前的工作目錄,該命令很簡單,直接輸入pwd即可,后面不帶參數(shù)。
通過mkdir命令可以創(chuàng)建一個新的目錄。參數(shù)-p可遞歸創(chuàng)建目錄。
需要注意的是新建目錄的名稱不能與當前目錄中已有的目錄或文件同名,并且目錄創(chuàng)建者必須對當前目錄具有寫權限。
可使用rmdir命令刪除一個目錄。必須離開目錄,并且目錄必須為空目錄,不然提示刪除失敗。
可通過rm刪除文件或目錄。使用rm命令要小心,因為文件刪除后不能恢復。為了防止文件誤刪,可以在rm后使用-i參數(shù)以逐個確認要刪除的文件。
常用參數(shù)及含義如下表所示:
Linux鏈接文件類似于Windows下的快捷方式。
鏈接文件分為軟鏈接和硬鏈接。
軟鏈接:軟鏈接不占用磁盤空間,源文件刪除則軟鏈接失效。
硬鏈接:硬鏈接只能鏈接普通文件,不能鏈接目錄。
使用格式:
如果沒有-s選項代表建立一個硬鏈接文件,兩個文件占用相同大小的硬盤空間,即使刪除了源文件,鏈接文件還是存在,所以-s選項是更常見的形式。
注意:如果軟鏈接文件和源文件不在同一個目錄,源文件要使用絕對路徑,不能使用相對路徑。
Linux系統(tǒng)中grep命令是一種強大的文本搜索工具,grep允許對文本文件進行模式查找。如果找到匹配模式, grep打印包含模式的所有行。
grep一般格式為:
在grep命令中輸入字符串參數(shù)時,更好引號或雙引號括起來。例如:grep‘a(chǎn) ’1.txt。
常用選項說明:
find命令功能非常強大,通常用來在特定的目錄下搜索符合條件的文件,也可以用來搜索特定用戶屬主的文件。
常用用法:
cp命令的功能是將給出的文件或目錄復制到另一個文件或目錄中,相當于DOS下的copy命令。
常用選項說明:
用戶可以使用mv命令來移動文件或目錄,也可以給文件或目錄重命名。
常用選項說明:
計算機中的數(shù)據(jù)經(jīng)常需要備份,tar是Unix/Linux中最常用的備份工具,此命令可以把一系列文件歸檔到一個大文件中,也可以把檔案文件解開以恢復數(shù)據(jù)。
tar使用格式 tar 打包文件名 文件
tar命令很特殊,其參數(shù)前面可以使用“-”,也可以不使用。
常用參數(shù):
tar與gzip命令結合使用實現(xiàn)文件打包、壓縮。 tar只負責打包文件,但不壓縮,用gzip壓縮tar打包后的文件,其擴展名一般用xxxx.tar.gz。
gzip使用格式如下:
gzip 被壓縮文件
常用選項:
tar與bzip2命令結合使用實現(xiàn)文件打包、壓縮(用法和gzip一樣)。
tar只負責打包文件,但不壓縮,用bzip2壓縮tar打包后的文件,其擴展名一般用xxxx.tar.gz2。
在tar命令中增加一個選項(-j)可以調(diào)用bzip2實現(xiàn)了一個壓縮的功能,實行一個先打包后壓縮的過程。
壓縮用法:tar -jcvf 壓縮包包名 文件…(tar jcvf bk.tar.bz2 *.c)
解壓用法:tar -jxvf 壓縮包包名 (tar jxvf bk.tar.bz2)
通過zip壓縮文件的目標文件不需要指定擴展名,默認擴展名為zip。
壓縮文件:zip 目標文件(沒有擴展名) 源文件
解壓文件:unzip -d 解壓后目錄文件 壓縮文件
whoami該命令用戶查看當前系統(tǒng)當前賬號的用戶名??赏ㄟ^cat /etc/passwd查看系統(tǒng)用戶信息。
由于系統(tǒng)管理員通常需要使用多種身份登錄系統(tǒng),例如通常使用普通用戶登錄系統(tǒng),然后再以su命令切換到root身份對傳統(tǒng)進行管理。這時候就可以使用whoami來查看當前用戶的身份。
who命令用于查看當前所有登錄系統(tǒng)的用戶信息。
常用選項:
如果是圖形界面,退出當前終端;
如果是使用ssh遠程登錄,退出登陸賬戶;
如果是切換后的登陸用戶,退出則返回上一個登陸賬號。
在Unix/Linux中添加用戶賬號可以使用adduser或useradd命令,因為adduser命令是指向useradd命令的一個鏈接,因此,這兩個命令的使用格式完全一樣。
useradd命令的使用格式如下:
useradd 新建用戶賬號
在Unix/Linux中,超級用戶可以使用passwd命令為普通用戶設置或修改用戶口令。用戶也可以直接使用該命令來修改自己的口令,而無需在命令后面使用用戶名。
可以通過su命令切換用戶,su后面可以加“-”。su和su –命令不同之處在于,su -切換到對應的用戶時會將當前的工作目錄自動轉換到切換后的用戶主目錄:
注意:如果是ubuntu平臺,需要在命令前加“sudo”,如果在某些操作需要管理員才能操作,ubuntu無需切換到root用戶即可操作,只需加“sudo”即可。sudo是ubuntu平臺下允許系統(tǒng)管理員讓普通用戶執(zhí)行一些或者全部的root命令的一個工具,減少了root 用戶的登陸和管理時間,提高了安全性。
方法一:
方法二:
groupadd 新建組賬號 groupdel 組賬號 cat /etc/group 查看用戶組
使用方法:usermod -g 用戶組 用戶名
新創(chuàng)建的用戶,默認不能sudo,需要進行一下操作
-g用來制定這個用戶默認的用戶組
-G一般配合’-a’來完成向其它組添加
chmod 修改文件權限有兩種使用格式:字母法與數(shù)字法。
字母法:chmod u/g/o/a +/-/= rwx 文件
cal命令用于查看當前日歷,-y顯示整年日歷
設置時間格式(需要管理員權限):
date YY>> +format
CC為年前兩位yy為年的后兩位,前兩位的mm為月,后兩位的mm為分鐘,dd為天,hh為小時,ss為秒。如: date.55。
顯示時間格式(date ‘+%y,%m,%d,%H,%M,%S’):
進程是一個具有一定獨立功能的程序,它是操作系統(tǒng)動態(tài)執(zhí)行的基本單元。
ps命令可以查看進程的詳細狀況,常用選項(選項可以不加“-”)如下:
top命令用來動態(tài)顯示運行中的進程。top命令能夠在運行后,在指定的時間間隔更新顯示信息??梢栽谑褂胻op命令時加上-d 來指定顯示信息更新的時間間隔。
在top命令執(zhí)行后,可以按下按鍵得到對顯示的結果進行排序:
kill命令指定進程號的進程,需要配合 ps 使用。有些進程不能直接殺死,這時候我們需要加一個參數(shù)“ -9 ”,“ -9 ” 代表強制結束.
使用格式:
kill pid
df命令用于檢測文件系統(tǒng)的磁盤空間占用和空余情況,可以顯示所有文件系統(tǒng)對節(jié)點和磁盤塊的使用情況。
du命令用于統(tǒng)計目錄或文件所占磁盤空間的大小,該命令的執(zhí)行結果與df類似,du更側重于磁盤的使用狀況。
du命令的使用格式如下: du 目錄或文件名linux中grep常用命令的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關于linux中grep常用命令,Linux中grep常用命令學習總結,Linux文件相關命令,Linux命令大全的信息別忘了在本站進行查找喔。
創(chuàng)新互聯(lián)【028-86922220】值得信賴的成都網(wǎng)站建設公司。多年持續(xù)為眾多企業(yè)提供成都網(wǎng)站建設,成都品牌建站設計,成都高端網(wǎng)站制作開發(fā),SEO優(yōu)化排名推廣服務,全網(wǎng)營銷讓企業(yè)網(wǎng)站產(chǎn)生價值。
新聞名稱:Linux中grep常用命令學習總結(linux中grep常用命令)
標題URL:http://fisionsoft.com.cn/article/cdddpod.html


咨詢
建站咨詢
