基本文件操作之常用命令和工具(vi、find)

本文详细介绍了Vi编辑器的基本使用方法,包括文件编辑、文本查找、替换等操作命令,以及Find命令用于搜索文件的方法,如按名称、类型、大小、时间等条件进行查找。

基本文件操作之常用命令和工具(vi、find)

1、文件编辑工具 vi

vi

进入vi而不读入任何文件

vi filename

进入vi并读入指定名称的文件(新、旧文件均可)

vi +n filename

进入vi并且由文件的第几行开始。

vi + /word filename

进入vi并且由文件的word这个字开始。

i

在关标位置开始插入字符,结束时候按ESC键。

I

在光标所在行的最前面开始加字,结束时按ESC键。

a

在光标位置后开始加字,结束时按ESC键。

A

在光标所在行的最后面开始加字,结束时按ESC键。

o

在光标下加一空白行并开始加字,结束时按ESC键。

O

在光标上加一空白行并开始加字,结束时按ESC键。

!command

执行shell指令,并把结果加在光标所在行的下一行。

x

删除光标所在字符

dd

删除光标所在行

nx

删除由光标位置起始的n个字符(含光标位置,按一个x表示删除光标所在的字符)

nX

删除由光标位置起始的n个字符(不含光标位置)。

ndw

删除光标位置其实的n个字符组(word)

d0

将行的开始到光标位置的字符全部删除。

ndd

将光标位置起始的n行(整行)删除(dd表示删除光标所在行)。

:start,endd

删除文件的第startend行。

d$ 或D

将光标位置起始到行尾的字符全部删除。

h、←

左移

ni

向下移n

j、↓

下移

n-

向下移n行,光标在该行的起始

k、↑

上移

H

移到屏幕的左上角

l、→

右移

M

移到屏幕的中间行开头

nG

光标移到某行(1G表示光标移到第一行)

L

移到屏幕的最后一行

G

光标移到文件结尾

Ctrl + u

屏幕上卷半个菜单

0

移到一行的开始

Ctrl + d

屏幕下卷半个菜单

$

移到一行的最后

Ctrl + b

屏幕上卷一个菜单

[

移到文件开始位置

Ctrl + F

屏幕下卷一个菜单

]

移到文件结束位置

  

nh

往左移n

nk

向上移n

nl、空格

往右移n

n+

向上移n行,光标在该行的起始

/text

从光标位置往下找字串text

.

重复前一指令

?text

从光标位置往上找字串text

u

取消前一指令

n

继续找下一个字串(在输入上面的寻找指令之后使用)

Ctrl + l

刷新屏幕显示

:first,last co dest

first last行的数据复制到目标行(dest)下面

:set number

显示文件的行号,但不会存文件

:Start,end m dest

start end行的数据移动到目标行(dest)

:set nonumber

解除行号显示

:r filename

将指定文件的内容读入光标所在行下。

:set ai

设置每行起始位置(以光标当前位置为起始)

nY

将光标所在位置开始的n行数据暂存

:set noai

取消行起始位置设定

p

复制暂存数据在光标的下一行

:f <Ctrl> + g

告诉用户有关现行编辑文件的数据

P

复制暂存数据在光标的上一行

  

:w filename

存入指定文件,但未退出vi(若未指定文件名则为当前工作的文件名)。

:wq 或者 :x或者zz

存文件,并且退出vi.

:q

不作任何修改并退出vi。

:q!

放弃任何修改并退出vi

:!command

暂时退出vi并执行shell指令,执行完毕后再回到vi

:sh

暂时退出vi到系统下,结束时exit则回到vi


2、文件查找工具find
用法:find 目录名  条件 find条件

-name name

指定要被寻找的文件或目录名称,  可用通配符,如, -name '*.c'

-print

将符合条件的路径打印出来

-size n

寻找占用n个block的文件

-type x

以文件类型作为寻找条件。文件类型x如下:

d -目录(directory),f -文件(file),b -(block) c - 字符(character) p - 管道(pipe)

-user user

寻找属于user所拥有的文件, user可为用户名或uid

-group group

寻找用户组为group的所有文件, group可为组名称或gid

-links n

寻找链接数等于n的所有文件

-atim n

寻找n天之前曾被存取的文件

-mtime n

寻找n天之前曾被修改的文件

-exec command {} \;

用寻找到的文件作为执行command的对象, {}内为欲执行command时所需的参数

基本用法举例

find /temp -name abc* -print

在/temp目录下查找文件名以abc开始的文件

find . -name test -print 

在当前目录下查找文件名为test的文件

find ./test -name test*execrm {}  \;

在当前的test目录下查找所有以test打头的文件,并且把这些文件删除


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值