linux 4

来源:互联网 发布:泯然众人 知乎 编辑:程序博客网 时间:2024/06/06 05:41
##########################
###########unit4##########
##########################


在linux系统中,正确输出的编号为1,错误输出编号为2


在系统中用普通用户"student"执行"find /etc -name passwd"
因为普通用户权限问题会有以下输出
[student@foundation18 Desktop]$ find /etc -name passwd
find: ‘/etc/pki/CA/private’: Permission denied               ###没有权力进入,报错
find: ‘/etc/pki/rsyslog’: Permission denied
find: ‘/etc/lvm/archive’: Permission denied
find: ‘/etc/lvm/backup’: Permission denied
find: ‘/etc/lvm/cache’: Permission denied
find: ‘/etc/audit’: Permission denied
/etc/passwd                                                  ###正确输出
find: ‘/etc/polkit-1/rules.d’: Permission denied
find: ‘/etc/polkit-1/localauthority’: Permission denied
find: ‘/etc/selinux/targeted/modules/active’: Permission denied
/etc/pam.d/passwd                                            ###正确输出
find: ‘/etc/dhcp’: Permission denied
find: ‘/etc/firewalld’: Permission denied
find: ‘/etc/grub.d’: Permission denied
find: ‘/etc/ipsec.d’: Permission denied
find: ‘/etc/libvirt’: Permission denied
find: ‘/etc/audisp’: Permission denied
find: ‘/etc/virt-who.d’: Permission denied
find: ‘/etc/sudoers.d’: Permission denied




find /etc -name passwd > file     ###重定向正确输出
find /etc -name passwd 2> file    ###重定向错误输出
find /etc -name passwd &> file    ###重定向所有输出


注意:>  2>  &>  都会覆盖原文件内容


>file                             ###清空file
 


find /etc -name passwd >> file    ###追加正确输出
find /etc -name passwd 2>> file   ###追加错误输出
find /etc -name passwd &>> file   ###追加所有输出


注意: >>  2>>  &>> 不会覆盖原文件内容,会把相应的输出字符放到文件的最后


|  管道,管道的作用是将前一条命令的输出变成管道后命令的输入
ls /bin | wc -l            ###统计ls/bin 命令输出的行数


系统中错误的输出时无法通过管道的。
用2>&1 可以把错误的输出编号由2变成1
tee   复制输出指定位置
date |tee file|wc -l       ###tee命令复制date命令的输出到file中,并统计输出行数


##########第四单元练习##########


1.在student用户下执行find /etc -name passwd 命令,并管理其输出要求如下:


        * 显示所有正确输出,屏蔽错误输出
[student@foundation18 Desktop]$ find /etc -name passwd 2> file
        * 保存正确数出到/mnt/find.out,错误数出到/mnt/find.err中
[student@foundation18 Desktop]$ find /etc -name passwd > /mnt/find.out  2> /mnt/find.err
        * 建立/mnt/find.all文件,并且保存所有输出到此文件中
[student@foundation18 Desktop]$ find /etc -name passwd &> /mnt/find.all
        * 再次保存所有输出到/mnt/find.all中,并且保持源文件内容  
[student@foundation18 Desktop]$ find /etc -name passwd &>> /mnt/find.all
        * 屏蔽此命令的所有输出
[student@foundation18 Desktop]$ find /etc -name passwd &> file
        * 显示此命令的所有输出并保存输出到桌面上的任意文件中
[student@foundation18 Desktop]$ find /etc -name passwd 2>&1 | tee file
        * 保存正确输出到/mnt/find.out.1中,屏蔽错误输出
[student@foundation18 Desktop]$ find /etc -name passwd 1> /mnt/find.out 2> file


2.处理文件在文件/usr/share/mime/packages/freedesktop.org.xml要求如下:


        * 找到此文件中包含ich的行,并保存这些行到/root/lines中
[student@foundation18 Desktop]$ find /usr/share/mime/packages/freedesktop.org.xml/*ich* /root/line
[student@foundation18 Desktop]$ find /usr/share/mime/packages/freedesktop.org.xml/*ich /root/line
[student@foundation18 Desktop]$ find /usr/share/mime/packages/freedesktop.org.xml/ich* /root/line
* 用vim替换掉/root/lines中的空格,但要保持文件中原有的内容
[student@foundation18 Desktop]$ vim /root/lines
:%s/\//vim
0 0
原创粉丝点击