day 04

day 04

vim vi文本编辑器 重点

vim FILENAME

vim

命令模式

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

dd          删除光标所在行

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

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

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

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

S           替换,替换光标所在行                 .....进入插入模式(退出插入模式按Esc)
G            跳转到文档末行的行首

gg           跳转当文档首行的行首

5G           跳转到文件的第五行

^            光标跳转到行首

$            光标跳转到行尾


yy           复制光标所在行

p            粘贴在光标下一行

cc           剪切光标所在行


u            向左撤销

ctrl+r       向右撤销  


命令模式–进入插入模式

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

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

a         插入到光标后

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

i         插入到光标前

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

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

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


命令–末行模式

:w    写入保存

:w   FILENAME 

:q    退出

:q!   强制退出

:wq  !

:set  nu  显示行号

:set  nonu  取消行号

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

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

:12,18 co  40

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

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


echo 打印 标准输入输出

echo $ 查看变量数值

eg:令x=2

​ echo $x

​ 2

$ 引用变量

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

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

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

’ ‘ 命令替换 $()

#echo   $SHELLS    打印变量值
#echo   $?   查看上一条命令的返回值
[root@www ~]# echo $SHELL
/bin/bash
[root@www ~]# echo "$SHELL"
/bin/bash
[root@www ~]# echo ' $SHELL'
$SHELL
[root@www ~]# echo当 前系统时间是“date
当前系统时间是Sun NoV 27 14:30:01 CST 2022
[root@www ~]# echo当前 系统时间是$(date)
当前系统时间是Sun NoV 27 14:31:28 CST 2022

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

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

>> 追加输出重定符

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

< 输入重定向符

<< 终止结束符

#echo   1234 > file
#echo   234 >> file
#cat /etc/passwd > file
#> file2   创建file2文件
#cat   << EOF
> aaaa
>bbbb
>EOF
aaaa
bbbb
#cat  << EOF > file   编辑file文件写入内容
>aaaa
> bbbb
>EOF

| 管道符 将前一个程序(命令)输出结果通过管道符按照字符流的形式转递给后面程序

| tee T型管道 |tee -a

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

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

文本内容处理相关的命令

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

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

cut 文本剪切

-c   字符
-d   分隔符类型
-f   指定字段
#cat    /etc/passwd

sort 文本排序

按照行的字符进行比较(从小到大)
-n   数值    (从小到大)
—r   降序
-u   去重
-t   分隔符
-k   字段

uniq 去重

重复行必须相邻
[root@www /]# sort -u CCC
12
123
34
45
[root@www /]# sort CCc | uniq
12
123
34
45
-C   统计每一行重复次数
-d   查看重复行
-D   查看所有重复行的内容
[root@www /]# sort Ccc | uniq -C
1  12
4  123
1  34
1  45
[root@www /]# sort CCc | uniq -d
123
[root@www /]# sort ccc| uniq -D
123
123
123
123


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  单词数
-c  字节
-m  字符
eg:显示系统有多少用户
[root@www /]# WC -1 /etc/ passwd
47 /etc/passwd
[root@www /]# cat /etc/passwd | wC -1
47
[root@www /]# WC -1 /etc/passwdI cut -d ""-f 1
47

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

tr  set1  set2
 -t  等长字符替换
 -c  反选定
 -d  删除指定字符
 -s  将连续多个重复字符换成单个字符
[root@www /]# echo 1112223331 tr 123 abc
aaabbbccc
[root@www /]# echo 1112223331 tr 123 abcdef
aaabbbccc
[root@www /]# echo 1112223331 tr 123 ab
aaabbbbbb
[root@www /]# echo 1112223331 tr -t 123 ab
aaabbb333


[root@www /]# echo 1112223331 tr-c 1 a
111aaaaa[root@www /]#
[root@www /]#
[root@www /]#
[root@www /]# echo 1112223331 tr -d 1
222333
[root@www /]# echo "1 2  3   4" | tr-s " " " "
1 2 3 4

grep 文本关键字过滤显示

grep ‘模式匹配’  FILENAME
-i   忽略大小写
-o   只显示关键字
-v   反过滤
#cat /etc/login.defs
查看配置文件的关键参数信息并写入a.txt
[root@www /]# grep -V '^#' /etc/1ogin.defs  |  grep -V '^$' |tee  a.txt
[root@www /]# grep -V '^#’ /etc/login.defs  | grep -V '^$' > a.txt

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值