`

ma系列之-5-IO重定向和管道

 
阅读更多

 

 

1 计算机系统设定关于输入输出:
 默认输出设备:标准输出,STDOUT, 用1表示
 默认输入设备:标准输入, STDIN, 用0表示
 标准错误输出:STDERR, 用2表示

 

 
标准输入:键盘
标准输出和错误输出:显示器

 

I/O重定向概念:改变系统默认输入/出的地方 

 

 

 

2 linux set 命令:

防止出现对重要文件覆盖

[root@h2sliver114 ~]# help set
 -C  If set, disallow existing regular files to be overwritten
            by redirection of output.


set -C: 禁止对已经存在文件使用覆盖重定向; 这样能防止在你 >的时候 将重要文件覆盖掉。 
 强制覆盖输出,则使用 >|
比如如下:  
[root@h2sliver114 ~]# ls > b.txt
-bash: b.txt: cannot overwrite existing file

set +C: 关闭上述功能

 

 

3 重定向使用到的符号:

 

>: 覆盖输出
>>:追加输出
2>: 重定向错误输出 (联想记忆于凡是错误的东西都是挺2的事)   
2>>: 追加方式实现错误输出
&>: 重定向标准输出(正确输出)或错误输出至同一个文件(覆盖输入)
&>>: 重定向标准输出(正确输出)或错误输出至同一个文件(追加输入)

 

 

>: 覆盖输出目标文件内的内容
>>:追加输出


[root@sliver114 ~]# type set
set is a shell builtin
[root@sliver114 ~]# help set
....
 -C  If set, disallow existing regular files to be overwritten
            by redirection of output.
....
Using + rather than - causes these flags to be turned off.

set -C: 禁止对已经存在文件使用覆盖重定向;
	强制覆盖输出,则使用 >|
set +C: 关闭上述功能
[root@sliver114 ~]# set -C
[root@sliver114 ~]# ls /usr/ > /tmp/var.out
-bash: /tmp/var.out: cannot overwrite existing file
[root@sliver114 ~]# ls /usr/ >| /tmp/var.out   实现强制输入
[root@sliver114 ~]# cat /tmp/var.out  
bin
etc
games
include
....


2>: 只能重定向错误输出 对于正常输出则无能为力
2>>: 追加方式
eg:
[root@sliver114 ~]# set +C
[root@sliver114 ~]# ls /varr > /tmp/var3.out 2> /tmp/err.out
[root@sliver114 ~]# cat /tmp/err.out
ls: /varr: No such file or directory



&>: 重定向标准输出或错误输出至同一个文件
[root@sliver114 tmp]# ls /var1 &> var1.out
[root@sliver114 tmp]# cat var1.out
ls: /var1: No such file or directory
[root@sliver114 tmp]# ls /var &> var1.out
[root@sliver114 tmp]# cat var1.out
account
cache
cvs
db

 

 

关于输入重定向:

<:输入重定向
<<:Here Document(在此处生成文档)

eg:
[root@sliver114 tmp]# cat < /etc/fstab    将/etc/fstab的内容作为输入来取代键盘
LABEL=/                 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
....

eg:
[root@sliver114 tmp]# cat << END     // 此时你用什么单词 那么下面你输入内容后 文件内容就以什么单词来结束,但是文档内容不包含这个单词,单词长以EOF或者END  (EOF= end of file) 
> this is hello
> this is world
> END
this is hello
this is world

 

 

 

关于输入输出重定向组合使用的例子:

 

看这个输入输出重定向综合的例子,实现像文件中输入内容(觉得通过在win下创建文件然后通过ssh工具远程提交岂不是更方便。或者通过vim来创建文件并添加内容也能达到如下命令的目的)
[root@sliver114 tmp]# cat >> /tmp/myfile.txt << EOF
> this is my ioredirect
> this is sep 
> EOF
[root@sliver114 tmp]# cat /tmp/myfile.txt 
this is my ioredirect
this is sep 

 

 

 

4 关于管道:

 

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

命令1 | 命令2 | 命令3 | ...

上面表示:  将命令1的输出结果作为输入流,输入到命令2中做处理,然后命令2处理的结果作为输入流输入到命令3中做处理...

 

案例如下:

0 字母大写
[root@sliver114 tmp]# echo 'hello world' | tr 'a-z' 'A-Z'
HELLO WORLD

0.1 
仅展示文件行数据
[root@sliver114 tmp]# wc -l /etc/passwd
35 /etc/passwd
[root@sliver114 tmp]# wc -l /etc/passwd | cut -d' ' -f1
35



[root@sliver114 tmp]# ls -l /usr/bin | head -2    显示前两行结果
total 110584
-rwxr-xr-x 1 root root      31208 Jul 21  2011 [




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

4、取出/etc/inittab文件的第6行;    先获取前六行  然后在获取倒数第一行
[root@sliver114 tmp]# head -6 /etc/inittab | tail -1
#               Modified for RHS Linux by Marc Ewing and Donnie Barnes

5、取出/etc/passwd文件中倒数第9个用户的用户名和shell,显示到屏幕上并将其保存至/tmp/users文件中;
[root@sliver114 tmp]# tail -9 /etc/passwd | head -1 | cut -d: -f1,7 | tee /tmp/test.txt
apache:/sbin/nologin
[root@sliver114 tmp]# cat test.txt 
apache:/sbin/nologin

6、显示/etc目录下所有以pa开头的文件,并统计其个数;    ls -l 表示仅仅展示自身属性  并不展示自身下的孩子 这里要求仅展示以pa开头的文件 因此需要用到 -d
[root@sliver114 tmp]# ls -d /etc/pa*
/etc/pam.d       /etc/pam_smb.conf  /etc/passwd   /etc/passwd.OLD
/etc/pam_pkcs11  /etc/pango         /etc/passwd-
[root@sliver114 tmp]# ls -d /etc/pa* | wc -l


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

 

 

 

分享到:
评论

相关推荐

    顺源科技4-20mA转0-5V芯片

    顺源科技推出的4-20mA转0-5V芯片属于ISOEM系列直流信号隔离放大器,该系列芯片能够实现不同类型的电压与电流信号间的隔离、放大以及转换。这种芯片特别适用于工业自动化领域中的信号处理与传输需求。 #### 二、产品...

    电压电流采集(0-5V0-10V0-20mA4-20mA)电容隔离输出(0-5V0-10V)原理图及PCB

    描述:本设计采用APC(GP9303M-F1K-N-SW)芯片来实现对0-5V/0-20mA/4-20mA的信号采集,采用APC(GP9301BXIM-F1K-N-SW)芯片来实现对0-10V信号进行采集。然后在芯片内部完成信号的高频调制,调制好的高频信号经过电容...

    0-1000℃/K型热电偶转4-20mA或0-5V温度变送器,转换模块

    本产品——"0-1000℃/K型热电偶转4-20mA或0-5V温度变送器,转换模块",特别适用于多种类型的热电阻和热电偶传感器,包括Ni1000, NTC 10K, NTC 20K, Pt100, Pt1000, Pt10, Cu50, Cu100以及J/ K/ T/ E/ R/ S/ B型热电偶...

    4-20ma转0-3.3v模块设计文档

    9. **测试与验证**:设计完成后,需要对模块进行一系列测试,以确保其在各种条件下都能正常工作,包括最小和最大输入电流、电源电压波动、温度变化等。 10. **应用示例**:4-20mA到0-3.3V的转换模块可用于连接各种...

    4-20mA转0-3.3V

    使用multisim搭建并仿真了4-20mA信号转换为0-3.3V电压的电路。实际证明有效可用。

    DIN3系列4-20mA(0-20mA)电流环路隔离器:DIN3 ISO 4-20mA.pdf

    整体而言,DIN3系列4-20mA(0-20mA)电流环路隔离器是一种专为工业自动化设计的高性能产品,它能够在恶劣的工业环境中提供稳定可靠的电流信号隔离和转换,保证了工业控制系统的稳定运行和数据采集的准确性。

    4-20mA转0-10V二进二出信号隔离分配器.pdf

    &gt;&gt;国际标准二路信号输入:0-5V/0-10V/1-5V,0-10mA/0-20mA/4-20mA等 &gt;&gt;二路输出标准信号:0-5V/0-10V/1-5V,0-10mA/0-20mA/4-20mA等,具有高负载能力 &gt;&gt;全量程范围内极高的线性度(非线性度) &gt;&gt;标准DIN35 导轨式安装...

    常见4-20mA 0-5V 1-5V电路转换

    本文将详细介绍几种常见的电流电压转换电路,包括0-5V/0-10mA V/I变换电路、0-10V/0-10mA V/I变换电路、1-5V/4-20mA V/I变换电路、0-10mA/0-5V I/V变换电路以及0-10mA/0-5V的运放I/V变换电路。 #### 二、0-5V/0-10...

    华为OLT-MA5680T-GPON开局指导-配置指南.doc

    华为OLT-MA5680T-GPON开局指导-配置指南 本文档提供了华为OLT-MA5680T-GPON开局指导的配置指南,涵盖了GPON开局指导、业务配置、数据规划、GPON配置的一些概念等内容。 一、业务配置 在业务配置中,我们需要创建...

    4-20ma0-10v转0-15v/0-24v/0-200ma/0-700ma/0-2a大功率阀门驱动控制器、变送器

    4. **信号输入和输出**:支持多种标准的电压和电流信号输入和输出,如0-5V、0-10V、1-5V、0-±5V、0-±10V的电压信号,以及0-10mA、0-20mA、4-20mA的电流信号。 5. **输出标准信号**:可输出0-15V、0-24V、0-30V等...

    4-20ma转0-5KHz,模拟信号转频率脉冲信号隔离变送器.zip

    4-20ma转0-5KHz,模拟信号转频率脉冲信号隔离变送器zip,电压或电流信号转频率信号隔离变送器产品主要用于0-5V/0-10V/1-5V, 0-10mA/0-20mA /4-20mA等模拟信号的隔离变送,输出一个标准的频率信号,供PLC或其他设备检测...

    02_Artix FPGA DDR控制器MIG使用(AXI4)(MA703FA-35T)20190401.pdf

    02_Artix FPGA DDR控制器MIG使用(AXI4)(MA703FA-35T)20190401.pdf 02_Artix FPGA DDR控制器MIG使用(AXI4)(MA703FA-35T)20190401.pdf

    0-5V/0-10V/0-20mA/4-20mA采集 0-20mA/4-20mA信号隔离输出电路-电路方案

    PAC芯片完成0-5V/0-10V/0-20mA/4-20mA转0-20mA/4-20mA的信号转换,内置隔离电源,隔离度1500VDC 原理是,采用APC(GP9303-F1K-N-SW)芯片来实现对0-5V/0-20mA/4-20mA的信号采集,采用APC(GP9301BXI-F1K-N-SW)芯片...

    S7-1200-PLC最大IO能力计算电源需求与计算.doc

    S7-1200 PLC最大IO能力计算电源需求与计算是指在S7-1200 PLC系统中,如何计算和评估最大IO能力,以及如何计算电源需求。本文将详细介绍S7-1200 PLC最大IO能力计算电源需求与计算的相关知识点。 一、S7-1200 PLC最大...

    西门子S7-1500的分布式IO模拟量模块如何接线.zip

    S7-1500的模拟量模块包括AI(模拟量输入)和AO(模拟量输出)模块,如6ES7 153-2AA00-0AB0等,它们可以处理4-20mA、0-10V、0-5V等不同信号范围。在接线前,需确保选用的模块与现场设备的信号类型匹配。 二、接线...

    实用的4~20mA输入-0~5V输出的I/V转换电路

    标题和描述中的“实用的4~20mA输入-0~5V输出的I/V转换电路”涉及到的关键知识点包括:4~20mA信号、0~5V信号、电流到电压(I/V)转换以及电路设计。下面将详细展开这些知识点。 ### 1. 4~20mA信号 4~20mA信号...

    模拟信号4-20mA转RS-485/232,数据采集A/D转换模块

    IBF系列产品可应用在 RS-232/485总线工业自动化控制系统,4-20mA / 0-5V信号测量、监测和控制,0-75mV,0-100mV等小信号的测量以及工业现场信号隔离及长线传输等等。 产品包括电源隔离,信号隔离、线性化,A/D转换和...

    T3MA-ALARM - MetaTrader 5脚本.zip

    在“T3MA-ALARM - MetaTrader 5脚本.zip”中,核心组件是“t3ma-alarm.mq5”文件,这是一个MetaTrader 5脚本。MT5的脚本语言称为MQL5,它允许用户编写自定义的交易逻辑和辅助工具。在这个特定的脚本中,"T3MA"很可能...

Global site tag (gtag.js) - Google Analytics