vim 文本编辑器 vi(一般使用vim)简单的可以用nano加文件
打开后最后一行没有任何信息,显示文件名(有一个:就是末行模式)
有lnset (终端最后一行显示insert)编辑文件内容
图片
命令模式:
d+enter 删除光标所在行以及光标下一行
dd 删除光标所在行
x 删除光标所在字符
Ndd 3dd 删除光标行开始一共三行
Ndd 3-5dd 删除光标行开始一共三到五行
dG 删除光标所在行到文档尾
dgg 删除光标所在行到文档尾
s 字符替换,替换光标所在字符()
yy 复制光标所在行 4yy 四行
p 粘贴到光标所在的下一行
cc 剪切光标所在行
G 跳转到文档尾的行首 15G跳转到15行
gg 跳转到文档首的行首
^ 跳转到行首
$ 跳转到行尾
u 向左撤销
ctrl-r 向右撤销
命令模式进入插入模式的方式
a插入光标后
A插入到行尾
i插入到
I光标前
o插入到下一行
O插入到上一行
s删除光标字符进入插入模式
S删除光标进入插入模式
set un把所有行号显示出来
set nonu取消显示行号
:末行模式
: 显示高亮
:noh 取消高亮
:wq 保存退出
:q 退出
:q!强制退出
:wq!强制保存退出
:%s/root/000/ root替换成000/ 关键字符替换,替换的是每一行中第一次匹配的root关键字
:%s/root/000/g 关键字符替换,替换
正则符:.任意单个字符 (数据内容)
*匹配前一个字符任意次
统配符:*任意长度的任意字符(文件名)
?匹配任意单个字符
文本内容处理命令
echo打印命令(输入书名就打印出什么)
#echo helloworld
# echo $HOSTNAME
zard
[root@zard ~]# echo '$HOSTNAME'
$HOSTNAME
LINUX中文件的描述符 0标准输入 1标准输出(正确输出)2错误输出
&表示1和2
__>输出重定符(将程序的内容输出重定到指定文件–将内容写入文件,会覆盖之前输入的内容)
[root@zard ~]# cat file111
1234
[root@zard ~]# echo abcd >file111
[root@zard ~]# cat file
[root@zard ~]# cat file111abcd
…>>输出 追加重定向符
<输入重定向符
<<终止结束符
[root@zard ~]# cat
111
111
[root@zard ~]# cat << .
> werfghm
> 1234
> .
werfghm
1234
#head /etc/passwd >file
#tail -2
管道符(无名管道)前一个命令的输出结果按照字符流的形式通过管道符连接后一个命令进行处理
tee T型管道 横向输出将前一个命令的标准输出作为后面文件的标准输入
纵向输出将前一个命令的标准输出结果IP直接在终端打印出
文件的行进行处
cut剪切
-c 字符
-d 分割字符
-f 分割字段
[root@zard ~]# date
Sat Nov 26 16:16:46 CST 2022
[root@zard ~]# date | cut -d " " -f 4
16:17:59
[root@zard ~]# echo 当前系统的时间`date|cut -d " " -f 4`
当前系统的时间16:19:50
sort 排序
默认按照文件行的字符进行比较(从小到大)
-r 降序 从大到小
-n 按照数值比较从小到大
-u 去重
[root@zard ~]# cat aaa
123
1213
2234
54545
[root@zard ~]# sort -r aaa
54545
2234
123
1213
[root@zard ~]# sort -nr aaa
54545
2234
1213
123
[root@zard ~]# sort -n aaa
123
1213
2234
54545
wc 文本统计 word count
wc 文件 拥挤指定文件的行,单词书,字节数
-l 统计行数
-m 统计字符数
-w 统计单词数
-c 统计字节数
uniq 去重(重复行相邻才去掉)
sort aaa | uniq
[root@localhost /]# history |cut -d " " -f 5- | sort |uniq -c | sort 、 tail -3
tr 字符替换命令
# echo hello world | tr l 0 把l字符替换成0字符
# echo hello world | tr hl 0 把h和l字符替换为0字符
# echo hello world | tr -t hl 0 等长字符替换:把h换成0
# echo hello world | tr -c l 0 反选定,除了l其他字符替换为0
# echo hello world | tr -d hl
】
变量不能是数字
1.[root@localhost ~]# cut -d: -f3 /etc/passwd | sort -n
r > UID
2.[root@localhost ~]# date
[root@localhost ~]# date | cut -d " " -f 1-5 >A.txt
3.[root@localhost ~]# cat /etc/passwd | wc -l
(img-3PvwTnkQ-1669798149824)]grep 文本过滤显示命令
变量不能是数字
1.[root@localhost ~]# cut -d: -f3 /etc/passwd | sort -n
r > UID
2.[root@localhost ~]# date
[root@localhost ~]# date | cut -d " " -f 1-5 >A.txt
3.[root@localhost ~]# cat /etc/passwd | wc -l
4.[root@localhost ~]# grep -v “#|$” /etc/login.defs