第6章 I/O重定向与管道

发布时间 2023-12-03 23:30:43作者: 用户中心ag

一、I/O重定向

date 显示出当前时间

tty 显示进程运行终端

date > date.txt 结果写入date.txt

date > /dev/pts/4 将终端3的date输出结果重定向到终端4

执行passwd命令改密码时,系统会产生一个进程,其PID为10277

passwd

ps aux | grep passwd

在/proc虚拟文件系统中,可以查看内核与进程的一些信息其中有很多数字。进入10277目录下的fd,目录

ls /proc/10277/fd

ll /proc/10277/fd

数字标识=文件描述符。0表示标准输入,为键盘输入;1表示标准输出,输出到终端;2表示标准错误,输出到终端;3及以上为常规文件的描述符

date 1 > date.txt  将输出方向从终端改变为date.txt (重定向)

date 2 > date.txt  改变描述符为2的文件的输出方向,date命令是正确的,执行结果在终端中显示

linux 2 > date.txt 输入命令是错误的,执行结果标准输出在终端上,重定向到date.txt

cat命令默认文件描述符为0,输入重定向把键盘输入改为/etc/hosts文件输入

cat

cat 0 < /etc/hosts

1、输出重定向

输出重定向(覆盖)date 1 > date.txt

输出重定向(在尾部追加)date >> date.txt

错误输出重定向  ls /home/linux 2 > error.txt

正确结果与错误结果都输出到相同位置 ls /home/ /linux &>list.txt

正确结果与错误结果都输出重定向到相同的位置 ls /home/ /linux >list.txt 2>&1

2、输入重定向

grep ‘root’过滤root

grep ‘root’ </etc/passwd 输入重定向到/etc/passwd

使用dd命令从/dev/zero中读取数据并写入到file01.txt文件,每次写入1MiB,一共写入2次

dd if=/dev/zero of=/file01.txt bs=1M count=2

输入重定向与输出重定向

dd </dev/zero>file02.txt bs=1M count=2

使用at命令创建一个计划任务,从现在开始5分钟后创建用户linux,按组合键Ctrl+d结束

at now +5 min