标准I/O和管道

t01c8d0a587f7a91802

input:输入读入数据

output:输出数据文件的

打开的文件都有一个fd: file descriptor (文件描述符)

ll /proc/$$/fd #查看fd

exec 8<>/data/hosts #指定fd

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

> #把标准输出重定向到文件(一个”>”是覆盖,”>>”是追加)

2> #把错误输出重定向到文件

&> #把所有输出重定向到文件

ls /error /etc >f1 2>f2 #把对的输出放到f1文件中错的输出放到f2文件中

() #提升命令输出的优先级

例如:ls /error /etc 2>&1 >all.log #不加()错误信息显示正确信息重定向到all.log

(ls /error /etc 2>&1) >all.log #家()先把错误信息重定向到all.log再把正确的追加进去

set –C 禁止将内容覆盖已有文件,但可追加

>| file 强制覆盖

set +C 允许覆盖

>> 原有内容基础上,追加内容

&> /dev/null #不显示输出结果

>文件名 #创建空文件夹

>>文件名 #文件名不重名的情况下创建空文件夹,重名译为追加

tr #替换和删除字符(文本处理命令)

tr ‘a-z’和[:upper:]不能混用,语法错误

 

-d #删除输入

-s #删除连续重复输入

-sc ‘a’ #除了a压缩(删除)连续重复输入,c表示取反

-dc ‘a\n’ #除了a删除所有输入回车

seq 1 10 #列出1到10以列的形式

hexdump #查看文件内容的机器码

cat #查看

cat  < file #吧file文件中的内容发送给cat相当于cat file

cat > filea <fileb #吧fileb文件中的内容重定向给filea

cat > file #单行重定向,回车一次写入一行,Ctrl+d结束(如果文件中有内容会被覆盖)

cat > file <<EOF #多行重定向,以EOF(end of file约定俗成的,也可以用其他字符 )结束

| #管道符,吧前一个命令的标准输出传送给下一个命令

错误输出默认不能通过管道转发,可用2>&1或者|&实现

|& #把标准输出和错误输出同时传输给下一个命令

echo {1 .. 100} | tr ‘ ’ ‘ +’ | bc #显示1到100的结果给tr,tr把空格替换成+的结果给bc命令实现计算1+2+3…. +100 。等同于seq -s + 100 | bc命令

命令1 | tee [-a] 文件名 | 命令2

把命令1的标准输出保存到文件中,作为命令2的输入,-a追加,否则覆盖

touch `openssl rand -base64 9 |tr ‘’’`.log生成指定字符的随机文件名

 

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

(0)
老司机丨快上车老司机丨快上车
上一篇 2018-04-02 19:22
下一篇 2018-04-02 19:48

相关推荐

  • Virtualization虚拟化技术介绍

    Virtualization即虚拟化技术,在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率

    2018-07-27
  • 手把手系列(一)教你通过VMware虚拟化软件安装CentOS 6系统

    手把手教你用VMware虚拟化软件安装CentOS 6系统

    2018-03-27
  • 吐血整理,国内常见的几种Linux认证

      因为在培训机构工作过,身边很多人咨询我Linux认证的事宜。现在国内各种培训机构的确很多,各家都说Linux认证多么多么重要,能获得多少薪水……这些听听就好了。 如果想在开源行业有所作为,必须要投入到实战中去。当你不是发烧友,不是开源社区骨干、不经常泡国外的坛子,那么实战是你唯一的成长路径。尤其是对基于Linux的开发、运维、纠错,都有上手经验…

    2018-06-01
  • Varnish缓存服务介绍及相关实验

    缓存是指把对某些请求的结果缓存下来,下次请求直接使用数据响应,这样极大的节省了系统获取源数据资源的时间,若我们把大量的请求结果都使用缓存服务器来响应,那么我们可以大大减少计算机数量减少成本。

    2018-07-19
  • 输入输出重定向

    重定向就是改变默认位置 ps aux 显示进程号 大于号(只处理正确信息),以覆盖的方式把命令输出到指定的文件,如果a > b;c >b;c会把之前a覆盖到b的内容覆盖到。为了保留a和c的数据,这时候用追加的方式解决,双大于号就用以追加的方式 set -c 不能覆盖 set +c 允许覆盖 |> 强行覆盖 清零|> /data/sky…

    Linux笔记 2018-07-30
  • 无题()

    周志

    Linux笔记 2018-06-01