linux中管道重定向

linux中管道重定向

Linux 给程序提供三种I/O设备:    查看是否成功  echo $?      需要再执行命令后直接使用

                标准输入:0

                标准输出:  1                      

                标准错误:  2    

        >   把输出的信息重定向到文件

        2>  把错误的输出信息重定向到文件

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

    注意: >> 代表的是追加重定向,单独一个>会覆盖原有文件             

examp:    ls /root    /ada 2>> /dev/app      #列出错误信息(没有第二个目录) 追加输出到/dev/app,  这样屏幕就不会显示

 tr:转换和删除字符

                      [:alnum:] :字母和数字         [:alpha:] :字母          [:digit:]字  :数字      [:lower:] :小写字母  

                      [:print:] : 可打印字符          [:punct:]:标点符号    [:space:] :空白符     [:upper:]:大写字母

通过一个列子就就可以看明白了:

                   ls /roo >/app/ls  | tr -dc ‘[:alnum:]   # 前面是重定向到文本,再管道替换,-d是删除 -c是取反,本来是删除文本的alnum.

                                                                        加了-c代表保留alnum,其他的都删除了。

标准输入的例子: tr –d abc < /etc/fstab     # 删除fstab 文件中的所有abc    这里直接导入了文件,不需要再手动输入了

                         tr –d abc <<end         #这表示想手动输入,输完后需要单独输一行end结束退出  这也叫多行重定向;

                                      << 终止词    

                         Cat > filea < fileb         # 这里本来是要输入信息到filea,但是后面用文本fielb代替了输入,就不用再手动输入

                                                               注意两者文件名不能相同,否则会导致文件破坏。

管道:命令1 |  命令2 |  命令3 | …

         意思就是把命令1的输出结果作为命令2的输入,命令2的输出结果作为命令3的输入,以此类推;

         如果命令1发生错误,则不执行,想执行可以使用 |& 实行

exam:

        ls /root   /ls    &| tr ‘a-z ‘A-Z’        #如果不加&,则只会把ls /root 的输出信息换成大写,

                                                           加上&,会把错误的ls /ls的错误结果一同换成大写输出显示

用户的组管理和权限管理说明:   一个用户能使用什么权限,id说了算,root id 为0

     centos6:  系统用户id(1-499)    普通用户id(500-65535)

     centos7:  系统用户id(1-999)     普通用户 1000+

管理员组的id和上面一样的划分;

        Linux 安全上下文:

                      运行中的程序、进程,以进程发起者的身份运行:进程所能够访问资源的权限取决于进程的运行者的身份

       我的理解是:谁发起procsee,就使用谁的权限,比如是发起者是属组权限,那么就只有process的属猪权限,木有属主的权限

                          除非是process的属主发起,那么就拥有所有的权限。

 

★用户必须属于一个且只有一个主组; 组名同用户名,且仅包含一个用户:私有组也就是附加组可以多个

           用字符代替就是:u : g :  o      

     配置文件信息: /etc/passwd

                            /etc/shadow     这里存放的是用户的密码信息

                            /etc/group

                            /etc/gshadow    这里存放的是用户的组密码信息    

     passwd的文件格式:   username:passwd:uid:gid:用户的注释信息:home directory:shell     用冒号分割七段,其中密码信息保存在另外位置

    shadow就是真正的密码保存位置:

          username:passwd:密码最近修改时间:密码再过几天可以被变更;0表示随时可被变更:密码过期时间;999表示永不过期

          :过期前提醒时间(默认一周):密码过期后几天锁定:密码失效日期:

     这个记不住就cat /etc/shadow ; 通过里面一行行的信息对比,记得0是随时更改,999999永不过期,


    

原创文章,作者:shewei,如若转载,请注明出处:http://www.178linux.com/69614

(0)
sheweishewei
上一篇 2017-02-20
下一篇 2017-02-21

相关推荐

  • keepalived实现高可用LVS

    前言 vrrp介绍:  vrrp(Virtual Router Redundancy Protocol)虚拟路由冗余协议;就是把多个路由器或多个网关设备加入到组中,然后在这一组中虚拟出一个路由器,此虚拟路由器有真是的IP和MAC地址,客户端将网关指向此虚拟路由器的IP;客户端向此虚拟路由器的IP和MAC地址发起请求时,由活动路由器负责响应;当活动路…

    Linux干货 2015-07-23
  • bash脚本基础

    一,概述 shell脚本 程序:指令+数据 程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 编程逻辑处理方式: 顺序执行 循环执行 选择执行 shell编程:过程式、解释执行 编程语言的基本结构: 数据存储:变量、数组 表达式: a + b 语句:if shell脚本是包含…

    Linux干货 2016-08-19
  • 马哥教育网络班19期+第三周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。   whoami 只显示已经登录的用户     who | cut -d' ' -f1 | sort&nbs…

    Linux干货 2016-06-19
  • 2016-08-10作业

    1、编写脚本/root/bin/systeminfo.sh, 显示当前主机系统信息,包括主机名,IPv4 地址,操作系统版本,内核版本,CPU 型号,内存大小,硬盘大小。 #!/bin/bash echo "hostname is `hostname`" echo "IPv4 is `ifconfig | sed -n &#03…

    Linux干货 2016-08-15
  • 文件编辑之神器Sed

    pattern space   //  文本中每行内容都会进入到pattern space中, 如果匹配到了,就会进入到右分支, 如果没有匹配到,则进入左分支。 hold space  //  就是已经被模式匹配到, 并且编辑后保存的内容就是hold space 中. 默认情况下,当没有被匹配之后,没有匹配到…

    Linux干货 2016-08-15
  • Nginx七层反代服务器 (Blog 20)

    http反代、fastcgi反代

    Linux干货 2017-12-20