首页 > 代码库 > linux云自动化运维基础知识4(系统结构,vim,管理输入输出,正则表达式)

linux云自动化运维基础知识4(系统结构,vim,管理输入输出,正则表达式)

  1. linux系统结构
       linux是一个倒树结构
       linux中所有的东西都是文件
       这些文件都在系统顶级目录“/” /就是根目录
      /目录以下为二级目录这些目录都是系统装机时系统自动建立的
    如图技术分享



2.二级目录的作用
/bin    ##二进制可执行文件也就是系统命令
/sbin   ##系统管理命令存放位置
/boot   ##启动分区,负责系统启动
/dev    ##设备管理文件
/etc    ##大多数系统管理文件
/home   ##普通用户的家目录
/lib    ##32位系统库文件存放位置
/lib64  ##64位系统库文件存放位置
/media  ##系统临时设备挂载点                                                                                 
/mnt    ##系统临时设备挂载点
/run    ##系统临时设备挂载点
/opt    ##第三方软件安装位置
/proc   ##系统信息
/root   ##超级用户家目录
/srv,/var      ##系统数据
/sys    ##系统管理,主要是关于内核的
/tmp    ##系统临时文件存放位置
/usr    ##系统用户相关信息数据及用户自定义软件存放位置
3.文件的寻址
  (1) 绝对路径
     文件在系统的真实位置,文件名字以“/”开头

   (2)相对路径
     文件相对与当前所在位置的一个名字的简写,这个名字不会以/开头,而且名字会自动添加pwd显示的值.
4.正则表达式
  (1)通配符
     *                ###匹配0到任意字符
     ?                ###匹配单个字符
     [[:alpha:]]    ###匹配单个字母
     [[:lower:]]    ###匹配单个小写字母
     [[:upper:]]    ###匹配单个大写字母
     [[:digit:]]    ###匹配单个数字
     [[:alnum:]]    ###匹配单个数字或字母
     [[:punct:]]    ###匹配单个符号
     [[:space:]]    ###匹配单个空格
   (2){}表示不存在的或者存在的
{1..9}        ###1-9
{a..f}        ###a-f
{1,3,5}        ###135
{a,c,e}        ###a c e
{1..3}{a..c}    ###1a 2a 3a 2a 2b 2c 3a 3b 3c    乘法运算


技术分享

技术分享



[]表示存在的
[a-C]        ###aA bB cC
[a-c]        ###aA或者bB或者c
[1-3]        ###1或者2或者3
[145]        ###1或者4或者5
[^abc]|[!abc]    ###除了a并且除了b并且除了c

~        ###当前用户家目录
~username    ###指定的用户家目录
~+        ###当前目录
~-        ###当前目录之前所在目录

.        ###当前目录
..        ###当前目录的上一级

 

  1. 管理输入输出
    在linux系统中,标准输入的编号为0,正确输出的编号为1,错误输出编号为2

    在系统中用普通用户执行 "student"
    find /etc -name passwd
    因为student用户权限问题会有以下输出
    find: ‘/etc/pki/CA/private’: Permission denied        ##没有进入权力,报错
    find: ‘/etc/pki/rsyslog’: 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/dhcp’: Permission denied
    find: ‘/etc/selinux/targeted/modules/active’: Permission denied
    find: ‘/etc/lvm/archive’: Permission denied
    find: ‘/etc/lvm/backup’: Permission denied
    find: ‘/etc/lvm/cache’: Permission denied
    find: ‘/etc/grub.d’: Permission denied
    /etc/pam.d/passwd                    ##正确输出
    find: ‘/etc/audisp’: Permission denied
    find: ‘/etc/firewalld’: Permission denied
    find: ‘/etc/cups/ssl’: Permission denied
    find: ‘/etc/ipsec.d’: Permission denied
    find: ‘/etc/libvirt’: Permission denied
    find: ‘/etc/sudoers.d’: Permission denied
    find: ‘/etc/named’: Permission denied

    2.(1)输出重定向
    find /etc -name passwd > file        ##重定向正确输出   >


    find /etc -name passwd 2> fi

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


  2. 技术分享

                           技术分享


    注意: >, 2> ,&>  都会覆盖源文件内容
    >file                                   ##清空file

    find /etc -name passwd >> file        ##追加正确输出    >>
    find /etc -name passwd 2>> file        ##追加错误输出    2>>
    find /etc -name passwd &>> file        ##追加所有输出    &>>
    注意:>> 2>> &>> 不会覆盖源文件内容,会把相应的输出字符放到文件的最后



       (2)输入重定向:格式化输入内容到文件
          tr ‘a-z‘ ‘A-Z‘ < westos                   cat > westos <<EOF
                                                    HELLO
                                                    WORLD
                                                    EOF



    3.管道  符号:|
      管道,将前一条命令的正确输出作为管道符后面命令的标准输入

      ls /bin | wc -l        ##统计ls

    /bin 命令输出的行数

      系统中错误(stderr)的输出是无法通过管道的。
      用 2>&1 可以把错误的输出编号由2变成1

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

    技术分享

    4.vim       命令模式####

    (1)在vim的命令模式下可以配置vim的工作方式
    :set nu            ##行号添加
    :set nonu        ##取消行号
    :set mouse=a        ##添加鼠标选择
    :set cursorline        ##行线显示

    以上设定都是临时的,
    永久设定方式
    vim /etc/vimrc        ###此文件为vim的配置文件,在此文件最后加入以上参数,加到文件中的才数不需要:



    (2).vim命令模式下关键字搜索####
    /关键字
    n向下匹配
    N向上匹配

    (3).vim命令模式下字符的管理####
        (1.字符的复制
    yl        ##复制一个字母
    y3l        ##复制3个字母
    yw        ##复制一个单词
    y3w        ##复制3个单词
    yy        ##复制一行
    y3y        ##复制3行
    p        ##复制完成后按“P”粘贴

        (2.字符的删除
    dl        ##删除一个字母
    d3l        ##删除3个字母
    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            ##把全文行首的空格去掉,"^\ *"表示行首的空格



    (6).vim的分屏功能###
    ctrl+w s     ###上下分屏
    ctrl+w v    ###左右分屏
    ctrl+w c    ###关闭光标所在屏幕
    ctrl+w 上下左右 ###光标移动到指定屏幕
    :sp file2    ##同时编辑当前文件和file2
    (7).vim光标移动#####
    在命令模式下
    :数字        ##移动到指定的行
    G        ##文件最后一行
    gg        ##文件第一行

    在插入模式下
    i        ##光标所在位置插入
    I        ##光标所在行行首
    a        ##光标所在字符的下一个位置
    A        ##光标所在行行尾
    o        ##光标所在行下一行
    O        ##光标所在行上一行
    s        ##删除光标所在字符插入
    S        ##删除光标所在行插入

    (8).vim的退出模式
    :q        ##当用vim打开文件但没有对字符作任何操作时可直接退出
    :q!        ##当用vim打开文件并对字符作操作,放弃所有操作退出
    :wq        ##保存退出
    :wq!        ##强行保存退出,对超级用户及文件所有人生效

    (9).vim手册####
    vimtutor    ##vim的手册
    :q        ##退出vimtutor

     5.gedit


    ctrl+n            ##在gedit中打开一个新的tab
    ctrl+s            ##保存文件
    ctrl+o            ##打开文件
    ctrl+x            ##剪切字符
    ctrl+v            ##粘贴字符
    ctrl+c            ##复制字符
    yelp help:gedit        ##gedit的图形手册


本文出自 “13122425” 博客,请务必保留此出处http://13132425.blog.51cto.com/13122425/1950088

linux云自动化运维基础知识4(系统结构,vim,管理输入输出,正则表达式)