VI编辑器
三种模式一般,编辑,命令行,编辑和命令行之间不能进行模式转换
常用命令:
1.输入i一般模式转换为编辑行模式,ESC键编辑模式转换为一般模式,:wq保存并退出无权限的时候可以用:wq!强制保存。
2.crtl +f 上翻一页。crtl +b下翻一页。HOME键移动到这一行的最初的地方。
end ,移动到这一行的最后一个字符、G移动到这个文件的最后一行。gg移动这个文件的第一行。
3.查找某一字符串,/word
:1,$s/word1/word2/g 从第一行到最后一行查找Word1并且替换为word2
---------------------------/gc 替换之前询问用户是否替换
:n1,n2s/-----------------从n1和n2行之间寻找替换
4,x向后删除一个字符,X向前删除一个字符。
dd删除光标所在的一行。10jc向下删除10行。
5.yy 复制光标所在的一行,
6,p已复制的数据粘贴在光标的下一行,P粘贴在光标的上一行。
7,复原前一个动作u,ctrl +r 重复上一个操作。
8,i 在光标处插入,I在所在行的第一个非空格处插入;a从目前光标在的下一个位置插入,A光标所在行的最后一个字符处插入;
o从光标所在行的下一行插入,O上一行插入。
R一直替换光标所在的文字,r替换一次。
9.:w[fliename]另存文件
:r另外读一个文件。
:n1,n2 w [文件名] 将N1到N2行的内容保存为问价。
:!命令,暂时离开VI,回到命令行模式执行命令。
10 vim 可以完成区域块选择复制粘贴,多文件编辑,多窗口功能。
BASH
shell用法与变量
时间有限,基本理解概念,暂时略过。
管道命令
管道命令 | 只会处理正确标准输出命令,不能处理错误的命令,并且后一个命令必须可以接收前一个命令的数据成为标准的输入才可以。
例如tail 等,CP就不可以。
管道命令:cut grep sort wc uniq tee tr col paste expand split xargs 等
正则表达式
处理字符串的方法,已行为单位进行字符串的的处理方法。
基础正则表达式:
grep -A3 -B2 --color=auto 'world' 把关键字所在的前二行和后三行也一起显示出来。并且用颜色标记关键字。
1.根据中括号查找集合字符:
【】在命令行中出现,无论是几个字符都是一个字符,AE 是A或者E
集合字符的反向选择:【^】如 '【^g】oo' 表示oo,但是oo前面不能是g
2.行首行字符^,行尾字符$, 转义字符\(\.小数点具有其他含义,必须用转移字符解除含义)
3.查找空白行,用首尾字符相连。grep -v 除了所选项目之外的。
4.任意一个字符。与重复字符*(0到无穷次)
重复字符,重复0个或者多个前面的RE的字符,如o*代表具有空字符以及一个以上的字符。
所以oo*代表一个o肯定存在,后面是0个过着多个o,.*代表具有0个或者多个任意字符、
5,限定连续RE字符范围{}(具有含义,需要转义符)
查找含2到5个o的字符:grep -n 'o\{2,\}' 文件名
正则表达式和通配符含义不同,不建议一起学习,容易混。
命令sed(大型数据处理)
sed -nefr 动作
1. 删除功能
nl 文件| sed -e '2,5d' (-e在命令行中直接从操作)
2.新增功能
sed '行数a/i 所加内容‘ a 后,i 前。
增加几行,增加内容用\
3,整行替换
sed '首行,末行c 替换内容’
4.仅列出文件的几行
sed -n '首行,尾行p]
5.查找和替换,行为单位
sed ‘s/要被替换/新的字符/g'
awk(字段处理,小型文件的处理)
文件比较
diff命令
以行为单位来比较,通常用来比较同一文件的新旧版本。
diff -b(忽略空格的区别) / -B 忽略空白行的区别 / -i 忽略大小写的区别 old.txt new.txt
patch命令
将新旧文件比较后创建的补丁文件更新旧文件
patch -pN < patch_file 更新
patch -R -pN < patch_file 复原
如:
difff -Naur old.txt new.txt > passwd.patch
cat passwd.patch
patch -p0 < patch_file (N代表取消几层目录,如果在同一目录下,就是0)
打印
pr命令
pr /bernice/text.txt
好的,因为时间有限,讲究速成,linux系统基础应用就告一段落啦。接下来进行python的学习