知道怎么增刪改查就算是入門了。因?yàn)檫@是最常用的。

成都創(chuàng)新互聯(lián)專注于企業(yè)營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、奉賢網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、html5、商城系統(tǒng)網(wǎng)站開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為奉賢等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
在使用linux時(shí),經(jīng)常需要進(jìn)行文件查找。其中查找的命令主要有find和grep。兩個(gè)命令是有區(qū)別的。
區(qū)別:(1)find命令是根據(jù)文件的屬性進(jìn)行查找,如文件名,文件大小,所有者,所屬組,是否為空,訪問(wèn)時(shí)間,修改時(shí)間等。
? ? ? ? ? (2)grep是根據(jù)文件的內(nèi)容進(jìn)行查找,會(huì)對(duì)文件的每一行按照給定的模式(patter)進(jìn)行匹配查找。
一.find命令
基本格式:find? path expression
1.按照文件名查找
(1)find / -name httpd.conf#在根目錄下查找文件httpd.conf,表示在整個(gè)硬盤查找
(2)find /etc -name httpd.conf#在/etc目錄下文件httpd.conf
(3)find /etc -name '*srm*'#使用通配符*(0或者任意多個(gè))。表示在/etc目錄下查找文件名中含有字符串‘srm’的文件
(4)find . -name 'srm*' #表示當(dāng)前目錄下查找文件名開(kāi)頭是字符串‘srm’的文件
2.按照文件特征查找
(1)find / -amin -10 # 查找在系統(tǒng)中最后10分鐘訪問(wèn)的文件(access time)
(2)find / -atime -2 # 查找在系統(tǒng)中最后48小時(shí)訪問(wèn)的文件
(3)find / -empty # 查找在系統(tǒng)中為空的文件或者文件夾
(4)find / -group cat # 查找在系統(tǒng)中屬于 group為cat的文件
(5)find / -mmin -5 # 查找在系統(tǒng)中最后5分鐘里修改過(guò)的文件(modify time)
(6)find / -mtime -1 #查找在系統(tǒng)中最后24小時(shí)里修改過(guò)的文件
(7)find / -user fred #查找在系統(tǒng)中屬于fred這個(gè)用戶的文件
(8)find / -size +10000c#查找出大于10000000字節(jié)的文件(c:字節(jié),w:雙字,k:KB,M:MB,G:GB)
(9)find / -size -1000k #查找出小于1000KB的文件
3.使用混合查找方式查找文件
參數(shù)有: !,-and(-a),-or(-o)。
(1)find /tmp -size +10000c -and -mtime +2 #在/tmp目錄下查找大于10000字節(jié)并在最后2分鐘內(nèi)修改的文件
? (2)find / -user fred -or -user george #在/目錄下查找用戶是fred或者george的文件文件
? (3)find /tmp ! -user panda#在/tmp目錄中查找所有不屬于panda用戶的文件
二、grep命令
? 基本格式:find? expression
1.主要參數(shù)
[options]主要參數(shù):
-c:只輸出匹配行的計(jì)數(shù)。
-i:不區(qū)分大小寫
-h(huán):查詢多文件時(shí)不顯示文件名。
-l:查詢多文件時(shí)只輸出包含匹配字符的文件名。
-n:顯示匹配行及行號(hào)。
-s:不顯示不存在或無(wú)匹配文本的錯(cuò)誤信息。
-v:顯示不包含匹配文本的所有行。
pattern正則表達(dá)式主要參數(shù):
\: 忽略正則表達(dá)式中特殊字符的原有含義。
^:匹配正則表達(dá)式的開(kāi)始行。
$: 匹配正則表達(dá)式的結(jié)束行。
\:從匹配正則表達(dá) 式的行開(kāi)始。
\:到匹配正則表達(dá)式的行結(jié)束。
[ ]:?jiǎn)蝹€(gè)字符,如[A]即A符合要求 。
[ - ]:范圍,如[A-Z],即A、B、C一直到Z都符合要求 。
.:所有的單個(gè)字符。
* :有字符,長(zhǎng)度可以為0。
2.實(shí)例
(1)grep 'test' d*#顯示所有以d開(kāi)頭的文件中包含 test的行
(2)grep ‘test’ aa bb cc #顯示在aa,bb,cc文件中包含test的行
(3)grep ‘[a-z]\{5\}’ aa #顯示所有包含每行字符串至少有5個(gè)連續(xù)小寫字符的字符串的行
(4)grep magic /usr/src#顯示/usr/src目錄下的文件(不含子目錄)包含magic的行
(5)grep -r magic /usr/src#顯示/usr/src目錄下的文件(包含子目錄)包含magic的行
(6)grep -w pattern files :只匹配整個(gè)單詞,而不是字符串的一部分(如匹配’magic’,而不是’magical’),
查看文件內(nèi)容的命令:
cat? ? 由第一行開(kāi)始顯示內(nèi)容,并將所有內(nèi)容輸出
tac? ? 從最后一行倒序顯示內(nèi)容,并將所有內(nèi)容輸出
more? ? 根據(jù)窗口大小,一頁(yè)一頁(yè)的現(xiàn)實(shí)文件內(nèi)容
less? ? 和more類似,但其優(yōu)點(diǎn)可以往前翻頁(yè),而且進(jìn)行可以搜索字符
head? ? 只顯示頭幾行
tail? ? 只顯示最后幾行
nl? ? ? 類似于cat -n,顯示時(shí)輸出行號(hào)
tailf? 類似于tail -f
1.cat 與 tac
cat的功能是將文件從第一行開(kāi)始連續(xù)的將內(nèi)容輸出在屏幕上。但是cat并不常用,原因是當(dāng)文件大,行數(shù)比較多時(shí),屏幕無(wú)法全部容下時(shí),只能看到一部分內(nèi)容。
cat語(yǔ)法:cat [-n]? 文件名 (-n : 顯示時(shí),連行號(hào)一起輸出)
tac的功能是將文件從最后一行開(kāi)始倒過(guò)來(lái)將內(nèi)容數(shù)據(jù)輸出到屏幕上。我們可以發(fā)現(xiàn),tac實(shí)際上是cat反過(guò)來(lái)寫。這個(gè)命令也不常用。
tac語(yǔ)法:tac 文件名。
2.more和less(常用)
more的功能是將文件從第一行開(kāi)始,根據(jù)輸出窗口的大小,適當(dāng)?shù)妮敵鑫募?nèi)容。當(dāng)一頁(yè)無(wú)法全部輸出時(shí),可以用“回車鍵”向下翻行,用“空格鍵”向下翻頁(yè)。退出查看頁(yè)面,請(qǐng)按“q”鍵。另外,more還可以配合管道符“|”(pipe)使用,例如:ls -al | more
more的語(yǔ)法:more 文件名
Enter 向下n行,需要定義,默認(rèn)為1行;
Ctrl f 向下滾動(dòng)一屏;
空格鍵 向下滾動(dòng)一屏;
Ctrl b 返回上一屏;
= 輸出當(dāng)前行的行號(hào);
:f 輸出文件名和當(dāng)前行的行號(hào);
v 調(diào)用vi編輯器;
! 命令 調(diào)用Shell,并執(zhí)行命令;
q 退出more
less的功能和more相似,但是使用more無(wú)法向前翻頁(yè),只能向后翻。
less可以使用【pageup】和【pagedown】鍵進(jìn)行前翻頁(yè)和后翻頁(yè),這樣看起來(lái)更方便。
less的語(yǔ)法:less 文件名
less還有一個(gè)功能,可以在文件中進(jìn)行搜索你想找的內(nèi)容,假設(shè)你想在passwd文件中查找有沒(méi)有weblogic字符串,那么你可以這樣來(lái)做:
[root@redhat etc]# less passwd
然后輸入:
/weblogic
回車
此時(shí)如果有weblogic字符串,linux會(huì)把該字符已高亮方式顯示。
退出查看頁(yè)面,請(qǐng)按“q”鍵。
3.head和tail
head和tail通常使用在只需要讀取文件的前幾行或者后幾行的情況下使用。head的功能是顯示文件的前幾行內(nèi)容
head的語(yǔ)法:head [n number] 文件名 (number 顯示行數(shù))
tail的功能恰好和head相反,只顯示最后幾行內(nèi)容
tail的語(yǔ)法:tail [-n number] 文件名
4.nl
nl的功能和cat -n一樣,同樣是從第一行輸出全部?jī)?nèi)容,并且把行號(hào)顯示出來(lái)
nl的語(yǔ)法:nl 文件名
1、vi
vi 1.txt 會(huì)直接創(chuàng)建并打開(kāi)一個(gè)文件1.txt
2、touch
touch的作用是更改一個(gè)文件或目錄的時(shí)間。touch 2.txt 如果2.txt不存在,則創(chuàng)建空文件2.txt
3、echo
echo “abcd” 3.txt 可以直接創(chuàng)建文件3.txt并將abcd寫入。
4、less 、more 、cat
三者都是將文件內(nèi)容輸出到標(biāo)準(zhǔn)輸出,其中l(wèi)ess和more可以分頁(yè)顯示,cat是顯示全部。
三者可以根據(jù)已經(jīng)存在的文件創(chuàng)建新的文件。假設(shè)已經(jīng)存在文件1.txt。
cat 1.txt 2.txt
less 1.txt 3.txt
more 1.txt 4.txt
此時(shí)創(chuàng)建的文件內(nèi)容都和1.txt中文件內(nèi)容相同。
rm -f 文件名
-f? 表示強(qiáng)制
將會(huì)強(qiáng)行刪除文件,且無(wú)提示
功能說(shuō)明:刪除文件或目錄。
語(yǔ)法:rm [-dfirv][--help][--version][文件或目錄...]
補(bǔ)充說(shuō)明:執(zhí)行rm指令可刪除文件或目錄,如欲刪除目錄必須加上參數(shù)”-r”,否則預(yù)設(shè)僅會(huì)刪除文件。
參數(shù):
-d或–directory 直接把欲刪除的目錄的硬連接數(shù)據(jù)刪成0,刪除該目錄。
-f或–force 強(qiáng)制刪除文件或目錄。
-i或–interactive 刪除既有文件或目錄之前先詢問(wèn)用戶。
-r或-R或–recursive 遞歸處理,將指定目錄下的所有文件及子目錄一并處理。
-v或–verbose 顯示指令執(zhí)行過(guò)程。
將目錄A重命名為B
mv A B
方法一:
命令是:vi,vim
vi 編輯器,相當(dāng)于記事本,有編輯功能,但較弱
vim 復(fù)雜的編輯器,相當(dāng)于windows的 editplus, notepad++ 等
------------------------
步驟:
1、執(zhí)行 vi world.txt? 進(jìn)入編輯器(默認(rèn)命令模式),
2、點(diǎn)擊a或i進(jìn)入編輯模式,敲入內(nèi)容:hello linux world !
3、然后按鍵盤上的esc鍵退出編輯模式(進(jìn)入到命令模式),
4、最后敲冒號(hào):,
5、再敲wq保存并退出。
-------
wq解釋為:write quite
不想保存,q
強(qiáng)制退出 q!
方法二
對(duì)于簡(jiǎn)單的,使用 echo 打印命令。
echo "字符串",功能:在屏幕上打印 字符串。
用 echo? 或 echo ? 導(dǎo)入到文件里。
echo 'hello linux' /data/hello.txt? 這個(gè)在企業(yè)里很常用:?jiǎn)涡袃?nèi)容追加到文件結(jié)尾。
一個(gè)大于號(hào),是覆蓋重定向,會(huì)清除文件里的所有以前數(shù)據(jù),增加新數(shù)據(jù)。
兩個(gè)大于號(hào),是追加重定向,文件結(jié)尾加入內(nèi)容,不會(huì)刪除已有文件的內(nèi)容。
方法三:特殊用法使用cat
cat/data/hello.txt
hello world world
EOF
----------
EOF要成對(duì)出現(xiàn),且是增加的內(nèi)容里沒(méi)有的,EOF可以被任意成對(duì)內(nèi)容替換。
cat 是查看文件內(nèi)容的命令
一個(gè)進(jìn)程默認(rèn)會(huì)打開(kāi)標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出、錯(cuò)誤輸出三個(gè)文件描述符
文件描述符為0,小于號(hào)表示數(shù)據(jù)由文件流入命令
usage:
命令 file
#加入輸入重定向,對(duì)輸入文件進(jìn)行計(jì)數(shù)
wc -l /etc/passwd
文件描述符為1,大于號(hào)表述數(shù)據(jù)由命令流入文件
所以: echo "hello" t.log 也可以寫成 echo "hello" 1 t.log
會(huì)把文件的內(nèi)容清空,再輸入到新的文件
會(huì)把當(dāng)前內(nèi)容保持不變,然后在下一行進(jìn)行追加
2 錯(cuò)誤重定向,如果當(dāng)前命令產(chǎn)生了錯(cuò)誤,會(huì)把錯(cuò)誤重定向到文件中,而不會(huì)打印到屏幕
無(wú)論內(nèi)容正確還是錯(cuò)誤都會(huì)把文件輸出到文件中。
stderr的文件描述符為2,Unix程序會(huì)向stderr流中寫入錯(cuò)誤信息。
默認(rèn)情況下, command file 將stdout 重定向到 file, command file 將stdin 重定向到 file。
如果希望 stderr 重定向到 file,可以這樣寫:
$ command 2file
如果希望 stderr 追加到 file 文件末尾,可以這樣寫:
$ command 2file 2 表示標(biāo)準(zhǔn)錯(cuò)誤文件(stderr)
如果希望將 stdout 和 stderr 合并后重定向到 file,可以這樣寫:
$ command file 21 或者 $ command file 21
如果希望對(duì) stdin 和 stdout 都重定向,可以這樣寫:
$ command file1 file2
command 命令將 stdin 重定向到 file1,將 stdout 重定向到 file2。
含義:將標(biāo)準(zhǔn)錯(cuò)誤輸出 重定向到 標(biāo)準(zhǔn)輸出。
符號(hào)是一個(gè)整體,不可分開(kāi),分開(kāi)后就不是上述含義了。
比如有些人可能會(huì)這么想:2是標(biāo)準(zhǔn)錯(cuò)誤輸入,1是標(biāo)準(zhǔn)輸出,是重定向符號(hào),那么"將標(biāo)準(zhǔn)錯(cuò)誤輸出重定向到標(biāo)準(zhǔn)輸出"是不是就應(yīng)該寫成"21"就行了?是這樣嗎? 如果是嘗試過(guò),你就知道21的寫法其實(shí)是將標(biāo)準(zhǔn)錯(cuò)誤輸出重定向到名為"1"的文件里去了
1、輸入輸出的區(qū)別:
和都屬于輸出重定向,屬于輸入重定向。
2、文件內(nèi)容的區(qū)別:
會(huì)覆蓋目標(biāo)的原有內(nèi)容。當(dāng)文件存在時(shí)會(huì)先刪除原文件,再重新創(chuàng)建文件,然后把內(nèi)容寫入該文件;否則直接創(chuàng)建文件。
會(huì)在目標(biāo)原有內(nèi)容后追加內(nèi)容。當(dāng)文件存在時(shí)直接在文件末尾進(jìn)行內(nèi)容追加,不會(huì)刪除原文件;否則直接創(chuàng)建文件。
輸出重定向:將一條命令執(zhí)行結(jié)果(標(biāo)準(zhǔn)輸出,或者錯(cuò)誤輸出,本來(lái)都要打印到屏幕上面的)重定向其它輸出設(shè)備(文件,打開(kāi)文件操作符,或打印機(jī)等等)。
輸入重定向:命令默認(rèn)從鍵盤獲得的輸入,改成從文件,或者其它打開(kāi)文件以及設(shè)備的輸入。
擴(kuò)展資料
當(dāng)執(zhí)行shell命令時(shí),會(huì)默認(rèn)打開(kāi)3個(gè)文件,每個(gè)文件有對(duì)應(yīng)的文件描述符來(lái)方便我們使用:
當(dāng)使用輸出重定向和前面如果不加數(shù)字則默認(rèn)為1,即和1,和1分別相同。如果使用數(shù)字2可以將錯(cuò)誤的輸出寫入到文件中。使用2或者2時(shí)前面必須是錯(cuò)誤的命令。
這個(gè)是將輸出內(nèi)容追加到目標(biāo)文件中。如果文件不存在,就創(chuàng)建文件;如果文件存在,則將新的內(nèi)容追加到那個(gè)文件的末尾,該文件中的原有內(nèi)容不受影響
將分界符之后直至下一個(gè)同樣的分界符之前的所有內(nèi)容都作為輸入,遇到下一個(gè)分界符,shell就知道輸入結(jié)束了,例如
fish@mangos:~$ cat EOF
First Line
Second Line
Third Line EOF
EOF
First Line
Second Line
Third Line EOF
網(wǎng)站欄目:Linux大于號(hào)的命令 linux 大于號(hào)
網(wǎng)站鏈接:http://chinadenli.net/article22/dojohcc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、App開(kāi)發(fā)、Google、電子商務(wù)、網(wǎng)站營(yíng)銷、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容