学习标准I/O和管道的心得体会

重定向、标准输出、标准输入、标准错误、管道的命令整理

默认:0标准输入 1标准输出 2标准错误
默认是012 更改默认的就叫重定向

【重定向】
重定向最基础的是标准输出 让他输出到别的地方就可以
1
(标准输出) >
1:原来ls 输出到 tty /dev/pts/0 另一个窗口是/dev/pts/1 使用:
2:ls > /etc/pts/1 执行结果跑到另外一个窗口了

QQ截图20171120192430

QQ截图20171120192442

> 把标准输出重定向到某一个文件/后面跟目的文件
> f1 创建一个空文件 实质上就是前面都是空定向到f1

QQ截图20171120192621

 

tree -d /etc/ > /app/tree.log 把/ /的tree输出到后续

QQ截图20171120192831

> 两个大于号 追加 不覆盖 >>f1创建f1如果存在也不会覆盖

QQ截图20171120192953

`hostname` 主机名 `uname -r`内核

QQ截图20171120193042
set -C 设置禁止覆盖,可以追加

QQ截图20171120193143
>| 强制覆盖
set +C 又可以覆盖

QQ截图20171120193418

2
(标准错误) 2>
ls nofiel  2> /app/f2

QQ截图20171120193942

3  &> 错误对的 都放到一个文件里去
多个文件都想结果输入到一个文件
( ls;pwe;hostname ) >> /app/f1 前面加括号
(errcmd;hostname )&> /app/f1

QQ截图20171120194509
(errcmd;hostname )> /app/ture 2> /app/error

QQ截图20171120195206
errcmd;hostname )> /app/ture 2>&1

QQ截图20171120195339

/dev/null这个文件是空 不要的可以定向到他

QQ截图20171120195522

(echo error 1>&2) > /dev/null 会输出error
1>&2 会吧标准正常定义成标准错误输出的命令
2>&1 把错误错误定义成标准正确输出
&>>都支持累加

QQ截图20171120195940

4 (标准输入)tr

tr 1 a 把输入的1 替换成a
tr 123 ab
位数不同 默认吧 23 都替换成b
tr -t 123 ab
-t 截断 忽略3了
tr ‘1-9’ ‘a-i’

QQ截图20171120200319
【标准输入】的重定向 < f1 小于号 后面跟文件名
tr -d ‘a-z'< f1 -d 删除 f1文件的小写字母

QQ截图20171120200700

tr -d ‘a-z'< f1 > /app/f3 处理的文件重定向到f3

QQ截图20171120200758
tr -s ‘a’ 处理重叠的字母压缩掉

QQ截图20171120201224
-c 取反tr -dc `a` 除了a 之外别的都删除 ctrl+D

QQ截图20171120201550
tr -dc `a\n` 保留 回车作用

QQ截图20171120202042
tr `\n` ` `< f1 处理f1文件中的换行

QQ截图20171120202143
seq 1 10 输出1-10 竖排 ,然后替换‘\n’ ‘ ‘
QQ截图20171120203841

mail -s hi~ ma xxxxxxxxx 发邮件给某个用户
标题 哪个用户 内容

QQ截图20171120204539
cat > f1 单行重定向
cat > f1 <<EOF 多行重定向 EOF为终止符
mail -s hi~ `whoami`<<EOF
>HI~$USER
>TESE
>EOF
【管道】
连接标准输入输出的命令间隔
命令1|命令2|命令3
| 管道重定向了前命令的标准输出
error 2>&1| tr ‘a-z’ A-Z | tr -d O
|more |less
tar -cvf – /home | tar -xvf –
将/home了吗的文件打包命名为- 传到后面再解压
tar -cvf 打包 tar -xvf 解包

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

(0)
马
上一篇 2017-11-20 20:47
下一篇 2017-11-20 21:05

相关推荐

  • 2016-11-4作业

    1、创建一个2G的文件系统,块大小为2048byte,预留1%可用空间,文件系统ext4,卷标为TEST,要求此分区开机后自动挂载至/test目录,且默认有acl挂载选项  mkfs.ext4 -b 2048  -L "TEST" -m 1 /dev/sdb6 2、写一个脚本,完成如下功能: (1) 列出当前系统识别到…

    Linux干货 2016-11-06
  • 第九周加密及DNS

    1、简述常见加密算法及常见加密算法原理,最好使用图例解说
    2、搭建apache或者nginx并使用自签证书实现https访问,自签名证书的域名自拟
    3、简述DNS服务器原理,并搭建主-辅服务器
    4、搭建并实现智能DNS

    Linux干货 2018-01-29
  • lvs简介

    一、 LVS简介         LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,它的官方站点是www.linuxvirtualserver.org。现在LVS已经是 Linux标准内核的一部分,在Linux2.4…

    Linux干货 2016-10-30
  • FHS文件系统以及各目录功能

    FHS:Filesystem Hierarchy Standard(文件系统目录标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理,规范在根目录(/)下面各个主要目录应该放什么样的文件。 …

    Linux干货 2016-10-17
  • 磁盘、文件系统管理

    linux磁盘、文件系统管理 硬盘:机械硬盘、固态硬盘     计算硬盘速度:IoPs:(Io  per  second ) 每秒20次 机械硬盘:     track:磁道     平均寻道时间  &nbsp…

    Linux干货 2016-08-25
  • 磁盘配额

        磁盘配额可以限制指定账户能够使用的磁盘空间,这样可以避免因某个用户的过度使用磁盘空间造成其他用户无法正常工作甚至影响系统运行。在服务器管理中此功能非常重要,但对单机用户来说意义不大。 配置配额系统:     综述:     &nbs…

    Linux干货 2016-09-06