Linux的VMWare中Centos7文件查找(find-grep)和vim文本編輯器基操


.find文件查找

grep 匹配字段 文件名 ——篩選文件  

find查找

 

語法參數示例

格式:

find 查找范圍 查找類型 參數

 

find / -name *.conf      按文件名查找

find / -size +100M        按文件大小查找+-表示大於、小於 單位:B K M G T P -o或 -and 和

find / -type f          按照類型查找,f:文件 d:目錄 l:軟連接

find / -inum 1333387              按照indoe編號查找

 

1、找出 /usr目錄下以.conf或.gz結尾的文件名

find /usr -name *.conf -o -name *.gz

 

2、找出/root目錄下大於等於50M的文件。

find /root -size +50M -o -size 50M

 

 

.grep 查找 命令

grep 命令用於查找文件里符合條件的字符串。

grep 指令用於查找內容包含指定的范本樣式的文件,如果發現某文件的內容符合所指定的范本樣式,預設 grep 指令會把含有范本樣式的那一列顯示出來。若不指定任何文件名稱,或是所給予的文件名為 -,則 grep 指令會從標准輸入設備讀取數據。

語法參數實例

grep [-abcEFGhHilLnqrsvVwxy][-A<顯示列數>][-B<顯示列數>][-C<顯示列數>][-d<進行動作>][-e<范本樣式>][-f<范本文件>][--help][范本樣式][文件或目錄...]

 

-E 或 --extended-regexp : 將樣式為延伸的正則表達式來使用。

-i 或 --ignore-case : 忽略字符大小寫的差別。

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

-n 或 --line-number : 在顯示符合樣式的那一行之前,標示出該行的列數編號。

-w 或 --word-regexp : 只顯示全字符合的列。

-C<顯示行數> 或 --context=<顯示行數>或-<顯示行數> : 除了顯示符合樣式的那一行之外,並顯示該行之前后的內容。

-o 或 --only-matching : 只顯示匹配PATTERN 部分。

-c 或 --count : 計算符合樣式的列數。

-a 或 --text : 不要忽略二進制的數據。

-A<顯示行數> 或 --after-context=<顯示行數> : 除了顯示符合范本樣式的那一列之外,並顯示該行之后的內容。

-b 或 --byte-offset : 在顯示符合樣式的那一行之前,標示出該行第一個字符的編號。

-B<顯示行數> 或 --before-context=<顯示行數> : 除了顯示符合樣式的那一行之外,並顯示該行之前的內容。

 

案例

1、在當前目錄中,查找后綴有 file 字樣的文件中包含 test 字符串的文件,並打印出該字符串的行。此時,可以使用如下命令:

grep test *file

結果如下所示:

grep test test* #查找前綴有“test”的文件包含“test”字符串的文件  

testfile1:This a Linux testfile! #列出testfile1 文件中包含test字符的行  

testfile_2:This is a linux testfile! #列出testfile_2 文件中包含test字符的行  

testfile_2:Linux test #列出testfile_2 文件中包含test字符的行

 

2、以遞歸的方式查找符合條件的文件。

查找指定目錄/etc/acpi 及其子目錄(如果存在子目錄的話)下所有文件中包含字符串"update"的文件,並打印出該字符串所在行的內容,

$ grep -r update /etc/acpi #以遞歸的方式查找“etc/acpi”  在#下包含“update”的文件  

/etc/acpi/ac.d/85-anacron.sh:# (Things like the slocate updatedb cause a lot of IO.)  

Rather than  

/etc/acpi/resume.d/85-anacron.sh:# (Things like the slocate updatedb cause a lot of  

IO.) Rather than

  

3、反向查找。

前面各個例子是查找並打印出符合條件的行,通過"-v"參數可以打印出不符合條件行的內容。

查找文件名中包含 test 的文件中不包含test 的行,

grep -v test *test*

 

結果如下所示:

$ grep-v test*     #查找文件名中包含test 的文件中不包含test 的行  

testfile1:helLinux!  

testfile1:Linis a free Unix-type operating system.  

testfile1:Lin  

testfile_1:HELLO LINUX!  

.Shell-命令執行

getty——agetty、mgetty

1.分類

可執行程序(外部命令)

shell內部命令

shell腳本程序

函數

別名 設置alias      取消:unalias

2.內置命令

命令集成於shell以內,系統中無對應的可執行程序。

內部命令無需編譯,可直接運行

help —查看內置命令幫助

3.外部命令

命令位於shell之外,有獨立的可執行程序

外部命令必須有shell編譯后才能執行

4.查看命令類別

whereis ls 查看命令所對應的的可執行程序的位置及命令幫助文檔位置

which ls 查看命令別名及可執行程序位置

type    查看命令為外部命令還是內部命令

wc:計數命令

ls -l /etc | grep ^d | wc -l   ^表示一行開頭位置

.vi(vim)文本文件編輯器 光標移動 刪除 替換 復制 重復 撤銷 查找

1.)2種啟動方式:

vi f1 編輯文本文件(f1存在)、創建(f1不存在),f1的路徑可以是絕對路徑,也可以是相對路徑

vi    vi創建臨時文件,寫命令執行時,將臨時文件的內容寫入制定的文件。當前目錄下創建.swap文件

退出:ESC鍵,然后按 :光標到最后一行,輸入 q! 回車,系統丟失所有修改的內容退出。

ESC鍵,然后按 :光標到屏幕底,輸入exit回車,vi保存修改內容退出。

2.)2種工作模式

1)命令模式:

識別單鍵或組合鍵命令,命令不顯示,但vi會按照命令在光標位置執行。最簡單的指令是移動光標,使用上、下、左、右箭頭。

2)插入模式:

添加文本內容。命令模式=>按A  a  I  i  O  o  鍵,進入插入模式后,即可增加文字,鍵盤成為打字機。結束時按ESC鍵(鍵盤的最左上鍵),返回到命令模式。

3.命令模式功能

命令模式的功能較多,主要有光標移動、文本內容刪除、文本內容修改替換,復制粘貼、重復撤銷等    

4.Vim 光標移動 以當前光標為起點。

單字符移動       

上下左右箭頭,h j k l,每次移動一個字符位置,前加數字可以跳多個字符。

字符塊移動

字符塊可以是單詞、句子、段落等

w(W) 每次向右移動一個塊,前加數字可以跳多個字(W表示標准字——用空格隔開)。

b(B) 向左移動一個塊(B表示標准字)。

注意:塊之間的分割,符號、標點被認為是一個塊

 

(  )  句子 sentence

{  }    段落 paragraph

[[   ]] 小節 section

 

行移動

0 行首

$ 行尾

^ 第一個不為空的位置

n|   指定第n個位置,n為數字,若超過新行符位置,同$

回車 + 下一行行首

-     前一行行首

退格鍵     前一個字符          

 

屏幕移動:

Ctrl+f(F) 正向跳一屏(向前翻)

Ctrl+b(B)反向跳一屏

Ctrl+D(d) 正向跳半屏

Ctrl+U (u)反向跳半屏

z+回車 光標行成為屏幕第一行

z+.    光標行成為屏幕中間行

z+-   光標行成為屏幕最后一行

H     屏幕第一行

M     屏中間行

L      屏幕底行      

--全文移動  

gg     文件開頭

G      文件末尾

nG     移動到第n行,n為數字

``     2個反引號)光標回原位(最近一次編輯動作之前的位置)

''     2個引號)光標回原位(最近一次編輯動作之前的位置)所在行的行首。     

                      

5.刪除:

x 刪除光標字符。

X 刪除光標前字符。         

d 刪除,前可加數字,后要有字符對象。

dw   dW   db  dB

dd 刪除一行

d$ 刪除到行尾

D  刪除到行尾(d$的簡式)

J  刪除行尾的新行符(合並行)

 

 

6.修改替換:

r  單字符替換

R  多字符多位置替換,中間可光標移動結束要用esc鍵 屏幕末行會出現“--REPLACE--”字樣。

c  替換(change),ESC結束,返回命令模式

cw 替換光標位右邊的字符塊w表示字符塊(同光標移動)

       cW           

       cb

       cB

       cc 替換整行

       ~  改變大小寫  

 

 

7.復制粘貼:

y 復制命令,前可加數字,后要有字符對象(參考d命令)

       yw  yW yb  yB  y$

 

yy 復制一行。簡寫 Y

p 粘貼到光標行的下一行       

P 粘貼到光標行的上一行

 

 

8.重復和撤銷:

u 撤銷

. 重復

 

 

9.查找:

fchar  本行查找,向行尾查找char字符,char為單字符。

Fchar  本行查找,向行頭查找char字符,char為單字符。

     本行再次查找,正向

     本行再次查找,逆向

/模式  全文正向查找   

?模式  全文反向查找

n      順向再次查找

N      逆向再次查找

 

 

10.顯示信息 退出vim文本編輯

Ctrl+g  在屏幕底部顯示按鍵時光標位信息,信息為當前行號+文件的總行數及當前行的百分比,列數。移動光標導致屏幕移動,則信息消失。

 

退出vi:

                ZZ  保存退出

                ZQ  不保存退出

 

 

11.命令行(末行)模式命令

調用集成的其它編輯器:又稱命令行模式或末行模式

        調用ex,結束調用ESC

    

ex行編輯器

ex是行編輯工具。是非常古老的行編輯器,是輸出設備為打印終端時代的編輯器。

執行下列命令使用ex行編輯器:

ex file1

 

ex顯示編輯的文件信息,包括文件名、行數和字符數,出現 :提示符,可以輸入命令來對文件file1進行編輯。ex編輯器不能自動將文件內容顯示在屏幕上。

Entering Ex mode.  Type "visual" to go to Normal mode

 

輸入: 1p 回車

系統將file1文件的第一行顯示出來,p是打印的意思。我們可以發現,:提示符總在屏幕的最底端。

末行模式的可用命令

:wq          保存退出

:q!            不保存退出

:w  filename      保存文件

:set  number          顯示行號

:set  nonumber        不顯示行號

:set  nowrapscan             不做卷軸式查找

:數字                   轉到指定的行數 

:set backup                       編輯前,自動創建備份文件,創建到同目錄下,且文件名+~

:1,3d                                  刪除文檔中的1-3行

:3,$d                                  從第三行刪除到結尾。$表示尾行,.表示當前行。

:s/name/hello                   當前行開始,查找name字段,將查到的第一匹配字段替換為hello,只替換一次。

:1,$  s/name/hello/g         替換指定字符

:1,$  s/hello/&abc/g          追加字符

:%s/hello/mello/g             全文替換


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM