vi全屏文本编辑器
打开文件
vi filename:打开文件vi +3 filename:打开文件并定位第3行vi + filename:打开文件并定位至最后一行vi +/pattern:打开文件并定位至第一次被pattern匹配到的行的行首
关闭文件
末行模式:q 退出,没有动过文件:wq 保存并退出:q! 不保存退出:w 保存:w! 强行保存:wq --> :xZZ 保存并退出,编辑模式,不需要冒号
全屏编辑器
编辑–>输入
i:在当前光标所在字符的前面a:在当前光标所在字符的后面o:在当前光标所在行的下方,新建一行O:在当前光标所在行的上方,新建一行I:在当前光标所在行的行首A:在当前光标所在行的行尾 编辑–>末行 : 末行—>编辑 Esc,Esc
模式
编辑模式:(命令模式)按键具有编辑文本功能输入模式:按键本身意义末行模式:接受用户命令输入
编辑模式
移动光标
字符
h:左,j:下,k:上,l:右 单词
w:移至下一个单词的行首e:跳至当前或下一个单词词尾b:跳至当前或上一个单词词首 行内
0:绝对行首^:行首的第一个非空白字符&:绝对行尾 行间
== G:文章末尾==== 3G:第三行==gg:文章开头 翻屏
ctrl:f,b 删除&替换单个字符
x:删除光标位置字符3x:删除光标开始3个字符r:替换光标位置字符 删除命令->剪切:d
dw,dd 复制粘贴
yw,yy复制p,P粘贴 撤销&重做
u 撤销ctrl+r 重做 撤销的操作. 重复上一步的操作
末行模式
set:设置
set uu numberset nouu nonumberset readonly修改vi的配置文件 /etc/virc /:查找
/pattrenn,N?向上查找 !:执行命令
!ls -l/ s查找并替换
s/str1/str2/gi
str1:被替换的字符,str2:新字符g:一行内全换i:忽略大小写 范围
n:行号.:当前光标+n:偏移n行¥:末尾行,(¥-3),英文下美元符,这里$不能显示%:全文
正则表达式
grep
v:反显示e:使用扩展正则表达式
匹配操作符
\:转义字符.:匹配任意单个字符字符序列单字符占位
[149a]:其中任意一个,[^12]:不是12,[a-k]:a到k其中一个 ^:行首$行尾| 连接操作符(,) 选择操作符\n 反向引用
重复操作符
?匹配0-1次*:匹配0-多次+:匹配1-多次{n}:匹配n次{n,}:匹配n到多次{n,m}:匹配n到m次
匹配任意字符:.*
与扩展正则表达式的区别:?, +, {, |, (, )
文本处理
cut:显示切割的行数据
-f:选择显示的列-s:不显示没有分隔符的行-d:自定义分隔符,如-d’a’ sort:排序文件的行
-n:按数值排序-r:倒叙-t:自定义分隔符-k:选择排序列-u:合并相同行-f:忽略大小写 wc:统计word count
-l:行数-m:字符-w:单词-c:字节wc filename,打印:行数,单词,字节,文件名 sed:行编辑器 > vi
格式:sed[options] ‘AddressCommand’ filename-n:静默模式-i:直接修改源文件-e SCRIPT:可以同时执行多个脚本-f /PATH/TO/SED_SCRIPT-r:表示使用扩展正则表达式sed行编辑器AddressCommand
Address:可以没有,可以给定范围,可以查找指定行/str/d:删除符合条件的行,示例’3d’,’/hello/d’p:显示符合条件的行a\string:在指定的行后面追加新行,内容位string,\n可以用于换行i\string:在指定的行前面追加新行,示例:‘i\hello’s/pattern/string/修饰符:查找并替换,默认至替换每行第一次匹配到的字符串,修饰符:g行内全换,i忽略大小写。s///:s###,s@@@ awk
awk是一个强大的文本分析工具相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告是显得尤为强大。简单来说awk就是把文件逐行读入,(空格,制表符)位默认分隔符将每行切片,切开的部分再进行各种分析处理。awk -F ‘{pattren+action}’ filenames
支持自定义分隔符支持正则表达式匹配支持自定义变量,数组 a[1] a[tom] map(key)支持内置变量
ARGC:命令行参数个数ARGV:命令行参数排列ENVIRON:支持队列中系统环境变量的使用FILENAME:awk浏览的文件名FNR:浏览文件的记录数FS:设置输入域分隔符,等价于命令行 -F选项NF:浏览记录的域的个数NR:已读的记录数OFS:输出域分隔符ORS:输出记录分隔符RS:控制记录分隔符 支持函数
print、split、substr、sub、gsub 支持流程控制语句,类C语言
if、while、do/while、for、break、continue awk报表
用户权限
groupadd、groupdeluseradd、userdel、usermod(修改组权限)id,展示用户名、属主、属组passwd,修改密码sudosu权限rwx,文件读权限依赖执行权限,执行:意味着进入删除用户
userdel user01rm -rf /home/user01,删除家目录rm -rf /var/spool/mail/user01,删除邮箱
/etc/passwd文件分析
第一列:用户名称第二列:密码第三列:属主第四列:属组第五列:用户名描述第六列:当前用户家目录第七列:shell启动程序