day04

Vim 文本编译器 重点

Vim FLENAME

Vim

命令模式

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

dd 删除光标所在行

4dd 从光标所在行开始一共删除4行

dG 删除光标所在行,以及到文档位

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

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

s   替换,替换光标所在行      ---进入插入模式

G   跳转到文档末行的行首

gg   跳转到文档首行的行首

5G   跳转到文件的第五行

^   光标跳转到首行

$    光标跳转到行尾

yy 复制光标所在行    4yy   4.8yy

P    粘贴在光标下一行

cc   剪切光标所在行      ----进入插入模式

U  向左撤销

Ctrl+r  向右撤销

命令模式--进入插入模式

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

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

a  插入到光标后

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

i   插入到光标前

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

o  插入到光标所在行的下一行

O  插入到光标所在行的上一行

命令--末行模式

:w 写入保存

:w FILNAME

:q 退出

:q! 强制退出

: wq !

:set nu  显示行号

:set nonu 取消行号

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

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

:12.18 co  40

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

:!cat /etc/passwd  将cat /etc/passwd命令的结果显示在文件中

/关键字  快速匹配关键字

:noh    取消关键字的亮度显示

echo  打印 标准输入输出

$   引用变量

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

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

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

``  命令替换  $()

#echo   $SHELL   打印变量值

#echo   $?     查看上一条命令的返回值

linux中的文件描述符0 12  标准输入  1标准输出 2错误输出

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

>> 追加输出重定向符

---------将前一个命令的输出(正确或者错误)结果写入一个文件--------

<  输入重定向符

<<  终止结束符

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

|tee   T型管道   |tee -a

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

      纵向文件 将程序的输出结果显示到终端

文本内容处理相关的命令

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

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

cut 文本剪切

   -c  字符

   -d  分隔符类型

   -f   指定字段

   #cat    /etc/passwd

  sort文本排序

-n   数值    (从小到大)

-r   降序

-u   去重

-t   分割符

-k   字段

uniq 去重(前提:重复行必须相邻)

-c    统计每一行重复次数

-d    查看重复行的内容

-D    查看所有重复行的内容

wc word count  utf-8

wc  FILENAME(行数 单词书 字节数 FILENAME)

-l   行数

-w  单词书

-c   字节

-m  字符

tr  字符替换命令 :%s /root/123/

  tr   set1  set2

 -t   等长字符替换

 -c   反选定

 -d   删除指定字符

 -s   将多个连续重复字符替换为单个字符

grep 文本关键字过滤显示  文本三剑客grep sed awk

  grep  ‘模式匹配’ FILENAME

  -i     忽略大小写

  -o    只显示关键词

  -v    反过滤

作业

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

[root@www ~]# cat /etc/passwd | cut -d : -f 3 | sort -rn >UID

[root@www ~]# cat /etc/passwd | cut -d : -f 3 | sort -rn |tee UID

65534

1000

999

998

997

996

995

994

993

992

991

990

989

981

980

979

978

977

976

975

193

172

171

113

107

81

75

74

72

70

59

42

32

29

14

12

11

8

7

6

5

4

3

2

1

0

[root@www ~]# cat /etc/passwd | cut -d : -f 4 | sort -rn >GIU

[root@www ~]# cat /etc/passwd | cut -d : -f 4 | sort -rn |tee GIU

65534

1000

997

996

995

992

989

988

987

986

984

983

981

980

979

978

977

976

975

193

172

171

113

107

100

81

76

75

74

72

70

59

50

42

32

29

12

7

4

2

1

0

0

0

0

0

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

[root@www ~]# cat A

2022

[root@www ~]# date | cut -d " " -f 2,3,4,5 | cut -d : -f 1,2 > A

[root@www ~]# cat A

Dec  5 23:52

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

[root@www ~]# wc -l /etc/passwd | cut -d " " -f 1

46

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

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

MAIL_DIR /var/spool/mail

UMASK 022

HOME_MODE 0700

PASS_MAX_DAYS 99999

PASS_MIN_DAYS 0

PASS_MIN_LEN 5

PASS_WARN_AGE 7

UID_MIN                  1000

UID_MAX                 60000

SYS_UID_MIN               201

SYS_UID_MAX               999

GID_MIN                  1000

GID_MAX                 60000

SYS_GID_MIN               201

SYS_GID_MAX               999

CREATE_HOME yes

USERGROUPS_ENAB yes

ENCRYPT_METHOD SHA512

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值