Linux重定向中的012,菜鸟学Linux 第012篇笔记 Linux I/O重定向、管道

菜鸟学Linux 第012篇笔记 Linux I/O重定向

计算机五大部件

运算器、控制器:cpu

存储器:RAM

输入/输出设备

程序=指令+数据

控制器:读取指令

运算器:做数据运算

存储器:做数据存储

相互运作原理(仅做理解)

控制器读取指令,并在指令控制下告诉运算器去哪里取数据并做运算,运算结果再由控制器

保存到存储器

地址总线:用于做内存寻址

数据总线:传输数据

控制总线:控制指令

物理上总线可以利用,一根总线可以实现以上三种功能

寄存器:Cpu内部的一个暂时存储器

I/O

input 设备

output设备

系统设定

默认输出设备:标准输出STDOUT文件描述符:1

默认输入设备:标准输入STDIN文件描述符:0

标准错误输出:STDERR文件描述符:2

标准输入:键盘keyboard

标准输出和错误输出:显示器screen

I/O 重定向(输入输出重定向)

linux重定向符号

覆盖输出>

追加输出>>

输入<

结束标记<

错误输出2>  和 2>>

标准和错误输出 &> 不支持覆盖输出

e.g.

ls /etc > /tmp/etc.out 将本应该显示在屏幕上的信息

重定向定入到/tmp/etc.out

ls /etc &> /tmp/etc.out

ls /etc > /tmp/etc.out 2> /tmp/etc

cat >> /tme/home.out <

set -C 禁止对已经存在文件使用覆盖重定向

强制覆盖输出,由使用>|

set +C 关闭上述功能

管道:前一个命令的输出做为后一个命令的输入

命令1|命令2|命令3

e.g.cut -d: -f1 /etc/passwd | sort | tr 'a-z' 'A-Z'

tee(read from standard input and write to standard output and files)

同时输出到标准输出,同时也输出到文件

e.g. echo "hello, world." | tee /tmp/hello.out

wc(print the number of newlines, words, and bytes in files)

e.g. wc -l /etc/shadow | cut -d' ' -f1 显示一个文件的行数

小练习

1、统计/usr/bin目录下的文件个数;

2、取出当前系统上所有用户的shell,要求每种shell只显示一次,并且按顺序显示;

3、思考:如何显示/var/log目录下每个文件的内容类型?

4、取出/etc/inittab文件的第6行;

5、取出/etc/passwd文件中倒数第9个用户的用户名和shell,显示到屏幕上并保存至/tmp/users文件中;

6、显示/etc目录下所有以pa开头的文件,并统计其个数;

7、不使用文件编辑器,将alias cls=clear 一行内容添加至当前用户的./bashrc文件中;

KEY

1、ls /usr/bin | wc -l

2、cut -d: -f7 | sort -u

3、file `ls /var/log` 需要先切换到/var/log目录下

4、cat /etc/inittab | head -6 |tail -1

5、cat /etc/passwd | tail -9 | head -1 | cut -d: -f1,7 | tee /tmp/users

6、ls -d /etc/pa* | wc -l

7、echo "alias cls=clear" >> /user1/.bashrc

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值