上期作业
#mkdir -pv /mnt /{sysroot,boot} #mkdir -pv /mnt/{sysroot/{},boot} #mkdir /test/abc{1..100} #cp -r /mnt/boot /test/boot.bak #mv /mnt/boot /test/boot.bak #mkdir /pub #cp -r /test/*9* /pub #mv /test/*1* /pub
vim 文本编辑器 vi
命令模式:
d+enter 删除光标所在行以及下一行
dd 删除光标所在行
x 删除光标所在字符
Ndd 3dd 删除光标开始一共五行
3,5dd 删除3到5行的内容
dG 删除光标所在行位置到文档尾
dgg 删除光标所在行到文档首
s 字符替换,替换光标所在字符
yy 复制光标所在行 4yy
p 粘贴在光标行所在的下一行
cc 剪切光标所在行
G 跳转到文本尾的行首
gg 跳转到文档首的行首
^ 跳转到行首
$ 跳转到行尾
u 向左撤销
ctrl+r 向右撤销
命令模式进入插入模式
a 插入到光标后
A 插入到行尾
i 插入到光标卡前
I 插入到行首
O 插入到上一行
o 插入到下一行
s 删除光标字符进入插入模式
S 删除光标行进入下一行
末行模式 :
:wq
:q
:q!
:wq!
:15
: set nu
/root 匹配root关键字
:noh
:1,5 co 10
:% s/root/000 关键字替换,替换的是每一行中第一次匹配到的root关键词
:% s/root/000/g
:r F
:.!date
:r /boot/grub2/grub.cfg
.* 正则符:.任意个字符 (数据内容)
*匹配前一个字符任意次
通配符:*任意长度任意次字符 (文件名)
?匹配任意单个字符
文本内容处理命令
echo 打印命令 (标准输入输出的命令)
#echo helloworld [root@tlc ~]#echo $HOSTNAME $引用变量 tlc #echo "$HOSTNAME" TLC #echo '$HOETNAME' $HOSTNAME [root@Tlc ~]# echo 当前时间`date` 当前时间Sat Nov 26 14:53:00 CST 2022 [root@Tlc ~]# echo 当前时间$(date) 当前时间Sat Nov 26 14:53:34 CST 2022 ()$ 替换命令
Linux中文的文件描述符 0标准输入 1标准输出(正确输出) 2错误输出
// >输出重定符(将程序的内容输出重定到指定文件--将内容写入文件,会覆盖源文件内容)
4.>>输出追加重定向符 (不会覆盖)
3.< 输入重定向符
-
<< 终止重定向符
#head /etc/passwd 1>file #tail -2 /etc/passwd >>file #cmd 2> file1 把cmd的错误结果输入到file1文件 #cmd &> file1 & 表示1和2 把cmd正确或者错误输出写入到file1文件 ==cmd 1>file1 2>&1
| 管道符(无名管道)前一个命令的输出结果安装字符流的形式通过管道符链接一个命令进行处理
| tee T型管道 横向输出将前一个命令的标准输出作为后面文件的标准输入 |tee-a ==>>
纵向输出将前一个命令的标准输出直接在终端打印显示
文件的进行处理
cut 剪切
-c 字符 -d 分割字符 -f 分割字段 #
sort 排序
默认按照文件行的字符进行比较(从小到大) -r 降序 从大到小 -n 按照数值比较大小(从小到大) -u unique 去重 #sort -nu aaa
uniq 去重 重复行必须相邻
[root@tlc ~]# sort aaa| uniq
wc 文本统计 word count
wc FILENAME 统计指定文件的行 单词数和字节数 -l 统计行数 -w 统计单词书 -m 统计字符数 -c 统计字节数 []#wc -l bbb 1 bbb []#echo"bbb文件一共有 `wc -l bbb| cut -d ` ` -f 1`行"
uniq 去重
tr 字符替换命令
[root@Tlc /]# echo helloworld | tr l 0 l替换成0字符 he00owor0d [root@Tlc /]# echo helloworld | tr -c l 0 除了l都替换成0字符(反选定) 00ll0000l00 [root@Tlc /]# echo helloworld | tr -t hl 0 等长字符的替换 0elloworld [root@Tlc /]# echo helloworld | tr -t hl 01 0e11owor1d [root@Tlc /]# echo helloworld | tr -d l 删除 heoword [root@Tlc /]# echo 1 2 3|tr -s "" " " 将多个出现的连续空格字符替换为单个空格字符 1 2 3 #df -h 查看
grep 文本过滤显示命令
格式: grep '关键字' FILENAME grep 'root' /etc/passwd 过滤关键字,有root关键字行打印到终端 grep -o 'root' /etc/passwd 过滤关键字,只把root关键字打印到终端 grep -i 'ROOT' /etc/passwd 过滤关键字乎略大小写 grep -v 'root' /etc/passwd 过滤关键字,把没有关键字的行显示 #cat /etc/login.defs grep -v '^#' /etc/login.defs ^#以#号开头 grep -v '^#' /etc/login.defs | grep -v '^$' ^$ 空白行
作业题:
1.课程笔记总结
2.将/etc/passwd 文件中3,4 字段分别截取出来分别写入文件UID和文件GIU但是这两个文件中的信息是以数值由大到小的形式显示;
3.通过查看时间命令将分别将年月日时分写入A文件
4.告诉用户当前系统有多少用户 (/etc/passwd文件有多少行一行是一个用户信息)。
5.不显示/etc/login.defs 文件中以#开头的行以及空白行。