徐照宇 2022.11.27

徐照宇 2022.11.27

vim 文本编辑器

eg:vim /etc/passwd

vim

命令模式

d+enter 删除光标所在行及下一行

dd 删除光标所在行

数字+dd 删除光标所在行开始向下删除行

dG 删除光标所在行到文档尾

dgg 删除光标所在行到文档首

s 替换,替换光标所在字符(删除)

S 替换,替换光标所在行

G 跳转到文档末行的行首

gg 跳转到文档首行的行首

数字*+G 跳转到文件的第 *行

yy 复制光标所在行

p 粘贴在光标下一行

cc 剪切光标所在行

u 向左撤销

CTRL+r 向右撤销

命令模式进入插入模式

s 删除光标所在字符进入插入模式

S 删除光别所在行进入插入模式

a 插入到光标后

x 删除当前字符

A 插入到光标所在行的行尾

i 插入到光标前、

I 插入到光标所在行的行首

o 插入到光标所在下一行

O 插入到光标所在上一行

命令–末行模式

:w(write) 写入保存

:wq 退出

:q! 强制退出

:wq! 退出

:set nu 显示行号

:set nonu 取消行号

:%s/root/000/ 匹配所有行中第一出现root关键字替换为000

:%s/root/000/g 匹配所有行中出现root关键字替换为000

:12,18 co 40 将12行到18行复制到40行

:r FILENAME 将指定文件内容读取到光标所在下一行

:.! cat/etc/passwd 将cat/etc/passwd 显示到文档

echo 打印标准输入输出

$ 应用变量

$? 上一条命令的返回结果(0-255) 0成功 非零失败(退出码)

“” 弱引用 可以解析特殊字符的含义 可以显示变量的值

‘’ 强引用 不解析特殊字符的含义 不显示变量的值

“” 命令替换 $()也可以替换

echo $SHELLS	打印变量值

Linux中的文件描述符 0 1 2

0:标准输入

1:标准输出

2:错误输出

> 输出重定向符 将程序的输出结果重定到指定文件 1> 2

>> 追加重定向符

使用场景:将前一个命令的输出(正确或错误)结果写入一个文件

< 输入重定向符

<< 终止结束符

echo	1234>file
echo	234>>file
cat	/etc/passwd  >file
> file2		创建file2文件
#cat  <<EOF
>aaa
>bbb
>EOF
aaa
bbb


#cat <<EOF >file	编辑file文件写入内容
>aaa
>bbb
>EOF

| 管道符 将前一个程序(命令)输出结果通过管道符按照字符流的形式传递给后面程序继续对字符流进行处理

| tee T型管道 |tee -a

​ 横向输出 将程序的输出结果重定到指定文件

​ 纵向输出 将程序的输出结果重定到终端

文本内容处理相关的命令

(1)通过处理命令只是将处理结果显示在终端不会对源文件更改

(2)按照指定文件进行处理

cut 文本剪切

-c	字符
-d	分割符类型
-f	指定字段
#cat	/etc/passwd

sort 文本排列

按照行的首字符大小进行(从小到大)
-n	数值(从小到大)
-r	降序
-u	去重
-t	分隔符
-k	字段

uniq 去重

重复行必须相邻
-c	显示重复次数
-d	查看重复行内容
-D	插件所有重复行内容
eg:
[root@www /]# date 
Sun Nov 27 15:57:51 CST 2022
[root@www /]# date | cut -d " " -f 4
15:59:02
[root@www /]# echo 当前系统的时间是`date | cut -d " " -f 4`
当前系统的时间是16:00:02
eg: /etc/passwd
[root@www /]# echo "/sbin/nologin在/etc/passwd重复出现过`cut -d : -f 7 /etc/passwd | sort |uniq -c |head -4 | tail -1| cut -d " " -f 6`"
/sbin/nologin在/etc/passwd重复出现过41

统计文本数据wc (word count)

wc filename(行数  单词数  字节数	filename)  
-l	行数
-w	单词数
-c	字节
-m	字符
eg:显示当前用户数量

字符替换命令 tr

tr 	set1 	set2

eg:echo  1122333  |tr 123 abcdef

​结果:aabbccc



-t		等长字符替换
-c		反选定
-d		删除指定字符
-s		将多个连续字符替换为单个字符

文本关键字过滤显示 grep

文本三剑客:grep sed awk

grep  ‘模式匹配’  filename
-i:	忽略大小写
-o:只显示关键字
-v:反过滤

作业题

1.课程笔记总结

2.将/etc/passwd 文件中3,4 字段分别截取出来分别写入文件UID和文件GIU但是这两个文件中的信息是以数值由大到小的形式显示;

[root@localhost ~]# cut -d":“ -f 3 /etc/passwd |sort -nr > UID
[root@localhost ~]# cut -d“:” -f 4 /etc/passwd |sort -nr > GIU

3.通过查看时间命令将分别将年月日时分写入A文件

[root@localhost ~]# echo 当前时间是.! `date` > A

4.告诉用户当前系统有多少用户 (/etc/passwd文件有多少行一行是一个用户信息)。

wc -l /etc/passwd

5.不显示/etc/login.defs 文件中以#开头的行以及空白行。

[root@localhost ~]# grep -v '^#' /etc/login.defs | grep -v '^$'


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值