admin 管理员组文章数量: 887021
Linux文本编辑器
- 移动光标
- 编辑
- 搜索&替换
- 删除&复制&粘贴
- 区块选择
- 多文件编辑
- vim环境变量
- 环境变量
- 查看文件more、 less、tail、head、cat
- more
- less
- tail
- head
- cat
移动光标
1.上下左右四个箭头键
2.h左j下k上l右
数字+hjkl(方向键)
数字+space(空格) 向右移动N个字符
数字+enter(回车) 光标向下移动指定行
Ctrl+f page down 下翻页
Ctrl+b page up 上翻页
Ctrl+d 向下移动半页
Ctrl+u 向上移动半页
+ 光标移动到非空白字符处的下一行
- 光标移动到非空白字符处的上一行
0(零) 相当与home 移动到行首
$ 相当于end 移动到行尾
H 光标移动到屏幕最上方所在的行首
M 屏幕中央所在行的行首
L 最下方所在行的行首
g g 移动到文件的第一行 相当于1G
G 光标移动到文件的最后一行
数字+G 移动到指定行
编辑
I/i i=光标前插入 I=光标所在行行首
A/a a=光标后 A=光标所在行行尾
O/o o=光标所在行下一行插入 O=光标所在行上一行插入
R/r(替换) r=替换光标所在处的字符 R=从光标所在行开始替换、光标所在处开始向后替换。
# 保存、并退出
:w 保存
:w! 强制保存
:q 退出
:q! 强制退出
:wq 保存退出
:wq! 强制保存退出
:x 相当于wq
ZZ 相当于wq!
: w /path/filename 将内容保存到指定位置
:r /path/filename 将内容从指定文件读取过来
搜索&替换
/keyword 从光标所在位置向下搜索 n下一个、N上一个
?keyword 从光标所在位置向上搜索 n上一个、N下一个
:%(全文) s/old/new/g 全文搜索替换
:n1,n2 s/old/new/g n1与n2之间进行替换
:n s/old/new/g 只在n行进行替换
:n1,n2 s/old/new/gc(替换前询问) n1与n2之间进行替换询问是否替换
:n1,n2 s/^#// n1与n2之间的开行头去掉#号
:n1,n2 s/^/#/ n1与n2之间的开行头加上#号
:g/^\s*$/d 删除全文中的空行 ^代表开头 \s代表空格 *通配符 $代表结尾
删除&复制&粘贴
X /x x=从光标所在处向后删除一个字符 X=从光标所在处向前删除一个字符。 数字+x同上,向前/向后删除n个字符
dG 删除光标所在行处到最后一行
d1G 删除光标所在行处到第一行的所有
d$ 删除光标所在处到行尾
d0 删除光标所在处到行首
dd 删除光标所在行
数字+dd 删除n行
yy 复制光标所在行
数字+yy 复制n行
y1G 复制光标所在行处到第一行
yG 复制光标所在行处到最后一行
y0 复制光标所在处到行首
y$ 复制光标所在处到行尾
P 粘贴
p/P p=从光标所在行下一行粘贴 P=上一行粘贴
u 撤销
区块选择
v 字符选择
V 行选择
Ctrl+V 区块选择
y 复制
d 删除
eg:
多行注释:
Ctrl + v 进入区块选择模式——>按大些“I”进入插入模式——>输入注释符“#”或者是"//",然后立刻按下ESC(两下)
反注释:
Ctrl + v 进入块选择模式——>选中你要删除的行首的注释符号,——>选好之后按d即可删除注释
多文件编辑
vim filename1 filename2
:n 下一个
:N 上一个
:files 查看打开的文件
:sp filename (上下分屏)切割当前窗口开启新的内容
Ctrl+w 切换光标位置
:vsp filename (左右分屏)
Ctrl+w 切换光标位置
vim环境变量
设置vim环境变量 在用户的家目录下。vimrc(记录用户对vim的设置)
:set nu/:set nonu 设置行号
:set hisearch/:set no 搜索是=时是否高亮显示
:set autoindent/:set no 是否自动缩进
:set backup/:set no 是否自动备份
:set ruler/:set no 是否提示光标位置
:syntax on/:syntax off 文档内容是否显示颜色(语法高亮):syn on :syn off
:set paste(不要写到vimrc下) 解决复制文本格式问题
用家目录下.viminfo 记录vim中使用过的命令/操作
环境变量
$? 执行上一个指令的返回值
$0 当前程序的名称
$n 当前程序的第n个参数,n=1,2,…9
$* 当前程序的所有参数(不包括程序本身)
$# 当前程序的参数个数(不包括程序本身)
$$ 当前程序的PID
$@ 与$*相同,但是使用时加引号,并在引号中返回每个参数
$- 显示shell使用的当前选项,与set命令功能相同
echo $USER 表示当前用户的登录名称,值与whoami命令的结果一致
echo $UID 表示当前用户的ID,该变量的值与”id-u”命令的结果一致
echo $SHELL 表示当前用户的登录Shell,值与”passwd”文件中的Shell字段一致
echo $HOME 表示当前用户的登录目录(宿主目录),值与”psaawd”文件中home字段一致
echo $PWD 表示用户当前所在的目录,值与pwd命令的结果一致
echo $PATH 表示当前用户的命令搜索路径,即用户不指定全路径名执行命令,Shell程序将在哪些目录以及按照何种顺序进行命令的搜索
查看文件more、 less、tail、head、cat
more
Linux more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h 。
# 参数:
-num 一次显示的行数
-d 提示使用者,在画面下方显示 [Press space to continue, 'q' to quit.] ,如果使用者按错键,则会显示 [Press 'h' for instructions.] 而不是 '哔' 声
-l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
-f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
-p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
-c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
-s 当遇到有连续两行以上的空白行,就代换为一行的空白行
-u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
+/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
+num 从第 num 行开始显示
fileNames 欲显示内容的文档,可为复数个数
# 实例:
逐页显示 testfile 文档内容,如有连续两行以上空白行则以一行空白行显示。
more -s testfile
从第 20 行开始显示 testfile 之文档内容。
more +20 testfile
# 常用操作命令:
Enter 向下n行,需要定义。默认为1行
Ctrl+F 向下滚动一屏
空格键 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
V 调用vi编辑器
!命令 调用Shell,并执行命令
q 退出more
less
less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。
# 参数说明:
-b <缓冲区大小> 设置缓冲区的大小
-e 当文件显示结束后,自动离开
-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-g 只标志最后搜索的关键词
-i 忽略搜索时的大小写
-m 显示类似more命令的百分比
-N 显示每行的行号
-o <文件名> 将less 输出的内容在指定文件中保存起来
-Q 不使用警告音
-s 显示连续空行为一行
-S 行过长时间将超出部分舍弃
-x <数字> 将"tab"键显示为规定的数字空格
/字符串: 向下搜索"字符串"的功能
?字符串: 向上搜索"字符串"的功能
n: 重复前一个搜索(与 / 或 ? 有关)
N: 反向重复前一个搜索(与 / 或 ? 有关)
b 向上翻一页
d 向后翻半页
h 显示帮助界面
Q 退出less 命令
u 向前滚动半页
y 向前滚动一行
空格键 滚动一页
回车键 滚动一行
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页
# 实例:
1、查看文件
less log2013.log
2、ps查看进程信息并通过less分页显示
ps -ef |less
3、查看命令历史使用记录并通过less分页显示
[root@localhost test]# history | less
22 scp -r tomcat6.0.32 root@192.168.120.203:/opt/soft
23 cd ..
……省略……
4、浏览多个文件
less log2013.log log2014.log
说明:
输入 :n后,切换到 log2014.log
输入 :p 后,切换到log2013.log
# 附加备注:
1.全屏导航
ctrl + F - 向前移动一屏
ctrl + B - 向后移动一屏
ctrl + D - 向前移动半屏
ctrl + U - 向后移动半屏
2.单行导航
j - 向前移动一行
k - 向后移动一行
3.其它导航
G - 移动到最后一行
g - 移动到第一行
q / ZZ - 退出 less 命令
4.其它有用的命令
v - 使用配置的编辑器编辑当前文件
h - 显示 less 的帮助文档
&pattern - 仅显示匹配模式的行,而不是整个文件
5.标记导航
当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:
ma - 使用 a 标记文本的当前位置
'a - 导航到标记 a 处
tail
可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。
tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。
tail 查看日志 tail -f =tailf
# 参数:
-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c<数目> 显示的字节数
-n<行数> 显示文件的尾部 n 行内容
--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
-q, --quiet, --silent 从不输出给出文件名的首部
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
# 实例:
要显示 notes.log 文件的最后 10 行,请输入以下命令:
tail notes.log
要跟踪名为 notes.log 的文件的增长情况,请输入以下命令:
tail -f notes.log
此命令显示 notes.log 文件的最后 10 行。当将某些行添加至 notes.log 文件时,tail 命令会继续显示这些行。 显示一直继续,直到您按下(Ctrl-C)组合键停止显示。
显示文件 notes.log 的内容,从第 20 行至文件末尾:
tail -n +20 notes.log
显示文件 notes.log 的最后 10 个字符:
tail -c 10 notes.log
head
head 命令可用于查看文件的开头部分的内容,有一个常用的参数 -n 用于显示行数,默认为 10,即显示 10 行的内容。
# 参数:
-q 隐藏文件名
-v 显示文件名
-c<数目> 显示的字节数。
-n<行数> 显示的行数。
# 实例:
#显示 runoob_notes.log 文件的开头 10 行,请输入以下命令:
head runoob_notes.log
#显示 notes.log 文件的开头 5 行,请输入以下命令:
head -n 5 runoob_notes.log
#显示文件前 20 个字节:
head -c 20 runoob_notes.log
cat
cat(英文全拼:concatenate)命令用于连接文件并打印到标准输出设备上。
# 使用权限:
所有使用者
# 语法格式:
cat [-AbeEnstTuv] [--help] [--version] fileName
#参数说明:
-n 或 --number: 由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank: 和 -n 相似,只不过对于空白行不编号。
-s 或 --squeeze-blank: 当遇到有连续两行以上的空白行,就代换为一行的空白行。
-v 或 --show-nonprinting: 使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
-E 或 --show-ends : 在每行结束处显示 $。
-T 或 --show-tabs: 将 TAB 字符显示为 ^I。
-A, --show-all: 等价于 -vET。
-e: 等价于"-vE"选项;
-t: 等价于"-vT"选项;
# 实例:
把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里:
cat -n textfile1 > textfile2
把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里:
cat -b textfile1 textfile2 >> textfile3
清空 /etc/test.txt 文档内容:
cat /dev/null > /etc/test.txt
cat 也可以用来制作镜像文件。
要制作软盘的镜像文件,将软盘放好后输入:
cat /dev/fd0 > OUTFILE
把 image file 写到软盘,输入:
cat IMG_FILE > /dev/fd0
#注:
1. OUTFILE 指输出的镜像文件名。
2. IMG_FILE 指镜像文件。
3. 若从镜像文件写回 device 时,device 容量需与相当。
4. 通常用制作开机磁片。
cat主要有三大功能:
1.一次显示整个文件:cat filename
2.从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.
3.将几个文件合并为一个文件:cat file1 file2 > file
# 创建并写入文件 追加 覆盖:
[root@fox yconfig]# cat > fox.txt <<EOF #创建/覆盖fox.txt文件;
> 1
> 2
> EOF
[root@fox yconfig]# cat fox.txt
1
2
[root@fox yconfig]# cat >> fox.txt <<E #向fox.txt文件追加内容;
> 3
> E
[root@fox yconfig]# cat fox.txt
1
2
3
#cat命令结合head、tail命令只显示文件的部分内容
#显示文件最后十行
cat filename |head
#显示文件的10-30行
cat filename |head -n 30 |tail -n +10
#显示文件的第10行之后的30行
cat filename |tail -n +10 |head -n 30
#显示文件的除最后10行外的数据
cat filename |head -n -10
#显示文件的倒数第10-30行
cat filename |tail -n 30|head -n -10
#显示文件的倒数第十行上面的30行数据
cat filename |head -n -10 |tail -n 30
版权声明:本文标题:Linux——之vim及查看命令、史上最详细的说明!!! 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1724510518h753262.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论