Linux系统配置及服务管理-管道重定向

管道命令可以将多条命令组合起来,一次性完成复杂的处理任务。
语法
command1 | command2 |command3 |…
在这里插入图片描述
案例
[# cat /etc/passwd | tail -3
[# ps aux | grep ‘sshd’
三通管道,即交给另一个程序处理。又保存一份副本
在这里插入图片描述
[root@localhost ]# cat /etc/passwd |tee 88.txt | tail -1
qianfeng❌1001:1001::/home/qianfeng:/bin/bash
[root@localhost ~]# cat 888.txt。
参数传递 Xargs:
1 环境准备,准备一些文件。
[root@localhost ~]# touch /home/file{1…5}
[root@localhost ~]#ls /home
2 接到消息,部分文件需要删除。
[root@localhost ~]# vim files.txt
/home/file1
/home/file3
/home/file5
3 使用管道
[root@localhost ~]# cat files.txt |rm -rvf
失败
4.貌似之前的不行。下面加上xargs
[root@localhost ~]# cat files.txt |xargs rm -rvf
removed ‘/home/file1’
removed ‘/home/file3’
removed ‘/home/file5’
[root@localhost ~]#ls /home
通过|xargs成功连接rm命令
重定向:标准输入、标准输出、标准错误。
FD简介
file descriptors ,FD,文件描述符
进程使用文件描述符来管理打开的文件
图示
在这里插入图片描述
FD是访问文件的标识,即链接文件
0是键盘只读,
1,2是终端可以理解是屏幕,
3+是文件,可读可写
示例
通过我们非常熟悉的VIM程序。来观察一个进程的FD信息。
1.通过一个终端,打开一个文本。
vim 1.txt
2.通过另一个终端,查询文本程序的进程号
ps aux| grep vim
3.在/proc目录中查看文本程序的FD
通常在 /proc/PID/fd 就能看到文件的FD调用情况。
[root@localhost ~]# ls /proc/5606/fd
感觉好像没什么。用用ls -l呢?
[root@localhost ~]# ll /proc/5606/fd
总用量 0
lrwx------. 1 root root 64 10月 10 07:37 0 -> /dev/pts/2
标准输入
lrwx------. 1 root root 64 10月 10 07:37 1 -> /dev/pts/2
标准输出
lrwx------. 1 root root 64 10月 10 07:37 2 -> /dev/pts/2
标准错误输出
lrwx------. 1 root root 64 10月 10 07:37 3 -> /root/.1.txt.swp
常规文件
4.总结
看到的0124就是FD,程序通过描述符访问文件,
可以是常规文件,也可以是设备文件。
简介
输出重定向分为
正确输出
1>等价于 >
1>> 等价于>>
错误输出
2>
没有简写
2>>
没有简写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值