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 23:08
下一篇 2017-02-21 15:08

相关推荐

  • Linux文本处理工具和正则表达式

    概述:     Linux核心哲学思想中很重硬件要的一条内容就是一切皆文件,在Linux系统上,无论硬件、软件、配置文件等等一切,都以文件形式呈现出来。一般文件类型有:普通文件、目录文件、链接文件、管道文件、套接字文件、字符设备文件、块设备文件等。而普通文件里面又有一些文本文件、二进制文件等细分化的文件类型,而我们日常…

    Linux干货 2016-08-07
  • Nginx的简单配置和简单实验..

    yum install nginx #安装Nginx,安装包在epel源中 systemctl start nginx.service #启动服务 #实验:配置一个虚拟主机 #先给一个网页文件 ~]#mkdir /data/nginx/vhost1 -pv ~]#vim /data/nginx/vhost1/index.html <h1>Ngin…

    Linux干货 2017-06-19
  • 基于Cobbler实现多版本系统批量部署

    前言 运维自动化在生产环境中占据着举足轻重的地位,尤其是面对几百台,几千台甚至几万台的服务器时,仅仅是安装操作系统,如果不通过自动化来完成,根本是不可想象的。记得前面我们探究了基于PXE实现系统全自动安装,但PXE同时只能提供单一操作系统的批量部署,面对生产环境中不同服务器的需求,该如何实现批量部署多版本的操作系统呢?Cobbler便可以的满足这一实际需求,…

    Linux干货 2015-07-09
  • 面向对象

    语言分类 面向机器:抽象成机器指令,机器容易理解。代表:汇编语言 面向过程:一件事情分步骤来完成,出现各种情况有解决办法一一对应,问题规模小可以步骤化、按部就班的处理。代表:C语言 面向对象oop(object Oriented Programming):随着计算机解决问题的规模扩大、情况更复杂,需要很多部分协作,面向过程编程就不合适了,演变出了面向对象编程…

    Linux干货 2017-11-13
  • Linux文件查找工具之find “大宝剑”

    一、文件查找工具常用软件 locate:     locate命令其实是find -name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/locatedb,这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令…

    Linux干货 2016-03-12