管道和重定向:> < >> <<
创新互联公司自成立以来,一直致力于为企业提供从网站策划、网站设计、成都做网站、网站建设、电子商务、网站推广、网站优化到为企业提供个性化软件开发等基于互联网的全面整合营销服务。公司拥有丰富的网站建设和互联网应用系统开发管理经验、成熟的应用系统解决方案、优秀的网站开发工程师团队及专业的网站设计师团队。
运算器 控制器: CPU
存储器:RAM
输入设备/输出设备
程序:指令和数据
控制器:指令
运算器
存储器
地址总线:内存寻址
数据总线:传输数据
控制总线:控制指令
寄存器:CPU暂时存储器
I/O:硬盘
INPUT设备:
OUTPUT设备:
系统设定
默认输出设备:标准输出,STDOUT,1
默认输入设备:标准输入,STDIN,0
标准错误输出:STDERR,2
标准输入:键盘
标准输出和错误输出:显示器
I/O重定向:
Linux:
> 输出 ls /var > /tmp/var.out 覆盖输出(覆盖原有内容)
>>:追加输出
/***
set 内建命令:
-C(不允许覆盖) -开启功能
+C(恢复覆盖) +关闭功能
ls /var >| /tmp/var.out(-C没作用)
**/
set -C:禁止对已经存在文件使用覆盖重定向
强制覆盖输出,则使用>|
set +C: 关闭上述功能
2>:重定向错误输出
2>>:追加方式
ls /varr > /tmp/var3.out 2> /tmp/err.out(两次重定向)
&>:重定向标准输出或错误输出至同一个文件
&>>:追加方式
ls /var6 &> /tmp/var0.out
<: 输入重定向
<<:Here Document(在此处生成文档)cat << EOF(end of file)
cat >> /tmp/myfile.txt << EOF 在脚本中生成文件
cat < /etc/fstab 把文件显示出来
tr 'a-z' 'A-Z' < /etc/fstab
passwd --stdin
管道:前一个命令的输出,作为后一个命令的输入
命令1 | 命令2 | 命令3 | ...
echo "hello , world" | tr 'a-z' 'A-Z'
echo "redhat" | passwd --stdin hive
tee 从标准输入输入,保存到标准输出和文件
echo "Hello,World" | tee /tmp/hello.out
wc -l(字母) /etc/passwd
wc -l /etc/passwd | cut -d' ' -f1
练习:
1 统计/usr/bin/目录下的文件个数:
ls /usr/bin | wc -l
2 取出当前系统上所有用户的shell,要求,每种shell只显示一次,并且
按顺序进行显示
cut -d: -f7 /etc/passwd | sort -u
3 思考:如何显示/var/log目录下每个文件的内容类型
file /var/log/*
file 'ls /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: -f1,7 | tee /tmp/users
6 显示/etc/目录下所有以pa开头的文件,并统计其个数
ls -d(不加-d把目录下的文件都显示出来了) /etc/pa* | wc -l
7 不使用文本编辑器,将alias cls = clear一行内容添加至当前用户的
.bashrc文件中
echo "alias cls = clear" >> ~/.bashrc