Linux:vi编辑器,正则表达式,文本处理cut、sort、wc、sed、awk,用户权限

it2022-05-05  108

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启动程序

最新回复(0)