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干货 2017-12-11
  • python Django分页

    自定义html_helper.py  —>  Page_helper类 #coding:utf-8 from django.utils.safestring import mark_safe class Page_Helper(object):    …

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

    一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。      文件管理命令有:mkdir  rm  tree  ls  等等  1、mkdir [options] /path/to/somewhere      &…

    Linux干货 2016-08-22
  • 超全超详细的HTTP状态码大全

    本部分余下的内容会详细地介绍 HTTP 1.1中的状态码。这些状态码被分为五大类:  100-199 用于指定客户端应相应的某些动作。 200-299 用于表示请求成功。 300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息。 400-499 用于指出客户端的错误。 500-599 用…

    Linux干货 2015-03-20
  • 如何在微软Azure云机上添加新磁盘

    大家好: 最近在项目实践中,分享下如何在微软Azure云机上添加新磁盘。 首先需要查看下是否有未用上的磁盘,先fdisk -l查(看下图)并和Azure技术确认该磁盘是否可永久保存数据: 然后找到未分区的磁盘号,如上图中的/dev/sdc,再 fdisk /dev/sdc后开始在该新磁盘上进行分区创建: 为方便管理,我们一般就创建一个分区,然后进行格式化: …

    Linux干货 2016-11-27
  • MySQL复制

    目录: 1.备份与恢复 2.主从复制 3.主主复制 4.半同步复制 5.MHA 6.centos7搭建mariadb Galera集群 1.备份和恢复 备份工具:mysqldump+复制binlog xtrabackup (1) mysqldump+复制binlog 备份: mysqldump -E -R –triggers –master-data=2 –…

    2017-11-21