DAY 04

DAY 04

vim vi文本编辑器(重点)

vim FILENAME创建文本文件(可以是系统本身存在的,也可以是不存在的)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hRXoSlrV-1669788911435)(C:\Users\LQA\AppData\Roaming\Typora\typora-user-images\image-20221127100921063.png)]

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

dd 删除光标所在行

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

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

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

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

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

G 跳转到文档末行的行首

gg 跳转到文档首行的行首

5G 跳转到文件的第五行

^ 光标跳转到行首

$ 光标跳转到行尾

yy 复制光标所在行 4yy复制第四行 4,8yy 复制第四到第八行

p 粘贴到光标下一行

cc 剪切光标所在行

u 向左撤销

ctrl+r 向右撤销

命令模式—进入插入模式

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

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

a 插入到光标后

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

x 删除光标所在字符

i 插入到光标前

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

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

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

命令模式-----末行模式

:w 写入保存

:w FILENAME

:q 退出

:wq 保存并退出

:q! 强制退出

:wq! 保存并强制退出

:set nu 显示行号

:set nonu 取消行号

😒 /要替换的字符/用来替换的字符/ 匹配关键字并替换

:% s/要替换的字符/用来替换的字符/ 匹配所有行中第一出现的(要替换的字符)替换为(用来替换的字符)

:% s/要替换的字符/用来替换的字符/g 匹配所有行中所有出现的(要替换的字符)替换为(用来替换的字符)

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

:.!cat/etc/passwd 将cat/etc/passwd命令的结果显示到文档中

:noh 取消高亮显示

小tips:显示时间

:.!date 显示本机时间

echo 打印 标准输入输出

  • $ 引用变量
  • $? 上一条命令的返回结果(0-255) 0为成功 非零值为失败(退出码)
  • " " 弱引用 可以解析特殊字符的含义 可以显示变量的值
  • ’ ’ 强引用 不介意特殊字符的含义 不可以显示变量的值
  • `` 命令替换 $()
#echo $SHELLS   打印变量值
#echo $?     查看上一条命令的返回值
[root@localhost /]# echo $SHELL
/bin/bash
[root@localhost /]# echo "$SHELL"
/bin/bash

Linux中的程序对于文件描述符:0 1 2 标准输入 1 标准输出 2错误输出

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

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

eg:

#cat /etc/passwd   > file
#>  file2    创建file2文件

< 输入重定向符

<< 终止结束符

#cat << EOF
>aaaa
>bbbb
>EOF
aaaa
bbbb
#cat << EOF > file     编辑file文件写入内容
>aaaa
>bbbb
>EOF

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

|tee T型管道

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

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZisJLqjv-1669788911436)(C:\Users\LQA\AppData\Roaming\Typora\typora-user-images\image-20221127150658623.png)]

文本内容处理相关的命令

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

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

cut 文本剪切
-c   字符
-d   分隔符类型
-f   指定字段
#cat /etc/passwd 

cat 查看文本文件内容

sort 文本排序
按照行的字符进行比较(从小到大)
-n  数值   (从小到大)
-r  降序
-u  去重
-t  分隔符
-k  字段
[root@localhost /]# sort -t " " -k 2 -n
abc 0 line4
abc 1 line1
abc 2 line7
abc 4 line6
abc 6 line5
abc 8 line2
abc 9 line3
uniq 去重
重复行必须相邻
-c   显示重复次数
-d   显示有哪些重复
-D   显示所有重复行
[root@localhost /]# sort -u ccc
12
123
34
45
[root@localhost /]# sort ccc | uniq
12
123
34
45
wc word count统计信息
wc  FILENAME  (行数   单词数    字节数   FILENAME)
 -l  行数
 -m  字符 
 -c  字节
 -w  单词数
tr 字符替换命令
tr   set1    set2
-t   等长字符替换
-c   反选定
-d   删除指定字符
-s   替换多个连续字符为单个字符

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3Co3YMcW-1669788911436)(C:\Users\LQA\AppData\Roaming\Typora\typora-user-images\image-20221127162702657.png)]

grep 文本关键字过滤显示
grep '模式匹配(关键字)'  FILENAME
-i 忽略大小写
-o 只显示关键字
-v 反选定

作业题:

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

解:

[root@localhost ~]# cut -d : -f 3 /etc/passwd |sort -rn >>UID
[root@localhost ~]# cat UID
65534
1000
999
998
997
996
995
994
993
992
991
990
989
980
979
978
977
976
975
974
193
173
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@localhost ~]# cut -d : -f 4 /etc/passwd |sort -rn >> GIU
[root@localhost ~]# cat GIU
65534
1000
997
996
995
992
991
988
987
986
984
982
980
979
978
977
976
975
974
193
173
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@localhost ~]# date >>A
[root@localhost ~]# cat A
Tue Nov 29 21:56:20 PST 2022

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

解:

[root@localhost ~]# wc -l /etc/passwd
47 /etc/passwd

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

解:

[root@localhost ~]# cat /etc/login.defs |grep -v ^# |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
[root@localhost ~]# cat /etc/login.defs |grep -v '^#' |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

|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、付费专栏及课程。

余额充值