day12 重定向

咋日回顾

1.特殊权限  SUID

    功能:任何用户执行带有suid的命令,都是用该命令的属主权限

    用此命令非常危险:如给vim授权

    授权的方式:

    chmod  u+s  /usr/bin/vim

    chmod  4755  /usr/bin/vim

    chmod   u-s  /usr/bin/vim

2.特殊权限 SGID

    功能:目录被赋予SGID属性,所有在该目录下的文件都隶属于目录属组

    授权方法:

    chmod  g+s  /data

    chmod  2755  /data

3.特殊权限SBIT

    功能:允许任何人在该目录下创建文件,但只能删除自己创建的,不可以删除其他人的

    /tmp  <-------上传资源时,临时存放的一个目录

4.特殊属性

    chattr :  -i 不允许删除,不允许修改的文件 /etc/passwd (不允许创建用户)

         -a : 只允许往文件中追加内容,其他无操作(日志文件)

5.默认权限UMASK

    Umask表示要减去的权限

        默认目录权限是 777   --   022

        默认文件权限是  666   --  022

    普通用户创建文件和目录的权限不一样,取决与/etc/profile 中的UMASK设定

    创建普通用户,会同时创建家目录,家目录权限是多少取决于/etc/login.defs 文件UMASK设定

今日内容

1.什么是重定向

2.为什么要使用重定向

3.学习重定向前需要了解的标准输入、标准输出、错误输出

4.重定向、追加重定向

5.进程管道技术是什么

1.什么是重定向

将原本要输出到屏幕的数据信息,重定向到牧歌指定的文件中

2.为什么要使用重定向

1.当屏幕输出的信息很重要,而且希望保存重要的信息时

2.后台执行中的程序,不希望他干扰屏幕正常的输出结果时

3.系统的例行命令,例如定时任务的执行结果,希望可以存下

4.一些执行命令,我们知道它可能出现错误信息,想将它直接丢弃时

5.错误日志与正确日志需要分别输出至不同的文件保存时

#   < 输入重定向

#   ; cmd1 ;cmd2 无论前者命令成功还是失败,都执行后者命令

#   &&   cmd1 &&cmd2  前者命令执行成功,后者命令才会执行

#   ||   cmd1 || cmd2  前者命令执行失败后,后者命令才会执行

#    &   将程序放入后台执行  (screen将程序放入后台)

3.标准输入    标准输出     错误输出 (2   3+)

1.程序运行起来后,变为进程,会同时打开三个文件  (标准输入  标准输出  错误输出)

2.标准输入  0    标准输出  1    错误输出  2   3+

[root@caoweiqiang ~]# cat /etc/passwd

[root@caoweiqiang ~]# tail -f /etc/passwd  (Ctrl +z  将程序转到后台)

[root@caoweiqiang ~]# ps
[root@caoweiqiang ~]# ls -l /proc/8665/

4.标准输出   错误输出与重定向有什么关系

重定向就是用来改变标准输出或者标准错误输出的一个指向

     #    1>标准输出重定向(覆盖)

案例1: 标准输出重定向(每次都会覆盖文件)

eg:#标准输出重定向, 先清空,后写入, 如果文件不存在则创建

     #    1>>标准输出重定向(追加)

案例2: 标准输出重定向(会往文件的尾部在添加内容)

#标准追加输出重定向, 向配置文件末尾追加内容

     #    2>标准错误输出重定向(覆盖)

     #    2>>标准错误输出重定向(追加)

案例3: 错误输出重定向

#正确输出以及错误输出重定向至一个文件

#将标准输出和标准错误输出重定向到不同文件

[cwq@caoweiqiang ~]$ find /etc -name "*.conf" 1>a 2>b

   #    &>  /dev/null 混合输出(覆盖)

     #    &>>  /tmp/t.log  混合输出(追加)

案例4: 正确和错误都输入到相同位置

#将标准输出和标准错误输出重定向到同一个文件, 混合输出

[cwq@caoweiqiang ~]$ find /etc -name "*.conf" &>ab

[cwq@caoweiqiang ~]$ cat ab

[cwq@caoweiqiang ~]$ cat a b >c

[cwq@caoweiqiang ~]$ cat c

案例5: 正确和错误都输入到相同位置

案例6: 重定向到空设备/dev/null

[root@caoweiqiang ~]# ls /root /error >ab 2>/dev/null

[root@caoweiqiang ~]# cat ab

#将产生的任何数据放入黑洞设备,则视为丢弃。

5.输入重定向

从文件中获取内容  .<

6.进程管道技术

    1.将左边命令的标准输出------传递----->右边命令的标准输入----->标准输出|错误输出

    2.tee将左边命令的标准输出保存至文件或打印终端,但不影响管道数据的一个传递  

   ##重定向与 tee 有他们在使用过程中有什么区别

    3.xargs 用于将不支持管道的命令  支持管道  左边命令的输出作为参数进行传递

     xargs参数传递,主要让一些不支持管道的命令可以使用管道技术

      

    

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容