Linux命令-vim文本編輯器|文件查找

一、vim文本編輯器

vi      vim      emacs   gedit

---------------------------------------------------------------------------------------- 

[root@bogon Desktop]# whereis vi

vi: /bin/vi /usr/share/man/man1p/vi.1p.gz/usr/share/man/man1/vi.1.gz

[root@bogon Desktop]# rpm -qf /bin/vi

vim-minimal-7.2.411-1.8.el6.x86_64

----------------------------------------------------------------------------------------

[root@bogon Desktop]# whereis vim

vim: /usr/bin/vim /usr/share/vim/usr/share/man/man1/vim.1.gz

[root@bogon Desktop]# rpm -qf /usr/bin/vim

vim-enhanced-7.2.411-1.8.el6.x86_64

----------------------------------------------------------------------------------------  

vim

[root@bogon Desktop]# vim -o /etc/passwd /opt/passwd  ----多個文本編輯

ctrl+ww     ----各個文本的切換


vim 模式:

1、輸入模式(插入模式) 

a     ----光標所在的後一個字符

A     ----光標所在的行尾

o     ----光標所在行的新起下一行

O    ----光標所在行的新起上一行

i      ----光標所在位置的前一個字符

I      ----光標所在行首

s     ----刪除光標所在字符進入

S     ----刪除光標所在行進入

r     ----替換一個字符

R    ----替換模式,替換所有字符知道輸入esc鍵退出替換模式


2、命令模式

yy     ----複製光標所在行內容

nyy   ----複製n行

p       ----粘貼(光標所在行的下一行)

P       ----粘貼在光標所在的上一行

dd    ----刪除光標所在行

ndd  ----刪除n行

gg    ----文本頭部

ngg  ----從頭部開始的n行

G   ----文本尾部

u   ----撤銷

x   ----向後刪除一個字符(delete)

X   ----向前刪除一個字符(baskspace)

快捷鍵:

HOME鍵   ----行首

END鍵       ----行尾

shift+^      ----行首

shift+$       ----行尾


h 左<--

l  右-->

k 上   

j  下

 

--ctrl+b 向上翻頁  = page up

--ctrl+f 向下翻頁  = page down

ctrl+d 向下移動半頁

ctrl+u 向上移動半頁

 

3、末行模式:

輸入:進入到末行模式

1)查找

2)保存

3)讀一個文本進入當前文本

       /關鍵字   ----向下查找

     ?關鍵字   ----向上查找

      n         ----向下匹配關鍵字

      N        ----向上匹配關鍵字

----------------------------------------------------------------------------------------

①臨時設置行號(臨時)

:set number    ----設置行號(臨時)

②永久設置行號

[root@bogon Desktop]# vim /etc/vimrc

        set number

[root@bogon Desktop]# source /etc/vimrc   ----設置即刻生效

[root@bogon Desktop]# . /etc/vimrc        ----同上

----------------------------------------------------------------------------------------

2)保存

:nohl    ----取消文本中的高亮提示

:w         ----保存

:w /opt/abc    ----另存爲

:1,10w /opt/abc   ----將文本前1到10行保存到/opt/abc 指定另存文本的行數

:wq        ----保存退出

:x         ----同上

:wq!      ----強制保存退出

:q         ----退出

:q!       ----強制退出

:e!       -----可以撤消所有的修改至打開文件的

:r         ----將另一個文本讀到當前光標所在位置的下一行


3)全文替換

:%s/content/newcontent/    -----全文中的每一行中的第一個匹配的content替換成newcontent

:%s/bin/sbin/        ----全文中的每一行裏的第一個bin被替換成sbin

:%s/bin/sbin/g      ----全文替換(所有找到的bin關鍵字全部被替換)

:%s/bin/sbin/gc    ----詢問式替換

:%s#/bin/bash#/sbin/nologin#gc

:10,20s/bin/sbin/gc     -----10-20行內的bin替換sbin(指定替換區間)

 

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


二、文件查找

1、locate:只提供文件名稱查找   ----支持正則表達式(通過特定符號來表示特定意義)

    通過查找數據庫表來找到文件位置。如果新建文件,數據庫表沒有更新就無法找到該文件。

    updatedb    ----更新數據庫表

    查找速度快,但是如果有新文件,需要更新數據庫表才能找到,locate 不會到/tmp /var/tmp 臨時目錄查找數據。


2、find    ----文件查找  支持多種查找方式

-name   ----以文件名作爲查找方式                 -type   ----以文件類型

-user   ----用戶                                 -group  ----組

-perm   ----權限                                 -uid    -gid

-atime  ----根據訪問時間查找    

find / -atime -3    ----查找3天內被訪問過的文件 ‘-’ 代表天數之內

-ctime  ----根據改變屬性時間查找    

find / -ctime +15   ----查找15天前被改變屬性的文件

-mtime  ----根據改變文件內容時間查找

-maxdepth   ----查找的最大路徑

[root@bogon Desktop]# find /etc/-maxdepth 1 -name '*.conf'

/etc/resolv.conf    ----在/etc下一級路徑內查找*.conf的文件

/etc/libuser.conf

/etc/idmapd.conf

/etc/asound.conf

/etc/e2fsck.conf

/etc/mke2fs.conf

/etc/mtools.conf

/etc/sestatus.conf

/etc/host.conf

/etc/ld.so.conf

/etc/request-key.conf

/etc/nsswitch.conf

-mindepth   ----查找的最小路徑

-regex      ----支持正則表達式查找

-empty      ----內容爲空的文件

-fstype     ----根據不同的文件系統類型

-inum       ----根據inode節點編號(查找硬鏈接inode相同)

-newer file1 ! file2 查找更改時間比文件file1新但比文件file2舊的文件。

-readable   ----可讀文件

-writeable  ----可寫文件

-samefile name ----同inum inode編號找出 ,samefile 文件名稱,inum找相同inum的文件名

-size n[cwbkMG]     ----根據文件大小查找

eg:find / -size +1G    ----查找大於1G的文件

    find / -size -4k    ----查找小於4k的文件

‘+’   大於

‘-’    小於

             File uses n units of space.  Thefollowing suffixes can be used:

 

             ‘b’    for 512-byte blocks (thisis the default if no suffix is used)

 

             ‘c’    for bytes

 

             ‘w’    for two-byte words

 

             ‘k’    for Kilobytes (units of1024 bytes)

 

             ‘M’    for Megabytes (units of1048576 bytes)

 

             ‘G’    for Gigabytes (units of1073741824 bytes)

 

3、find / -user kiosk -exec cp {} /tmp/kiosk -a \;

        -exec 將find找到的結果交給後面的cp命令處理

        \    ----代表轉義

        ;  ----代表命令結束

 

4、find / -size 1000c -ok {} /var/tmp/ \;      ----ok  交互式詢問



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章