8_管理及IO重定向

五大类:
运算器、控制器:CPU
存储器:RAM
输入设备/输出设备

程序:是由指令和数据组成的

控制器:读取指令
运算器:
存储器:

地址总线:内存寻址
数据总线:传输数据
控制总线:控制指令

寄存器:CPU暂时存储器

I/O:硬盘,键盘鼠标..

INPUT设备
OUTPUT设备

系统设定
  默认输出设备:标准输出,STDOUT,1
  默认输入设备:标准输入,STDIN,0 //passwd --stdin
  标准错误输出:STDERR,2 //标准输出和错误输出是不同的数据流

对电脑而言
标准输入:键盘
标准输出和错误输出:显示器

I/O重定向:改变了数据的输出/输入来源


linux:组合小命令完成复杂任务是linux的重要哲学思想之一。
>:输出重定向,覆盖输出 原有内容会被覆盖掉
>>:追加输出,在文件尾部新增内容

2>:重定向错误输出
2>>:追加方式

&>:重定向标准输出或错误输出至同一个文件

<:输入重定向
<<:Here Document,此处文档
  [root@localhost ~]# cat << END //END是文档结束标记,通常看到的都是END,EOF
  > The first line.
  > The second line.
  > END
  The first line.
  The second line.
  [root@localhost ~]#

  [root@localhost ~]# cat >> /home/myfile.txt <<EOF
  > first
  > second
  > EOF
  [root@localhost ~]# cat /home/myfile.txt
  first
  second
  [root@localhost ~]#


set:设定功能开关,-是开,+是关
  -c:禁止对已经存在的文件使用覆盖重定向
    强制覆盖输出,则使用 >|
  +c:关闭上述功能

管道 | :命令,前一个命令的输出,作为后一个命令的输入
命令1 | 命令2 | 命令3 | ...

tee:将数据即能保存到文件中也能输出到屏幕上


练习:
1、统计/usr/bin/ 目录下的文件个数
# ls /usr/bin | wc -l
2、取出当前系统上所有用户的shell,要求每种shell只显示一次,并且按顺序进行显示
# cut -d: -f7 /etc/passwd | sort -u
3、思考:如何显示/var/log目录下每个文件的内容类型

4、取出/etc/inittab文件的第六行
# head -6 /etc/inintab | tail -1
5、取出/etc/passwd文件中倒数第九个用户的用户名和shell,显示到屏幕上并将其保存至/tmp/users文件中
# tail -9 /etc/passwd | head -1 | cut -d: -f1,7 |tee /tmp/users
6、显示/etc目录下所有以pa开头的文件,并统计其个数
# ls -d /etc/pa* | wc -l
7、不使用文本编辑器,将alias cls=clear 一行内容添加至当前用户的.bashrc文件中
# echo "alias cls=clear" >> ~/.bashrc

猜你喜欢

转载自www.cnblogs.com/xian-luo/p/10057717.html