1 vim vi文本编辑器(重点)
相当于重命令行的 vi
vim 相对于vi有颜色标记
vim FILENAME 创建并编辑文件
vim 直接打开文本编辑器,结束后还要保存
命令模式下所对应的操作
d+enter 删除光标所在行及下一行
dd 删除光标所在行
4dd 从光标所在行开始一共删除四行
dG 删除光标所在行到文档尾
dgg 删除光标所在行到文档收
s 替换,替换光标所在字符(删除光标所在字符)
S 替换,替换光标所在行 …进入插入模式
x 删除光标字符
G 跳转到文档末行行首
gg 跳转到文档首行行首
5G 跳转到文档第五行
^ 光标跳转到行首
$ 光标跳转到行尾
yy 复制光标所在行 4yy 4,8yy 删除4到8行
p 粘贴在光标下一行
cc 剪切光标所在行 …进入插入模式
u向左撤销,返回上一个操作
ctrl+r 向右撤销
s S cc 从命令模式进入插入模式
从命令模式到插入模式
s 删除光标所在字符插入
S 删除光标所在行插入
a 插入到光标后
A 插入到光标所在行行尾
i 插入到光标前
I 插入到光标所在行行首
o 添加到光标所在下一行
O 添加到光标所在上一行
末行模式
:进入末行
:w 写入保存
:w FILENAME
:wq 保存退出 :q 退出
:q! 强制退出
:wq! 强制保存退出(要有权限才行)
:set nu 显示行号
:set nonu 取消行号
😒 /root//000/ 对光标所在行替换
:% s /root//000/ 匹配所有行中第一次出现root关键字替换为000
:% s /root//000/g 匹配所有关键字
:12,18 co 40 将12到18行复制到40行之后
:r FILENAME 可以把指定文件的内容读取到光标所在的下一行
:!cat /etc/passwd 将/etc/passwd 命令的结果显示在文档中
:noh 取消高亮
echo 打印 标准输入输出 格式:echo 内容
x=2 echo $x 可显示变量的值
$ 引用变量
#echo $? 上一条命令的返回结果(0-255)0 表示成功,非0为失败
“” 弱引用,可以解析特殊字符的含义
‘’ 强引用,不可以解析特殊字符的含义
`` 命令替换,将其中字符识别为命令$()
[root@localhost ~]# echo $SHELL
/bin/bash
[root@localhost ~]# echo "$SHELL"
/bin/bash
[root@localhost ~]# echo '$SHELL'
$SHELL
#echo $SHELLS 打印变量值
#echo $? 查看上一条命令的返回值
linux中的文件描述符 0 标准输入 1 标准输出 2 错误输出
// > 输出重定向符,将程序的输出结果输出到指定文件 1> 2>
// >> 追加输出重定向符
用于将前一个命令的输出(正确或错误)结果写入一个文件
< 输入重定向符
<< 终止结束符
| 管道符 将前一个命令的输出结果通过管道符按照字符流的形式传递给后边程序继续对字符流进行处理
|tee T型管道 |tee -a
横向输出 将程序的输出结果重定到指定文件
纵向输出 将程序的输出结果显示到终端
2 文本内容处理相关的命令
(1)通过处理命令只是将处理结果显示在终端,不会对源文件更改
(2)按照指定文件的行进行处理
cut 文本剪切
-c 字符
-d 分割符类型
-f 指定字段
sort 文本排序
按照行的字符进行比较
sort -n 数值 升序
sort -nr 数值 降序
sort -u 去重
sort -t 分隔符
sort -k 字段
uniq 去重
eg
eg
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 utf-8 一个字符一个字节,一个汉字三个字节,繁体四个
wc FILENAME(行数,单词数,字节数,FILENAME)
-l 行数
-w 单词数
-m 字符
-c 字节
tr 字符替换命令 :%s/root/123
tr set1 set2
-t 等长字符替换
-c 反选定
-d 删除指定字符|
-s 将多个连续重复的字符替换为单个字符
grep 文本关键字过滤显示
grep ‘模式匹配(关键字)’ FILENAME 文本三剑客grep sed awk
-i 忽略大小写
-o 只显示关键字
-v 反过滤
#cat /etc/login.defs 查看配置文件的关键参数信息
3 作业
1.课程笔记总结
2.将/etc/passwd 文件中3,4 字段分别截取出来分别写入文件UID和文件GIU但是这两个文件中的信息是以数值由大到小的形式显示;
# echo /etc/passwd cut -f3 >UID sort -nr UID
# echo /etc/passwd cut -f4 >GIU sort -nr GIU
3.通过查看时间命令将分别将年月日时分写入A文件
# date |cut -d " " -f 2,3,4,6 >A
4.告诉用户当前系统有多少用户 (/etc/passwd文件有多少行一行是一个用户信息)。
# wc -l /etc/passwd |cut -d " " -f 1
5.不显示/etc/login.defs 文件中以#开头的行以及空白行。
# grep -v '^#' /etc/login.defs |grep -v '^$'