美文网首页Linux运维
day12-重定向-笔记

day12-重定向-笔记

作者: 一条小强强OvO | 来源:发表于2019-08-09 12:23 被阅读0次

Day12-重定向


导读

  • 昨日回顾
    • 1.特殊权限SUID
    • 2.特殊权限SGID
    • 3.特殊权限SBIT
    • 4.特殊属性
    • 5.默认权限UMASK
  • 今日内容
    • 1.什么是重定向
    • 2.为什么要使用重定向
    • 3.标准输入、标准输出、错误输出
      • 输出重定向
      • 输入重定向
    • 4.进程管道技术
      • 三通管道tee
      • xargs参数传递
  • 今日总结

昨日回顾

特殊权限SUID

功能:任何用户执行带有suid的命令,都是用该命令的属主权限
非常危险,比如授权 vim --> sudoers
授权方式
chmod u+s /usr/bin/vim
chmod 4755 /usr/bin/vim
chmod u-s /usr/bin/vim
chmod 755 /usr/bin/vim

特殊权限SGID

功能:目录被赋予SGID属性,所有在该目录下的文件都隶属于目录的属组
授权方式
chmod g+s /data
chmod 2755 /data

特殊权限SBIT

功能:允许任何人在该目录下创建文件,但只能删除自己创建的,不允许删除其他人的
/tmp   <---- 上传资源时,临时存放的一个目录

特殊属性

chattr
    i 不允许删除,不允许修改的文件 /etc/passwd(不允许创建用户)
    a 只允许往文件中追加内容,其他无操作(日志文件)
    chattr +i /etc/passwd
lsattr
    查看文件是否存在特殊属性

默认权限UMASK

Umask表示要减去的权限
    默认目录权限是777 - 022
    默认文件权限是666 - 022
普通用户创建文件和目录的权限不一样,取决于/etc/profile中的UMASK设定
创建普通用户,会同时创建家目录,家目录权限是多少取决于/etc/login.defs文件的设定

今日内容

什么是重定向

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

为什么要使用重定向

1.当屏幕输出的信息很重要,而且希望保存下来的时候
2.后台执行中的程序,不希望干扰屏幕正常输出结果
3.系统的例行命令,例如定时任务的执行结果
4.一些命令的错误信息,想将信息丢掉时
5.错误日志与正确日志分别保存到文件

标准输入、标准输出、错误输出

输出重定向

`>`     标准覆盖输出重定向
`>>`    标准追加输出重定向
`2>`    错误覆盖输出重定向
`2>>`   错误追加输出重定向
`&>`    混合覆盖输出重定向
`&>>`   混合追加输出重定向

输入重定向

`<`     输入重定向
`;`     cmd1;cmd2 无论前者命令成功还是失败,都执行后者命令
`&&`    cmd1&&cmd2 前者命令执行成功,后者命令才会执行
`||`    cmd1||cm2 前者命令执行失败,后者命令才会执行
`&`     将程序放入后台执行(screen)

进程管道技术

将前者命令的输出变成后者命令的输入

三通管道tee

#将前者命令的输出另存为df.log,并将输出传递给后者命令的输入
df -h | tee df.log | grep '/$'
#将前者命令的输出打印到屏幕,并将输出传递给后者命令的输入
df -h | tee /dev/pts/0 | grep '/$'

xargs参数传递

主要让一些不支持管道的命令可以使用管道技术

which cat | xargs ls -l
ls | xargs rm -rf

今日总结

# 重定向
将原本要输出到屏幕的数据信息,重新定向到某个指定的文件中
# 标准输入,标准输出,错误输出
程序运行起来后变为进程,会同时打开三个文件 标准输入 标准输出 错误输出
标准输入:0
标准输出:1
错误输出:2
# 标准输入,标准输出,错误输出与重定向之间有什么关系
重定向就是用来改变标准输出或者标准错误输出的一个指向
    `>`     标准覆盖输出重定向
    `>>`    标准追加输出重定向
    `2>`    错误覆盖输出重定向
    `2>>`   错误追加输出重定向
    `&>`    混合覆盖输出重定向
    `&>>`   混合追加输出重定向
# 输入重定向
从文件中获取内容 <
# 进程管道技术
将左边命令的标准输出传递给右边命令的标准输入
tee将左边命令的标准输出保存至文件或打印至终端,但不影响管道数据的一个传递
xargs用于将不支持管道的命令支持管道,将左边命令的输出作为参数进行传递

相关文章

  • day12-重定向-笔记

    Day12-重定向 导读 昨日回顾1.特殊权限SUID2.特殊权限SGID3.特殊权限SBIT4.特殊属性5.默认...

  • day12-重定向

    1.重定向概述 什么是重定向将原本要输出到屏幕的数据信息,重新定向到某个指定的文件中。比如:每天凌晨定时备份数据,...

  • Day12-重定向&管道

    1.什么是重定向 将原本要输出到屏幕的数据信息,重新定向到某个指定的文件中。 2.为什么使用重定向 1.当屏幕输出...

  • 21天E战到底学习笔记Day12

    21天E战到底学习笔记Day12-逻辑函数(If、And、Or) 今天是E战到底特训营的第十二天了,很快特训营...

  • 作业-第03周--预习--Day10-Linux文件属性

    Day10 预习笔记 1. 重定向符号总结 此外还有一个特殊重定向用法:将标准错误重定向到标准输出,即标准错误和标...

  • 常用HTTP状态码以及客户端缓存

    常用状态码 200 请求返回成功301 永久重定向302 临时重定向304 资源未更改(对应笔记中客户端缓存...

  • Recovery

    [RK3288][Android6.0] 调试笔记 --- Recovery log重定向

  • nginx 维护笔记

    nginx 维护笔记 安装 安装依赖 prce(重定向支持)和openssl(https支持,如果不需要https...

  • 第07章重定向管道

    输出重定向案例 > < 脚本中使用重定向 2.输入重定向及结合案例 管道 | 重定向和管道的符号对比。重定向输出到...

  • shell 笔记 Day1

    重定向: (覆盖重定向), >>(追加重定向) , 2>(重定向错误信息) , &>(错误正确都重定...

网友评论

    本文标题:day12-重定向-笔记

    本文链接:https://www.haomeiwen.com/subject/ipgcjctx.html