2022/10/26

2022/10/26
数据流重定向
重定向操作符——“>”、“>>”、“<”、“<<”
在Linux系统中
默认的输入设备(标准输入)是键盘
默认的输出设备(标准输出)是屏幕
[root@localhost ~]# head -3 /etc/passwd > aaa
[root@localhost ~]# cat aaa
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
重定向符 >
追加重定向符 >>
输入重定向符 <
终止结束符  <<
[root@localhost ~]# cat << EOF >bbb
[root@localhost ~]# cat << EOF >bbb
> 1
> 2
> 3
> 4
> 5
> EOF
[root@localhost ~]# cat bbb
1
2
3
4
5

文件有三个标识符(0 1 2)
[root@localhost ~]# cat << EOF >bbb
> 1
> 2
> 3
> 4
> 5
> EOF
[root@localhost ~]# cat bbb


[root@localhost ~]# head -3 /etc/passwd 1> ccc 2> bbb(真确1   错误2)

grep命令
[root@localhost ~]# cat /etc/passwd | grep
b 将可执行文件(binary)当作文本文件(text)来搜索
-c 仅显示找到的行数
-i 忽略大小写
-n 显示行号
-v 反向选择——仅列出没有“关键词”的行
-A -A 2:搜索时显示匹配到的那一行以及下2行
-B -B 2:搜索时显示匹配到的那一行以及上2行
-C -C 2:搜索时显示匹配到的那一行以及上下2行

[root@localhost ~]# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@localhost ~]# grep -c root /etc/passwd
2

[root@localhost ~]# grep -A 2 root /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
--
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

*任意长度任易字符

[root@localhost ~]# grep ^root /etc/passwd
root:x:0:0:root:/root:/bin/bash
[root@localhost ~]# grep bash$ /etc/passwd
root:x:0:0:root:/root:/bin/bash
rhcsa:x:1000:1000:rhcsa:/home/rhcsa:/bin/bash

[root@localhost ~]# grep '[abcdef]' /etc/passwd
把abcdef的字符过滤出来

匹配以q开始的行 grep ^q 文件名
匹配以q结束的行 grep q$ 文件名
匹配以数字开头的行 grep ^[0-9] 文件名
匹配以q或者f开头的行 grep ^[qf] 文件名
不匹配以q或者f开头的行 grep ^[ ^qf ] 文件名
匹配以#号开头的行 grep ^#    (以#开头的大多是注释)
过滤空白行 grep ^$
如果要明确搜索子目录有h的字符 grep -r h ./*
忽略子目录 grep -d skip h ./*

[root@localhost ~]# grep -r 123 /root  (从根目录查找123)


练习 
1.通过多种方法将以下内容写入文件。

111111111

222222222

333333333

2.过滤/etc/passwd有root关键字的行。

3.将/etc/login.defs文件的关键信息写入login文件。

4.将/etc/passwd文件中以bash结尾的信息追加写入login文件。

5.将/etc/login.defs文件中有数字的行追加写入到login文件。


#vim filename1 文件名
111111111
222222222
333333333
:wq

#nano filename2
111111111
222222222
333333333
ctrl+x   y enter

#echo     111111111 > filename3
#echo     222222222 >> filename3 
#echo     333333333 >> filename3
echo -e "111111111\n222222222\n333333333" > aaa

#cat <<EOF > filename4
>111111111
>222222222
>333333333
>.

2#grep -选项  '关键字匹配'   文件名   
#grep 'root' /etc/passwd

3grep -v '^#'  /etc/login.defs | grep -v '^$'

4grep 'bash$' /etc/passwd |tee login
grep 'bash$' /etc/passwd > login

5grep '[0-9]' /etc/login.defs | tee -a login
grep '[0-9]' /etc/login.defs >> login

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值