Linux管道及I/O重定向
I/O:
系统设定
默认输入设备:标准输入,STDIN,0
默认输出设备:标准输出,STDOUT,1
标准错误输出:STDERR,2
属于不同的数据流
标准输入:键盘
标准输出和错误输出:显示器
I/O重定向:
输出重定向:
> :覆盖输出
>> :追加输出
2>:错误输出
2>>:追加错误输出
正常输出
ls /usr > /tmp/var.out
set
-C:禁止对已经存在文件使用覆盖重定向;
+C:允许覆盖输出
强制覆盖输出
ls /usr >| /tmp/var.out
错误输出
ls /varr 2> /tmp/var2.out
定向标准输出与标准错误输出
ls /varr > /tmp/var3.out 2> /tmp/err.out
&>:重定向标准输出或错误输出至同一个文件
ls /varr &> /tmp/var4.out
输入重定向
<:正常输入
<<:Here Document
cat << EOF
正常输入
tr 'a-z' 'A-Z' < /etc/fstab
输出内容到文件中
cat >> /tmp/myfile.txt << EOF
管道:前一个命令的输出,作为后一个命令的输入
命令1 | 命令2 | 命令3 ...
echo "First love is only a little foolishness and a lot of curiosity." | tr 'a-z' 'A-Z'
echo "redhat" | passwd --stdin hive
cat /etc/passwd | sort
cut -d : -f 1 /etc/passwd | sort -n | tr 'a-z' 'A-Z'
ls /var | tr 'a-z' 'A-Z'
wc -l /etc/passwd | cut -d' ' -f 1
tee :从标准输入读取,写入到标准输出,并保存到文件中
echo "First love is only a little foolishness and a lot of curiosity." | tee /tmp/test.out
练习:
1.统计/usr/bin目录下的文件个数;
#ls /usr/bin | wc -l
2.取出当前系统上所有用户的shell,每种shell只显示一次,且按顺序显示;
# /etc/passwd 保存shell
#cut -d : -f 7 /etc/passwd |sort -u
3.如何显示/var/log目录下每个文件的内容类型?
#file /var/log/*
4.取出/etc/inittab文件的第6行;
# head -6 /etc/inittab | tail -1
5.取出/etc/passwd文件中倒数第9个用户的用户名和shell,显示到屏幕上并将其保存至/tmp/users文件中;
# tail -9 /etc/passwd | head -1 | cut -d : -f 1,7 | tee /tmp/users
6.显示/etc目录下所有以pa开头的文件,并统计其个数;
# ls -d /etc/pa* | wc -l
7.不使用文本编辑器,将alias cls=clear一行内容添加至当前用户的.bashrc文件中。
# echo "alias cls=clear" >> ~/.bashrc
Linux管道及I/O重定向的更多相关文章
- linux管道(|)与重定向(<>)的异同
共同点:管道和重定向都改变程序的标准输入或者标准输出 区别: 管道(|)两边都是程序(命令),而重定向(<>)只有左边是程序(命令).即是,管道通过两个子进程来改变两边命令的输入或输出,重 ...
- Linux入门-7 Linux管道、重定向以及文本处理
Linux管道.重定向以及文本处理 1 Linux多命令协作:管道及重定向 管道和重定向 2 Linux命令行文本处理工具 文件浏览 基于关键字搜索-grep 基于列处理文本-cut 文本统计-wc ...
- Linux管道及重定向
Linux管道及重定向 对shell有一定了解的人都知道,管道和重定向是 Linux 中非常实用的 IPC 机制.在shell中,我们通常使用符合'|'来表示管道,符号'>'和'<'表示重 ...
- Linux Shell脚本入门--(linux空设备文件和重定向)>/dev/null 2>&1
linux空设备文件和重定向 输出/输入重导向 > >> < << :> &> 2&> 2< ...
- 玩转Linux文件描述符和重定向
本文介绍linux中文件描述符与重定向的相关知识,文件描述符是与文件输入.输出相关联的整数,它们用来跟踪已打开的文件.有需要的朋友参考下. 原文出处:http://www.jbxue.com/arti ...
- linux管道命令grep命令参数及用法详解---附使用案例|grep
功能说明:查找文件里符合条件的字符串. 语 法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>] ...
- Linux管道的实现机制
7.1.1 Linux管道的实现机制 在Linux中,管道是一种使用非常频繁的通信机制.从本质上说,管道也是一种文件,但它又和一般的文件有所不同,管道可以克服使用文件进行通信的两个问题,具体表现为: ...
- linux 管道--转
linux 管道 管道是Linux中很重要的一种通信方式,是把一个程序的输出直接连接到另一个程序的输入,常说的管道多是指无名管道,无名管道只能用于具有亲缘关系的进程之间,这是它与有名管道的最大区别. ...
- Linux管道思想
1.Linux管道 {{book | upper |lower | capfirst}} 含义:就是把前一个命令的结果当成后一个命令的输入.然后在下一个管道中输出满足条件的数据,如此继续数据的流向运动 ...
随机推荐
- 20145223 杨梦云 《网络对抗》 Web基础
20145223 杨梦云 <网络对抗> Web基础 1.实验后回答问题 (1)什么是表单 表单在网页中主要负责数据采集功能.一个表单有三个基本组成部分:(1) 表单标签:这里面包含了处理表 ...
- 【转】SpringBoot学习笔记(7) SpringBoot整合Dubbo(使用yml配置)
http://blog.csdn.net/a67474506/article/details/61640548 Dubbo是什么东西我这里就不详细介绍了,自己可以去谷歌 SpringBoot整合Dub ...
- Pyplot教程(深度学习入门3)
源地址:http://matplotlib.org/users/pyplot_tutorial.html .caret, .dropup > .btn > .caret { border- ...
- 简单使用Spring Boot+JpaRepository+hibernate搭建项目
sql: -- -------------------------------------------------------- -- 主机: 127.0.0.1 -- 服务器版本: 10.3.9-M ...
- ARP, Fragmentation and Reassembly
Address Resolution Protocol IP addresses are said to be logical, because they are defined in terms o ...
- react系列(四)Redux基本概念和使用
Redux基本概念和使用 先从Flux开始 先放一个Flux官网的链接.需要fq. Flux是Facebook提出的一种构建客户端网页应用的应用架构,它是一种抽象程度很高的设计模式,鼓励单向数据流. ...
- oracle使用DBMS_RANDOM包生成随机数据
(一)DBMS_RANDOM包信息 DBMS_RANDOM包包含3个存储过程,4个函数,1个类型,一共8个模块,如下. SQL> desc dbms_random Element Type -- ...
- chromium之message_pump_win之二
接下来分析 MessagePumpForUI上一篇分析MessagePumpWin,可以参考chromium之message_pump_win之一 根据对MessagePumpWin的分析,Messa ...
- shell脚本实现目录的“5S”作业
shell,又称为命令解释器.首先它是一个软件,有很多个版本,现在最流行的为bash,它作为用户和内核沟通的中间桥梁,在系统中起着举足轻重的作用 shell脚本,是一个以.sh结尾的文件,里面是诸如l ...
- 【小尝试】Java获取慕课网原有路径课程列表
作为一个老慕课网(https://www.imooc.com/)粉丝,还记得最开始的慕课网有很多免费的路径课程,练习什么的也特别详细,是入门一门语言的好方法. 现在慕课网发展起来了收费模式,添加了很多 ...