.
vi
基本操作
相比较Emacs而言,vi是一个简单的编辑器。但是它仍然提供了繁多的命令。通过Esc在编辑和command之间进行切换。
进入vi的命令:
命令
|
描述
|
vi filename
|
打开或新建文件,并将关标置于第一行首
|
vi +n filename
|
打开文件,并将光标置于第n行首
|
vi + filename
|
打开文件,并将关标置于最后一行行首
|
vi +/pattern filename
|
打开文件,光标置于与第一个pattern匹配的串处
|
vi –r filename
|
编辑过程中系统崩溃,恢复filename
|
移动光标类命令,可以使用关标键(←↑→↓)等图形方式下的操作。
命令
|
描述
|
h
|
左移一个字符
|
l
|
右移一个字符
|
k
或
Ctrl+p
|
上移一行
|
j
或
Ctrl+n
|
下移一行
|
Enter
|
下移一行
|
n+
|
下移
n
行
|
n-
|
上移
n
行
|
复制、删除及粘贴命令
命令
|
描述
|
y5y
|
包括光标所在行,往下数,复制
5
行到剪切板。如果只复制一行,则为
yy
|
y3w
|
复制光标后面的
3
个英文单词
|
p
|
把剪切板内容粘贴到光标之后
|
P
|
把剪切板内容复制到光标之前
|
d3d
|
包括光标所在行,往下数,剪切
3
行到内存。如果不写数字,表示一行。
|
搜索及替换命令
命令
|
描述
|
/pattern
|
从光标开始向文件尾搜索
pattern
|
?pattern
|
从光标开始向文件首搜索
pattern
|
n
|
在同一方向重复上一次搜索命令
|
N
|
在反方向上重复上一次搜索命令
|
:s/p1/p2/g
|
将当前行中的所有
p1
均用
p2
代替
|
:n1, n2s/p1/p2/g
|
将第
n1
至
n2
行中所有
p1
均用
p2
代替
|
:g/p1/s//p2/g
|
将文件中所有
p1
均用
p2
替换
|
保存及退出
命令
|
描述
|
:wq
|
存盘并退出
|
:q
|
退出
vi
,若未保存,会提示并拒绝退出
|
:q!
|
不保存已做的修改,强制退出
|
- 一些小技巧
显示文件的头n行
head –n filename
显示文件的后n行
tail –n filename
计算文件数
ls –l | grep
“
^-
”
| wc –l
可以根据ls –l输出的头10个字符来判断文件类型
说明
|
描述
|
-rw-r—r--
|
开头为“
-
”表明这是一个普通文件
|
brw-rw----
|
开头为“
b
”表明这是一个块设备文件
|
crw-rw----
|
开头为“
c
”表明这是一个字符设备文件
|
srwxrwxrwx
|
开头为“
s
”表明这是一个
socket
文件
|
prwxr—r--
|
开头为“
p
”表明这是一个
pipe
文件
|
lrwxrwxrwx
|
开头为“
l
”表明这是一个符号链接文件
|
上面的命令中,通过查找ls –l输出中以“-”开头的entry,便可以查找到那一些是普通文件。而wc –l则输出有多少行。
计算目录数
ls –l | grep “^d” | wc –l
ls –F | grep “/$”
上述命令中“^-”和“^d”为正则表达式语法,表示以“-”和“d”开头。“/$”则表示以“/”为结尾的项。
直接进入到home目录
cd ~
直接进入到上一个进入的目录
cd –
查看文件是什么格式的?
file filename
文件具体在什么目录下
whereis filename
- RPM
Linux下,很多安装包都以RPM的格式给出,如果没有给出PRM格式的包,则可以对源程序进行编译,生成所需的文件。处理RPM包的命令是rpm。
option
|
Description
|
-i
|
install
安装
|
-U
|
update
更新
|
-q
|
query
查询该安装包是否已经安装
|
-v
|
verify
验证
|
--checksig
|
signature check
签名检查
|
-e
|
uninstall
卸载
|
-b
|
build
建立
|
--setperms
|
fix permissions
|
--setugids
|
set owners/groups
|
--showrc
|
show RC
|