linux重定向

重定向

重定向有些类似java的io流,是将输入输出的信息重新到一个文件中,重是对输出输入信息的重定向,而不是对文件的重定向
使用标识符为 >
date > data.txt 本来这个日期是要打印到终端,现在使用 > 将其重定向到一个文件中,于是这个日期便写入到这个文件中,实际是以IO的操作在执行
date > /dev/pts/3 是将日期重定向到终端中,而终端就是一个文件,会显示出来,我们平时所输入的命令其实都是写入到终端这个文件中,于是我们便看到了这条数据
ls /proc/2861/fd fd为文件描述符 这条命令为查看进程目录下的某个进程打开了什么文件
每个进程在执行的时候都会打开一些文件,这些文件会有一个数组编号,从0开始,fd便是描述这些文件的描述符号,进程要访问的也是这些文件符号,每打开一个文件便有一个文件描述符
$$ 当前进程的PID

几个重要的FD文件描述符(大多数通用,设备文件)

0 stdin 标准输入 从键盘接受数据
1 stdout 标准输出 将信息输出到终端去
2 stderr 标准错误 将错误信息输出到终端去
3+ 为其他文件名字
date 1> date.txt 将FD为1的文件重定向道data.txt > 输入重定向
date > date.txt 1可以省略,除了标准错误,其他两个都可以省略
date 0< date.txt 输出重定向 < 小于号
date >> date.txt >> 是追加的意思 > 是覆盖
echo “111” 一种回应语句,重复
“” > /etc/da 清空数据
ls home /dafafadf &> date.txt 混合输出重定向,正确与错误一起 输出到相同位置
ls home /dafafadf > date.txt 2> &1 将2重定向输出到1中,1重定向到文件中
ls home > /dev/null 垃圾回收
mail 查看邮件

设备文件与普通文件

普通文件有大小,设备文件没有大小,设备文件都有主设备号 从设备号
crw-rw-rw-. 1 root root 1, 3 Sep 10 22:10 /dev/null
brw-rw----. 1 root disk 8, 1 Sep 10 22:10 /dev/sda1
brw-rw----. 1 root disk 8, 0 Sep 10 22:10 /dev/sda
-rw-r–r--. 1 root root 158 Jun 7 2013 /etc/hosts
主设备号相同证明他们是同一类设备,内核对他使用的是同一类的模块驱动
从设备号是他们在同一类设备中的一个编号
块设备有缓冲,字符设备没有缓冲
在这里插入图片描述
创建设备:mknod -m 666 /dev/null c 13 这个是null设备 字符设备
cat > Desktop/file << EOF 多次输入,直到输入EOF退出,这个字符是任意的自己定义的
cat > Desktop/file << -EOF 注意这里的-,加上他代表无视文件中的tab符,可以整体缩进不影响美观
bash file 通过shell来执行文件
(ls; date) &> /dev/null 两者都重定向

管道:Piping

管道是将信息重定向到其他进程中
使用标识符 |

单向管道

linux设计的时候是为了追求性能,所以他将一些功能设计的比较单一,这个时候想要使用复杂的功能就需要用到管道
ps aux | less less需要一个输入,而ps则是输出一大堆的信息,如果两个通过管道联合,那就很完美
rpm -qa 查询所有已经安装的包
yum list 查看本机上已安装未安装的文件
sort 对文件排序
-n 按照数字排序
-k2 按照第二列排序
-t: 按照指定分隔符分层
sort -n -t: -k3 /etc/passwd 按照分隔符的第三行数字排列
awk -F: ‘{print $7}’ /etc/passwd | sort | uniq -c 查看重复的文件内容排重并且统计数字,uniq去重
systemctl stop firewalld 临时关闭防火墙
ip a | grep 'inet ’ 查看ip地址,加上引号可以使用空格,最正宗的写法

TEE管道

在这里插入图片描述
ip a | grep 'inet ’ | tee ip.txt | awk -F"/" ‘{print $1}’ | awk ‘{print $2}’ tee 管道,将前边的结果保存到一个文件中去,tee管道也是定向到一个文件中
同一个终端中使用的都是匿名管道,在多个终端宗使用的是实名管道
mkfifo a 创建匿名管道

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值