Linux学习之九(I/O重定向)
来源:互联网 发布:linux命令强制删除文件 编辑:程序博客网 时间:2024/05/24 05:03
一、管理及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
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
0 0
- Linux学习之九(I/O重定向)
- Linux学习之---管理及I/O重定向
- Linux Bash Shell学习(十七):I/O重定向
- Linux 输入输出(I/O)重定向
- linux I/O重定向
- Linux I/O重定向
- Linux I/O重定向
- Linux I/O重定向
- linux初学习之-I/O重定向
- Linux初学实战之重定向标准 I/O 流
- Linux shell I/O(输入/输出)重定向详解
- Linux shell I/O(输入/输出)重定向详解
- Linux shell I/O重定向详解
- Linux shell I/O重定向详解
- linux下的I/O重定向
- Linux下的I/O重定向
- Linux shell I/O重定向详解
- Linux shell I/O重定向详解
- vs2010 gstreamer开发环境安装
- UIWebView 本地加载网页和文件(图片素材,js,css)(功能插件化)
- bootstrap表格内容循环
- [Language]Python变量,内存管理,操作符,数字类型
- JAVA 9 的新特性
- Linux学习之九(I/O重定向)
- Nginx学习之合并请求连接加速网站访问
- Problem : STL——集合运算
- 7个最佳的Java框架
- Spring的文件上传
- oracle的连接查询(内外连接)
- extjs4 combobox 多选与赋值
- 数据库基础知识~
- 使用云片API发送短信验证码