管道和重定向
运算器,控制器:CPU
存储设备:ram
输入输出设备:
程序:
系统设定:
默认输出设备:标准输出 1
默认输入设备:标准输入 0
标准错误输出:STDERR 2
I/O设备重定向
linux:
输出重定向:> (原有内容会被覆盖) ;>>(追加输出)
[root@localhost /]# ls /var > /tmp/var.out
[root@localhost /]# cat /tmp/var.out
account
cache
crash
db
empty
[root@localhost /]# ls /etcc > /tmp/errtest.out
ls: cannot access /etcc: No such file or directory
[root@localhost /]# ls /etcc 2> /tmp/errtest.out
[root@localhost /]# cat !$
cat /tmp/errtest.out
ls: cannot access /etcc: No such file or directory
[root@localhost /]# cat << END
> the first line.
> the second line.
> END
the first line.
the second line.
重定向所有的输出:&>
输入重定向:<
[root@localhost /]# cat
sdfg^C
[root@localhost /]# cat < /tmp/errtest.out
ls: cannot access /etcc: No such file or directory
[root@localhost /]# tr 'a-z' 'A-Z'
ASFDdsf
ASFDDSF
[root@localhost /]# tr 'a-z' 'A-Z' < /tmp/errtest.out
LS: CANNOT ACCESS /ETCC: NO SUCH FILE OR DIRECTORY
[root@localhost /]# cat << END
> the first line.
> the second line.
> END
the first line.
the second line.
[root@localhost /]# cat >> /tmp/test.out <<EOF
> the first line.
> the second line.
> EOF
[root@localhost /]# cat /tmp/test.out
the first line.
the second line.
set -C:禁止对已经存在的文件进行覆盖(如果要覆盖使用>|)
set +C:关闭上面功能
管道
前一个命令的输出,作为后一个命令的输入
命令1 | 命令2 | 命令3
把echo的输出,作为tr的输入
[root@localhost /]# echo "hello,world" | tr 'a-z' 'A-Z'
HELLO,WORLD
tee:及输出到标准输出有保存文件
[root@localhost /]# echo "hello world." | tee /tmp/hello.out
hello world.
[root@localhost /]# cat tmp/hello.out
hello world.
[root@localhost /]# wc -l /etc/passwd
41 /etc/passwd
[root@localhost /]# wc -l /etc/passwd | cut -d' ' -f1
41

被折叠的 条评论
为什么被折叠?



