• linux4


    ##################################

    ############unit 4################

    ##################################

    ###############################

    ##########1管理输入输出##########

    ###############################

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

    在系统中用普通用户执行“student”

    find /etc -name passwd

    因为student用户权限问题会有以下输出

    bash: find/etc/: No such file or directory

    [kiosk@foundation41 Desktop]$ find /etc -name passwd

    find: ‘/etc/pki/CA/private’: Permission denied   ##没有进入权力,报错

    find: ‘/etc/pki/rsyslog’: Permission denied

    find: ‘/etc/dhcp’: Permission denied

    find: ‘/etc/lvm/archive’: Permission denied

    find: ‘/etc/lvm/backup’: Permission denied

    find: ‘/etc/lvm/cache’: Permission denied

    find: ‘/etc/selinux/targeted/modules/active’: Permission denied

    /etc/passwd            ##正确输出

    find: ‘/etc/polkit-1/rules.d’: Permission denied

    find: ‘/etc/polkit-1/localauthority’: Permission denied

    find: ‘/etc/audit’: Permission denied

    /etc/pam.d/passwd      ##正确输出

    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

    eg:[kiosk@foundation41 Desktop]$ dwfdwef |wc -l

        bash: dwfdwef: command not found...

        0

       [kiosk@foundation41 Desktop]$ dwfdwef 2>&1|wc -l

        1

    tee  复制输出到指定位置

    date |tee file |wc -l  ##tee命令复制date命令的输出到file中,并统计输出行数

    ###################

    ######2.vim########

    ###################

    ######1.vim 命令模式####

    vim的命令模式下可以设置vim的工作方式

    set nu     ##行号添加

    set nonu     ##取消行号

    set mouse=a   ##添加鼠标选择

    set cursorline  ##行线显示

    以上设定都是临时的,

    永久设定方式

    vim /etc/vimrc  ##此文件为vim的配置文件,在此文件最后加入以上参数,加到文件中的参数不需要

    ****

    [kiosk@foundation41 Desktop]#echo set nu >>/etc/vimrc

    #############################

    ###2 vim命令模式下字符的管理#####

    #############################

    1.字符的设置

    yl   ##复制一个字母

    y3l   ##复制3个字母

    yw   ##复制一个单词

    y3w   ##复制3个单词

    yy   ##复制一行

    y3y ##复制3行

    p  ##复制完成后按“p”粘贴

    2 字符的删除

    d1  ##删除一个字母

    d2l  ##删除2个字母

    dw  ##删除一个单词

    d3w  ##删除3个单词

    dd    ##删除一行

    d3d  ##删除3行

    3 字符的剪切

    cl        ##剪切一个字母

    c3l   ##剪切3个字母

    cw   ##剪切一个单词

    c3w   ##剪切3个单词

    cc        ##剪切一行

    c3c   ##剪切3行

    esc --->p ##剪切过后会进入到插入模式,在执行粘贴动作是一定要退出插入模式

    #########4 vim的可视化模式####

    在命令模式下按“ctrl+v”进入到可视模式

    在可视模式下可以区域选择字符

    可视模式下批量添加字符

    *>> ctrl+V 选中要加入字符所在列

    *>> 按"I"进入插入模式,写入要加入的字符

    *>> 按esc

    #####5 批量修改字符####

    %s/原有字符/替换后字符     ###只替换每一行中出现的第一个原有字符

    %s/原有字符/替换后字符/g  ##替换所有

    %s/ //g  ##把全文的tab键去掉, 表示tab 键

    %s/^ *//g    ##把全文行首的空格去掉,“^ *”表示行首的空格

    %s/^# */#/g  ##把全文#后的空格去掉

    ############6 vim的分屏功能###

    ctrl+w s ##上下分屏

    ctrl+w v ##左右分屏

    ctrl+w c ##关闭光标所在屏幕

    ctrl+w 上下左右  ##光标移动到指定屏幕

    sp file2   ##同时编辑当前文件和file2

    #####7 vim 光标移动#####

    在命令模式下<<<第四单元练习>>>

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

            * 显示所有正确输出,屏蔽错误输出

    [student@foundation179 Desktop]$ find /etc -name passwd 2>/dev/null

            * 保存正确数出到/tmp/find.out,错误数出到/tmp/find.err中

    [student@foundation179 Desktop]$ find /etc -name passwd >/tmp/find.out 2>/tmp/find.err        

            * 建立/tmp/find.all文件,并且保存所有输出到此文件中

    [student@foundation179 Desktop]$ find /etc -name passwd &>/tmp/find.all

            * 再次保存所有输出到/tmp/find.all中,并且保持源文件内容

    [student@foundation179 Desktop]$ find /etc -name passwd &>>/tmp/find.all  

            * 屏蔽此命令的所有输出

    [student@foundation179 Desktop]$ find /etc -name passwd &>/dev/null

            * 显示此命令的所有输出并保存输出到桌面上的任意文件中

    [student@foundation179 Desktop]$ find /etc -name passwd |tee file

            * 保存正确输出到/tmp/find.out.1中,屏蔽错误输出

    [student@foundation179 Desktop]$ find /etc -name passwd >/tmp/find.out.1 2>/dev/null

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

    * 找到此文件中包含ich的行,并保存这些行到/root/lines中

    [root@foundation179 Desktop]#cat /usr/share/mime/packages/freedesktop.org.xml |grep ich |tee /root/lines

    * 用vim替换掉/root/lines中的空格,但要保持文件中原有的内容

    [root@foundation179 Desktop]#vim /root/lines

    :%s/ /vim/g--->"Esc"--->:wq

    :数字   ##移动到指定的行

    G       ##文件最后一行

    gg      ##文件第一行

    在插入模式下

    i  ##光标所在位置插入

    I  ##光标所在行行首

    a  ##光标所在字符的下一个位置

    A  ##光标所在行行尾

    o  ##光标所在行下一行

    O  ##光标所在行上一行

    s  ##删除光标所在字符插入

    S  ##删除光标所在行插入

    #####8 vim 的退出模式####

    q    ##当用vim打开文件但没有对字符作任何操作时可直接退出

    q!  ##当用vim打开文件并对字符作操作,放弃所有操作退出

    wq   ##保存退出

    wq! ##强行保存退出,对超级用户及文件所有人生效

    #####9 vim手册###

    vimtutor   ##vim的手册

    q        ##退出vimtutor

    #######################

    ###########3.gedit#####

    #######################

    ctrl +n   ##在gedit中打开一个新的tab

    ctrl +s   ##保存文件

    ctrl +o   ##打开文件

    ctrl +x   ##剪切字符

    ctrl +v   ##粘贴字符

    ctrl +c          ##复制字符

    yelp help:gedit  ##gedit的图形手册

    ###end###

    linux4练习

    <<<第四单元练习>>>

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

            * 显示所有正确输出,屏蔽错误输出

    [student@foundation179 Desktop]$ find /etc -name passwd 2>/dev/null

            * 保存正确数出到/tmp/find.out,错误数出到/tmp/find.err中

    [student@foundation179 Desktop]$ find /etc -name passwd >/tmp/find.out 2>/tmp/find.err        

            * 建立/tmp/find.all文件,并且保存所有输出到此文件中

    [student@foundation179 Desktop]$ find /etc -name passwd &>/tmp/find.all

            * 再次保存所有输出到/tmp/find.all中,并且保持源文件内容

    [student@foundation179 Desktop]$ find /etc -name passwd &>>/tmp/find.all  

            * 屏蔽此命令的所有输出

    [student@foundation179 Desktop]$ find /etc -name passwd &>/dev/null

            * 显示此命令的所有输出并保存输出到桌面上的任意文件中

    [student@foundation179 Desktop]$ find /etc -name passwd |tee file

            * 保存正确输出到/tmp/find.out.1中,屏蔽错误输出

    [student@foundation179 Desktop]$ find /etc -name passwd >/tmp/find.out.1 2>/dev/null

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

    * 找到此文件中包含ich的行,并保存这些行到/root/lines中

    [root@foundation179 Desktop]#cat /usr/share/mime/packages/freedesktop.org.xml |grep ich |tee /root/lines

    * 用vim替换掉/root/lines中的空格,但要保持文件中原有的内容

    [root@foundation179 Desktop]#vim /root/lines

    :%s/ /vim/g--->"Esc"--->:wq

      

  • 相关阅读:
    html框架
    head标签
    项目报错,tomcat中引起
    Eclipse中点击小猫提示Tomcat settings should be set in Tomcat Preference Page
    同一台电脑上安装两个tomcat服务器
    Java排序算法
    格式化系统日期
    九九乘法表
    Java实现给定字符串的倒序输出
    Eclipse警告:The serializable class XXX does not declare a static final serialVersionUID field of type long
  • 原文地址:https://www.cnblogs.com/yangying2017/p/6597484.html
Copyright © 2020-2023  润新知