标准IO和管道

一.三种I/O设备

  1. 标准输入(STDIN) -0   默认接受来自键盘的输入
  2. 标准输出(STDOUT) -1  默认输出到终端窗口
  3. 标准错误(STDERR) -2   默认输出到终端窗口

程序:指令加数据

每个文件打开都有一个文件描述符(fd)

ll /proc/$$/fd      //可以查看文件的描述符

exec 8<>/data/hosts   //自己指定一个文件的描述符(数字)

I/O重定向:改变默认位置

ls  >  /dev/pts/5    重定向到其他窗口显示

ls  >  /data/ls.out      重定向到指定文件

cmd  2>  /data/err.log     重定向错误信息到指定文件

>    实现功能相当于覆盖

>|      实现强行覆盖

>>     相当于追加,保留文件原内容

set  -C   禁止覆盖

set   +C   允许覆盖

ls   /error  /data   >f1   2>f2    //实现标准输出和错误各保存在一个文件中

ls   /error  /data  >all.log   2>&1   //将标准输出和错误都放在同一个文件中

ls   /error  /data  &>all.log     或(ls   /error  /data   2>&1 )  >all.log

多条命令的输出重定向:例如(ls;pwd)  >  all.log

/dev/null    用来吸收消化不想输出的内容

>>    创建空文件(比touch更安全)

>    软链接文件    //清空原文件

<     标准输入重定向

echo redhat |passwd –stdin user     //实现修改用户user的口令

cat <f1 >f1    //将f1 文件清空

 

tr命令:   转换和删除字符

-c   取字符集的补集

-d   删除所有属于第一字符集的字符

-s     将连续重复的字符以单独一个显示

-t      将第一个字符集对应字符转化为第二个字符集对应的字符

 

cat   >f1    //创建一个空文件

aaaa   后回车   实现单行重定向

 

使用<<EOF或<<END  实现多行重定向 (指定结束词后,文本结束必有结束词)

 

dos2unix      //将Windows文件格式转换为Linux文件格式

unix2dos      //将linux文件格式转化为Windows文件格式

 

mail    命令:  发/收邮件

mail  -s  ‘hello’  user     //给用户user发邮件标题为hello

mail  -s  ‘hello’  user  <<END    //可手动输入多行邮件内容(可引用变量和命令)

mail  -s  ‘hello’  user  <mail.txt   //将文件内容作为邮件的内容来发送

mail    收邮件

 

二.管道:用于连接命令

命令1  |    命令2       命令1的标准输出作为命令2 的标准输入

hostname | tr ‘a-z’ ‘A-Z’     //输出大写的主机名

cat   mail.txt   |  mail  -s  ‘hello’  user      //将文件内容作为邮件的内容来发送

|&     可实现将错误信息转化为正确信息传给下个命令(旧版本不支持)

echo {1..100} | tr ‘ ‘ ‘+’ |bc     //实现1到100加和(或seq -s + 100 |bc)

 

tar 命令:打包文件

tar –cvf  –  /home  |  tar  -xvf  –     //打包文件后解包该文件

 

tee   重定向到多个目标

-a    追加

三.命令补充

mktemp   xxxx.log    //创建临时的文件或目录(名字随机)

touch f$[RANDOM%20]   用这条就行

systemctl enable autofs     //启用autofs功能

systemctl  autofs      //开启autofs功能后才可以挂载光盘

lsb_release   -a    //   查看操作系统版本信息(centos6中)

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/94700

(0)
qljqlj
上一篇 2018-04-02 15:07
下一篇 2018-04-02 19:25

相关推荐

  • Linux-vim

    vim简介 vi: Visual Interface,文本编辑器 文本:ASCII, Unicode 文本编辑种类: 行编辑器: sed 全屏编辑器:nano, vi vim – Vi Improved 其他编辑器: gedit 一个简单的图形编辑器 gvim 一个Vim编辑器的图形版本   打开文件 # vim [OPTION]&#8…

    2018-04-08
  • 文件管理与bash特性

      1.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。2.bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。3.请使用命令行展开功能来完成以下练习:(1). 创建/tmp目录下的:a_c, a_d, b_c, b_d(2). 创建/tmp/mylinux目录下的:mylinux/├── bin├─…

    2018-06-26
  • 防火墙技术(一)

    防火墙(Firewall),也称防护墙,是由Check Point创立者Gil Shwed于1993年发明并引入国际互联网。它是一种位于内部网络与外部网络之间的网络安全系统。一项信息安全的防护系统,依照特定的规则,允许或是限制传输的数据通过。

    2018-06-30
  • 对正则表达式,VIM的基本命令的操作,SHELL编程的基本格式等的一些见解。

    第一 正则表达式,第二 VIM的具体适应,第三 shell编程的基本格式跟规范!

    Linux笔记 2018-04-08
  • yum

    rpm yum

    Linux笔记 2018-04-20