百摩网
当前位置: 首页 生活百科

linux中io性能测试(Linux学习的正确姿势10)

时间:2023-08-04 作者: 小编 阅读量: 5 栏目名: 生活百科

I/O重定向标准输入、标准输出、标准错误输出重定向及综合案例输入重定向及结合案例标准输入、标准输出、标准错误filedescriptors(FD,文件描述符或ProcessI/Ochannels):进程使用文件描述符来管理打开的文件[root@tianyun~]#ls/proc/$$/fd012340,1,and2,knownasstandardinput,standardoutput,andst

I/O重定向

标准输入、标准输出、标准错误

输出重定向及综合案例

输入重定向及结合案例

标准输入、标准输出、标准错误

file descriptors (FD,文件描述符 或 Process I/O channels):

进程使用文件描述符来管理打开的文件

[root@tianyun ~]# ls /proc/$$/fd

0 1 2 3 4


0, 1, and 2, known as standard input, standard output, and standard error

输出重定向 (覆盖,追加)

正确输出: 1> 1>> 等价于 > >>

错误输出: 2> 2>>

案例1:输出重定向(覆盖)

[root@tianyun ~]# date 1> date.txt

案例2:输出重定向(追加)

[root@tianyun ~]# date >> date.txt

案例3:错误输出重定向

[root@tianyun ~]# ls /home/ /aaaaaaaaa >list.txt

ls: 无法访问/aaaaaaaaa: 没有那个文件或目录

[root@tianyun ~]# ls /home/ /aaaaaaaaa >list.txt 2>error.txt //重定向到不同的位置

案例4: 正确和错误都输入到相同位置

[root@tianyun ~]# ls /home/ /aaaaaaaaa &>list.txt //混合输出

案例5: 正确和错误都输入到相同位置

[root@tianyun ~]# ls /home/ /aaaaaaaaa >list.txt 2>&1 //重定向到相同的位置

案例6:重定向到空设备/dev/null

[root@tianyun ~]# ls /home/ /aaaaaaaaa >list.txt 2>/dev/null//空设备,即将产生的输出丢掉

[root@tianyun ~]# ls /home/ /aaaaaaaaa &>/dev/null//空设备,即将产生的输出丢掉

输入重定向

标准输入: < 等价 0<

案例1:

[root@tianyun ~]# mail alice //没有改变输入的方向,默认键盘

Subject: hello

1111

2222

3333

EOF


[root@tianyun ~]# su - alice

[alice@tianyun ~]$ mail

Heirloom Mail version 12.5 7/5/10. Type ? for help.

"/var/spool/mail/alice": 1 message 1 new

>N 1 root Mon Jul 31 15:16 20/617 "hello"

[root@tianyun ~]# mail -s "test01" alice < /etc/hosts//输入重定向,来自于文件


案例2:

[root@tianyun ~]# grep 'root' //没有改变输入的方向,默认键盘,此时等待输入...

yang sss

sssrootssss..

sssrootssss..

[root@tianyun ~]# grep 'root' < /etc/passwd

root:x:0:0:root:/root:/bin/bash

operator:x:11:0:operator:/root:/sbin/nologin


案例3:

[root@tianyun ~]# dd if=/dev/zero of=/file1.txt bs=1M count=2

[root@tianyun ~]# dd </dev/zero >/file2.txt bs=1M count=20

案例4:mysql表结构导入

[root@tianyun ~]# yum -y install MariaDB-server mariadb

[root@tianyun ~]# systemctl start mariadb

[root@tianyun ~]# vim bbs.sql

create database bbs;

create table bbs.t1 (id int);

insert into bbs.t1 values(1);

[root@tianyun ~]# mysql <bbs.sql

[root@tianyun ~]# mysql

MariaDB [(none)]> show databases;

MariaDB [(none)]> \q


案例5:at

[root@tianyun ~]# at now5 min

at> useradd yang99

at> <EOT>

job 1 at Mon Jul 31 15:29:00 2017

[root@tianyun ~]# vim at.txt

useradd yang100

useradd yang102

[root@tianyun ~]# at now2 min <a.txt

job 2 at Mon Jul 31 15:27:00 2017


综合案例1: 利用重定向建立多行的文件

手动执行shell命令

[root@tianyun ~]# echo "111" > file1.txt

[root@tianyun ~]# cat file1.txt

111

[root@tianyun ~]# cat >file2.txt

111

222

333

444

^D

[root@tianyun ~]# cat file2.txt

请问:file2.txt有几行?

[root@tianyun ~]# cat >>file3.txt

aaa

bbb

ccc

ddd

^D

[root@tianyun ~]# cat file3.txt

请问:file3.txt有几行?

[root@tianyun ~]# cat >file4 <<EOF

> 111

> 222

> 333

> EOF

[root@tianyun ~]# cat file4

111

222

333


综合案例2: 利用重定向建立多行的文件

脚本script创建多行文件

[root@tianyun ~]# vim create_file.sh

cat >file200.txt <<EOF

111

222

333

yyy

ccc

EOF

[root@tianyun ~]# bash create_file.sh

[root@tianyun ~]# cat file200.txt

111

222

333

yyy

ccc

综合案例3: 脚本中利用重定向打印消息

[root@tianyun ~]# cat create_file.sh

cat <<-EOF

111

222

333

yyy

ccc

EOF

[root@tianyun ~]# bash create_file.sh

111

222

333

yyy

ccc

[root@tianyun ~]# vim yang.sh

cat <<-EOF

------------------------------------------------

| |

| ====================== |

| 虚拟机基本管理 v4.0 |

| by tianyun |

| ====================== |

| 1. 安装KVM |

| 2. 安装或重置CentOS-6.8 |

| 3. 安装或重置CentOS-7.3 |

| 4. 安装或重置RHEL-6.4 |

| 5. 安装或重置Windows-7 |

| 6. 删除所有虚拟机 |

| q. 退出管理程序 |

| |

------------------------------------------------

EOF


综合案例4

[root@tianyun ~]# ls; date &>/dev/null //希望两条命令输出都重定向 ??

[root@tianyun ~]# ls &>/dev/null; date &>/dev/null

[root@tianyun ~]# (ls; date) &>/dev/null

[root@tianyun ~]# (while :; do date; sleep 2; done) & //在后台运行,但输出依然在前台终端

[1] 6229

[root@tianyun ~]# 2017年 08月 01日 星期二 10:12:42 CST

2017年 08月 01日 星期二 10:12:44 CST

2017年 08月 01日 星期二 10:12:46 CST

2017年 08月 01日 星期二 10:12:48 CST

2017年 08月 01日 星期二 10:12:50 CST

[root@tianyun ~]# (while :; do date; sleep 2; done) &>date.txt &

[root@tianyun ~]# tailf /date.txt

2017年 08月 01日 星期二 10:15:29 CST

2017年 08月 01日 星期二 10:15:31 CST

2017年 08月 01日 星期二 10:15:33 CST

2017年 08月 01日 星期二 10:15:35 CST

2017年 08月 01日 星期二 10:15:37 CST

2017年 08月 01日 星期二 10:15:39 CST

2017年 08月 01日 星期二 10:15:41 CST

[root@tianyun ~]# jobs

[1]运行中 ( while :; do

date; sleep 2;

done ) &>/date.txt &

[root@tianyun ~]# kill %1

[root@tianyun ~]# jobs

后面课程学习安装源码软件时:

[root@tianyun ~]# (./configure && make && make install) &>/dev/null

扩展点:subshell

==当前shell中执行==

[root@tianyun ~]# cd /boot; ls

config-3.10.0-514.el7.x86_64

efi

grub

grub2

initramfs-0-rescue-a024cb8d031d445580a7b5aaf92a9ca0.img

initramfs-3.10.0-514.el7.x86_64.img

initrd-plymouth.img

symvers-3.10.0-514.el7.x86_64.gz

System.map-3.10.0-514.el7.x86_64

vmlinuz-0-rescue-a024cb8d031d445580a7b5aaf92a9ca0

vmlinuz-3.10.0-514.el7.x86_64

[root@tianyun boot]#

==在subshell中执行==

[root@tianyun boot]# cd

[root@tianyun ~]# (cd /boot; ls)

config-3.10.0-514.el7.x86_64

efi

grub

grub2

initramfs-0-rescue-a024cb8d031d445580a7b5aaf92a9ca0.img

initramfs-3.10.0-514.el7.x86_64.img

initrd-plymouth.img

symvers-3.10.0-514.el7.x86_64.gz

System.map-3.10.0-514.el7.x86_64

vmlinuz-0-rescue-a024cb8d031d445580a7b5aaf92a9ca0

vmlinuz-3.10.0-514.el7.x86_64


如果不希望某些命令的执行对当前shell环境产生影响,请在subshell中执行!

[root@tianyun ~]# (umask 777; touch file8888)

[root@tianyun ~]# ll file8888

---------- 1 root root 0 Apr 12 22:11 file8888

[root@tianyun ~]# umask

0022

    推荐阅读
  • 棕榈油的功效与作用 棕榈油的功效与作用及食用方法

    4、保护眼睛延缓衰老棕榈油还是人类眼睛的保护神,它含有丰富的维生素a和胡萝卜素,这些物质被人体吸收以后,能提高视网膜功能,预防视网膜病变,也能缓解视力下降,能保护眼睛,减少多种眼科疾病发生,初期以外,棕榈油中含有的维生素c和酚类化合物还是天然抗氧化成分,它们能提高人体组织细胞活性,清除人体内自由基,能延缓衰老,延长寿命。

  • 车险理赔金额与保费有关系吗(你的车险买对了吗)

    也就是说,车主只要购车,便需要每年对其进行投保,且不得有拒绝、拖延、解除等行为。根据保险业协会的有关规定,车辆损失险和商业第三者责任险两个险种的条款和费率将全国统一价,其它险种则由保险公司自行决定。在这次事故中,小A车辆损失3000元,货物损失5000元,小B车辆损失2000元,货物损失3000元。交管部门裁定认为,小A负主要责任,小B负次要责任,两人若是都购买了第三者责任险。

  • 北京周末带孩子必去的地方(北京这些好地方假期不打烊)

    今年丰台更是大力推广消夏夜场活动,南宫就是其中一站。欢乐谷的夜场时间从下午17:00开放,一直持续至22:00。这里最大的特色是“高科技”,通过对声、光、电及影视技术的运用,在惊险与刺激中让游客体验奇幻与浪漫。欢乐水魔方水上夜场的狂欢乐园欢乐水魔方水上乐园是目前全球规模大、游乐设施先进、设备数量多的顶级水上主题公园之一。因为是室外场所,水魔方每年只开放几个月,今年夏季欢乐水魔方的夜场也已经开放了。

  • 女人吃藕粉好还是葛粉好(藕粉和葛粉的相关知识)

    女人吃藕粉好还是葛粉好女人吃藕粉好还是葛粉好要根据自身情况决定。葛粉是用豆科植物甘葛藤块根经水磨而澄取的淀粉,也是一种纯天然的营养食品,食用具有热解毒、生津止渴、补肾健脾、益胃安神、解酒等好处,适宜女性有冠心病、感冒引起的咽喉痛疼、口舌生疮、胸膈烦热发狂、血痢、大小便不利、醉酒、脾胃虚弱泄泻等症状食用。

  • 玫瑰花杆怎么扦插(扦插的方法)

    玫瑰花杆怎么扦插?玫瑰花杆怎么扦插首先挑选需要培育的玫瑰花,比如自己喜欢的颜色或者具有自己喜欢的味道的玫瑰花都是培育的选择花种,当然也要选择生长情况良好的枝条,不能选择一些病怏怏的,那样成活率比较低。两周以后玫瑰枝条的根部就会生出许多小根须,一月后就可以将枝条移栽到花盆中了,精心呵护,不久就会开花了。

  • exo海报相框(韩美混血宝宝Jackson酷似韩星灿烈)

    韩美混血宝宝Jackson酷似韩星灿烈圆滚滚的双眼、有时有着超龄的俊美外表,举止依旧像孩子一样的混血正太箩莉,总是吸引着我们的目光今天小编要介绍给大家的是韩美混血宝宝Jackson其实Jackson就是一般的宝宝,直到有一天,有网友发现…。

  • 摩托罗拉骁龙870手机价格(摩托罗拉新机入网)

    7月8日消息,近日摩托罗拉一款型号为XT2153-1的新机入网工信部。从工信部网站给出的证件照来看,摩托罗拉这款新机采用了居中单孔直屏的前面板,渐变色机身,背面左上角为三摄矩阵,从顶部的方形摄像头开孔看应该是配备了一颗潜望式长焦摄像头。摩托罗拉官方尚未宣布有关这款新机的消息,整体配置看起来还挺OK,价格按照今年摩托罗拉品牌在国内的策略可能也不会很贵,毕竟首款定价1999元起的骁龙870“守门员”便是来自摩托罗拉的edges。

  • 粉色玫瑰怎么水养(玫瑰水养的方法讲解)

    粉色玫瑰怎么水养?接下来我们就一起去了解一下吧!准备一个修长的花瓶,灌入适量的水,水位不能太高。将处理好的花枝插在花瓶中,放在有散光的地方,定期换水滴营养液。

  • 斗罗大陆所有冰属性魂技(奥斯卡第六魂技首秀)

    而在本集中,随着魂骨的出现,众人开始向奥斯卡和浩特发起了进攻。但是此时的奥斯卡还在吸收第六魂环,正处于关键时期,为此浩特决定替奥斯卡抵挡众人的攻击。但是在五人的围攻下,即使是已经成为魂圣的浩特也被众人重伤,而在生死存亡之际,奥斯卡终于成功地吸收了第六魂环。在这个设定中,奥斯卡通过使用了第六魂技之后,可以自由的选择提供血液的魂师的各个技能。

  • 沙雕是什么梗(沙雕的释义)

    沙雕是什么梗沙雕,是一个网络流行词,原本是一句不文明用语的谐音,因为和谐或者输入方便等各种原因而逐渐演变成“沙雕”。现多指有趣的人和搞笑的人,词义较为中性,略带贬义。在2018年初左右成为网络流行词,其主要含义也从一句单纯的粗口演变成表示“搞笑”的中性偏贬义词汇。由于词语本身的属性,多数情况下用来代指那些由于当事人愚蠢、天然呆或刻意卖蠢而引发的笑点,不过也可以扩展到一切搞笑行为上。