Linux管道命令
- 管道命令:|
管道命令的作用:前一个命令的输出是后一个命令的输入
例如:统计目前有几个用户登录
1 | [root@master ~]# who |
查看/etc下面的文件和文件夹及其子文件夹、子文件的详细信息,并以可翻页的形式显示:
1 | [root@master ~]# ls -Rl /etc | less |
增加一个用户aaa,并查看/etc/passwd的内容,该文件存放了所有的系统用户、root用户、自定义用户。增加一个用户aaa,就可以看到该文件最后增加的相应的一行内容。用管道命令统计该文件的行数、字数、字符数。
1 | [root@master ~]# adduser aaa |
查看是否存在用户aaa
1 | [root@master ~]# cat /etc/passwd | grep aaa |
命令rpm -qa可以查看目前安装了哪些应用程序。现在要用管道命令,检查是否安装了mysql数据库:
1 | [root@master ~]# rpm -qa | grep mysql |
查看mysql数据库中有多少个组件:
1 | [root@master ~]# rpm -qa | grep mysql | wc -l |
通过这个命令,说明了管道命令是可以级联的,从而实现更加复杂的功能。
- vi编辑器操作
(1)vi编辑器的启动和退出
用命令:vi+文件名:进入vi编辑器
按i键进入编辑模式,可以输入内容
按:wq保存退出,按:q!不保存退出
(2)vi编辑器的工作模式
编辑模式:进入vi编辑器以后的默认模式
插入模式:在编辑模式下,按i键,进入插入模式
命令模式:在编辑模式下,按:键,进入命令模式
(3)vi编辑器常用命令
:q! 不保存退出
:wq 保存退出
:?单词 查找文件中的某一个单词位置,查找定位后,按n键可以连续定位下一个单词。
😒/单词1/单词2/g 把文件中所有的单词1,替换成单词2
:d 删除当前行,或者在编辑模式状态下,在某一行上按dd,直接删除这一行
课堂练习:
- 在/opt下建立文件夹/opt/aaa
1 | mkdir /opt/aaa |
- 用vi编辑器建立文件/opt/aaa/a01.txt,并输入下面的内容
1 | vi /opt/aaa/a01.txt |
保存并退出
用管道命令统计/opt/aaa/a01.txt,一共有几行
1 | cat /opt/aaa/a01.txt | wc -l |
- 用管道命令找到所有的含有hdfs单词的内容
1 | grep "hdfs" /opt/aaa/a01.txt |
- 用管道命令统计含有spark单词的行,一共有几行
1 | grep "spark" /opt/aaa/a01.txt | wc -l |
- 用管道命令统计spark单词有几个
1 | grep -o "spark" /opt/aaa/a01.txt | wc -l |
- 查看系统中是否安装了hbase软件包
1 | rpm -qa | grep hbase |
- 新建用户bbb,并查找/etc/passwd中是否存在该用户
1 | useradd bbb |
在vi编辑器中,用?命令,查找hello单词
在vi编辑器中,用:s/单词1/单词2/g命令,将所有的hello,替换成hi
1 | # 进入vi 使用如下命令 |
- 用管道命令,统计包含hi的内容一共有多少行,并利用重定向命令将结果写入/opt/aaa/a02.txt
1 | grep hi /opt/aaa/a01.txt | wc -l >> /opt/aaa/a02.txt |