咋日回顾
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参数传递,主要让一些不支持管道的命令可以使用管道技术