I/O重定向
重定向:
使用tty可以获取当前终端号
输入命令,例如date会将系统时间输出到终端中,当使用date > 文件名会将系统时间输出到该文件中
修改密码的命令passwd,按下后不继续输入新密码,使用ps aux | grep passwd获取刚才使用passwd进程的信息,其中有pid,使用ls /proc/进程号/fd和ll /proc/进程号/fd获取文件描述符信息
文件描述符:
0:标准输入 1:标准输出 2:标准错误 3:常规文件描述符
举例说明:
命令 1> 文件a :当命令有错误的时候会将错误输出到终端,正确命令的内容输出到文件a
命令 2> 文件b :当前命令有错误的时候会将错误输出到文件a,正确命令的内容输出到终端
命令 1> 文件a 2>文件b :当前命令有错误的时候会将错误输出到文件b,错误命令的内容输出到文件a
输入重定向:
> 表示覆盖
>> 表示追加
使用 &>文件a或&>>文件a 将正确和错误的内容输入到文件a
输出重定向
< 文件或命令 将文件或命令输出内容输出到<左边的命令中
命令dd 可以复制文件内容 例如:dd if=a of=b bs=1M count=2 将文件a的内容复制到文件b
使用dd < 文件a > 文件b 与上面命令效果相同
案例:
提前将命令写入文件a,创建计划任务 at now +5 min <a
可以将要执行的任务在5分钟后执行
重定向综合:
1.使用echo 内容 >或>> 文件可以将内容覆盖或追加到文件中,但每次只能加一行
2.使用cat > 文件名,可以连续输入多行然后输入Ctrl+C或Ctrl+D结束输入
3.使用cat > 文件名 <<文件结束符:输入多行要写的内容,然后输入自定义的文件结束符结束输入
4.使用vim创建shell脚本,里面写内容:
cat > file200.txt<<EOF
111
222
333
aaa
EOF
可以执行命令并根据最后的EOF结束命令
5.多条命令同时执行重定向可以将多条命令写在圆括号内 > 文件文件名
标签:文件,重定向,错误,输出,命令,管道,输入 From: https://www.cnblogs.com/zcun/p/17818400.html