一、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  交互式询问