一、管理及IO重定向:
1、系统设定:
默认输出设备:标准输出,STDOUT,1
默认输入设备:标准输入,STDIN,0
标准错误输出:STDERR,2
2、I/O重定向:
>:覆盖输出
>>:追加输出
set:
set -C:禁止对已经存在的文件使用覆盖重定向;
强制覆盖输出,则使用 >|
set +C:关闭上述功能
2>:重定向错误输出
2>>:追加方式错误输出
&>:重定向标准输出或错误输出至同一个文件
<:输入重定向
例:[root@Ourlab ~]# tr 'a-z' 'A-Z' < /etc/fstab
LABEL=/ / EXT3 DEFAULTS 1 1
LABEL=/HOME /HOME EXT3 DEFAULTS 1 2
LABEL=/BOOT /BOOT EXT3 DEFAULTS 1 2
<<:在此处生成文档
例:[root@Ourlab ~]# cat << END
> The first line.
> The second line.
> END
The first line.
The second line.
例:在脚本中生成文件:
[root@Ourlab ~]# cat >> /tmp/myfile.txt << EOF
> The first line.
> The second line.
> EOF
[root@Ourlab ~]# cat /tmp/myfile.txt
the first line.
the second line.
The first line.
The second line.
管道:"|"命令:前一个命令的输出作为后一个命令输入
命令1|命令2|命令3....
例:[root@Ourlab ~]# echo "hello,world." | tr 'a-z' 'A-Z'
HELLO,WORLD.
tee:从标准输入读取并写入标准输出和文件
例:[root@Ourlab ~]# echo "hello,world." | tee /tmp/hello.out
hello,world.
[root@Ourlab ~]# cat /tmp/hello.out
hello,world.
二、课后练习:
1、统计/usr/bin目录下的文件个数;
[root@Ourlab ~]# ls /usr/bin | wc -l
1747
2、取出当前系统上所有用户的shell,要求每种shell只显示一次,并且按顺序进行显示;
[root@Ourlab ~]# cut -d: -f7 /etc/passwd | sort -u
/bin/bash
/bin/sync
/bin/tcsh
/sbin/halt
/sbin/nologin
/sbin/shutdown
3、如何显示/var/log目录下每个文件的内容类型;
[root@Ourlab ~]# file /var/log/*
4、取出/etc/inittab文件的第6行;
[root@Ourlab ~]# head -6 /etc/inittab | tail -1
5、取出/etc/passwd文件中倒数第9个用户的用户名和shell,显示到屏幕上并将其保存至/tmp/users文件中;
[root@Ourlab ~]# tail -9 /etc/passwd | head -1 | cut -d: -f1,7 | tee /tmp/users
6、显示/etc目录下所有以pa开头的文件,并统计其个数;
[root@Ourlab ~]# ls -d /etc/pa* | wc -l
6
7、不使用文本编辑器,将alias cls=clear 一行内容添加至当前用户的.bashrc文件中;
[root@Ourlab ~]# echo "alias cls=clear" >> ~/.bashrc
阅读(716) | 评论(0) | 转发(0) |