【无标题】

day04

vim vi 文本编辑器

vim FILENAME

命令模式

a 进入编辑

esc 输入命令

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

dd 删除光标所在行

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

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

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

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

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

G 跳转到文档末行的行首

gg 跳转到文档给首行的行首

5G 跳转到文件第五行

^ 光标跳转到行首

$ 光标跳转到行尾

yy 复制光标所在行

p 粘贴在光标下一行

cc 剪切光标所在行 —进入插入模式

u 向左撤销

ctrl+r 向右撤销

命令模式–插入模式

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

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

x 删除光标字符

a 插入到光标后

A 插入到光标所在的行尾

o 插入到光标所在下一行

O 插入到光标所在上一行

命令模式–末行模式

:w 写入保存

:w FILEMANE

: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 命令的结果显示在文档中

/关键字 快速匹配关键字

:noh 取消关键字的高亮显示

日期 :.!date

echo 打印 标准输入输出

$ 引用变量

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

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

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

``

#echo  $SHELLS  打印变量值
#echo  $?  查看上一条命令的返回值
[root@localhost ~]# echo  $SHELL
/bin/bash
[root@localhost ~]# echo  "$SHELL"
/bin/bash
[root@localhost ~]# echo  '$SHELL'
$SHELL
[root@localhost ~]# echo  当前的系统时间是`date`
当前的系统时间是Sun Nov 27 14:43:25 CST 2022
[root@localhost ~]# echo  当前系统的时间是$(date)
当前系统的时间是Sun Nov 27 14:44:21 CST 2022

Linux中的文件描述符 0标准输入 1标准输出 2错误输出

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

>> 追加重定向符

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

< 输入重定向符

<< 终止结束符

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

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

|tee T型管道 |tee -a

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

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

head -x(显示前x行)

tail -1 (显示最后一行)

文本内容处理相关的命令

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

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

cut 文本剪切

-c  字符
-d  分割符类型
-f  指定字段
#cat  /etc/passwd
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

sort文本排序

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

uniq去重

重复行必须相邻

-c  统计每一行重复次数
-d  查看重复行的内容
-D  查看所有重复行内容
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

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/passwd | cut -d " " -f 1
47

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

tr  set1  set2
-t  等长字符替换
-c  反选定
-d  删除指定字符
-s  将多个连续重复字符替换为单个字符
[root@www /]# echo 111222333 | tr 123 abc
aaabbbccc
[root@www /]# echo 111222333 | tr 123 abcdef
aaabbbccc
[root@www /]# echo 111222333 | tr 123 ab
aaabbbbbb
[ root@www /]# echo 111222333 | tr -t 123 ab
aaabbb333
[root@www /]# echo 111222333 | tr -c 1 a
111aaaaa
[root@www /]# echo 111222333 | tr -d 1
222333
[root@www /]# echo "1 2     3     4" | tr -s " " " "
1234

prep 文本关键字过滤显示

grep '模式匹配'  FILENAME
-i  忽略大小写
-o  只显示关键字
-v  反过滤
#cat  /etc/login.defs
查看配置文件的关键参数信息并写入a.txt
#grep  -v  '^#'  /etc/login.defs  | grep  -v  '^$' |tee  a.txt
#grep  -v  '^#'  /etc/login.defs  | grep  -v  '^$' >  a.txt
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值