linux环境下的运维--琐碎小知识点基础篇

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux环境下的运维--琐碎小知识点基础篇相关的知识,希望对你有一定的参考价值。

 目录

、什么是桥接

二、什么是shell

三、外部命令和内部命令

    1、外部命令

        (1)type

        (2)hash

    2、内部命令

       (1) enable

       (2) help

四、时间的设置

     1、CST 中国标准时间

         (1)date

         (2)cal

     2、文件的时间戳

     3、时区的修改

     4、硬时间,软时间的操纵方法

五、history查询历史记录

六、通配符

    (1)文件通配符

    (2)文字通配符

七、man章节

八、总结


      在开篇之前,先讲一个关于linux的小故事。 早在遥远的1991年,有个芬兰的计算机专业学生开发了Linux 0.01版,他开发这个Linux的原因是去学校机房上网时总是排队,排队时间都比玩电脑的时间长。linus Torvalds作为一名学生,利用一个暑假重新写出了linux的内核作为一个开源软件。

一、什么是桥接

    想要真正的开始学习linux环境下的运维,首先要知道虚拟机和交换机是如何实现连接的。

技术分享图片

      物理机,本身有一个网卡,VMware虚拟机,也有一个网卡,为了二者互连,VMware又创建出了一个交换机,虚拟机的网线连接在交换机上,交换机又连接在物理机的网卡,物理机的网线连接在教室的交换机上,所以相当于虚拟机也连接在教室的交换机上。


二、什么是shell

   shell是linux系统的用户界面,提供了用户与内核进行交互操作的一种接口,是一种人机交互的语言,相当于一个交流的外壳。

也被称为LINUX的命令解释器(command interpreter),它是一种高级程序设计语言。系统默认使用bash shell。

  * GUN Bourne-Again Shell(bash)是GUN计划中重要的工具软件之一,目前也是Linux标准的shell,与sh兼容。

 *CentOS默认使用

 *显示当前使用的shell

  echo $(SHELL)

*显示当前系统使用的使用的所有shell

  cat /etc/shells

三、外部命令和内部命令

1、外部命令

(1)type            //类型 查看内外部命令
  type command        // 显示命令的类型

(2)hash常见用法(执行外部命令):
  hash                     // 显示所有被hash的命令路径
  hash -1              //显示所有被hash的命令路径,包含别名
  hash -d             //别名,删除指定别名的hash条目
  hash -r            //清空所有hash
  hash -t           //别名 显示别名的hash路径
  hash -p        //路径 别名 手工增加一条hash

2、内部命令

 (1)enable 列出所有内部命令 
  enable command                                      //激活被禁用的内部命令
  enable -a                                         //显示所有内部命令
  enable |wc -1                              //显示激活中的内部命令的数量
  enable -a |wc -1                     //显示所有内部命令的数量
  enable -n echo                      //禁用了echo内部命令
    1>eg:   enable -n echo 
               type echo
              enable |wc -l
 解释:禁用了echo,文件由原本的61条命令,变为了60条。  
   echo $PATH  查看路径(由左到右排)
    2> eg:  mkdir /root/bin  .................创建一个目录
        mv /bin/echo /root/bin............移动 bin下的echo到root/bin下
        /root/bin/echo....................执行成功
        echo..............................报错
        type echo....................执行,依然在/bin/echo下
      为什么依然在/bin/echo下?  
      因为只有内部命令会把整体放在文件中,外部命令只是把路径缓存到hash当中。
      第二次就不用搜索,直接用hash调用。

   关于echo

          -n                   //不自动换行
         -E                     // 不开始解释功能,默认
         -e                      //开启解释功能
         \a                     // 警告声
         \b                       // 退格
         \c                        // 不换行
         \n                        // 回车换行
         \r                           //回车,即光标移至行首,但不换行
         \t                              //插入tab
         \\                            //插入\

 (2)help 内部命令 查看内部命令的帮助信息

           help help

          --help

四、时间的设置

   1、CST  中国标准时间

      (1)date
         date -s ‘2018-0109 14:38:20’.........修改时间
                 +%Y  年
                 +%m 月
                 +%d 日
                 +%H 时
                 +%M 分
                 +%S 秒
                 +%F 年/月/日
                 +%T 时:分:秒
                 102013112020.45 月日时分年[.秒]]
                 -s ‘年-月-日  时:分:秒’
                 "+%Y年%m月%d日 星期%W"

     (2)cal
           显示当前日历
          cal 2018                 //显示2018年的日历  
          cal 1                         //公元一年
          cal -3                        //上个月,这个月,下个月
          cal 5 2018                 // 2018年5月
          cal 9 1752                 // 代表特殊的一年,这一个月缺失了11天
          cal mm yyyy               // 显示yyyy年mm月的日历

 2、文件的时间戳
         atime               //访问时间,读取时更新
         mtime              //数据修改时间
         ctime                //元数据修改时间
         stat filename
         touch filename               //当文件不存在的时候,则创建一个空问价,名为filename
                                                        当文件已存在时,则更新时间戳。
         -a                       //更新atime ctime
        -m                       //更新mtime ctime
        touch filename          //更新全部时间戳
        -t [cc[YY]]MMDDHHmm[.SS]        //将a/m time 更新到指定时间
        -c                                                  //当文件已存在时,则更新全部时间,当文件不存在时,不创建

  3、时区的修改

 在CentOS的不同版本中,具有不同的表现形式:
   centos 6:
    eg: ll /etc/localtime
          ln -f /usr/share/zoneinfo/America/New_york /etc/localtime
          或者 ll /etc/localtime
                 ln -f /usr/share/zoneinfo/Asia/shanghai /etc/localtime     
   centos 7:
    eg: ln -f -s /usr/share/zoneinfo/America/New_york /etc/localtime
         ln -f -s /usr/share/zoneinfo/Asia/shanghai /etc/localtime
         timedatectl set-timezone America/New_York
         timedatectl set-timezone Asia/Shanghai

 4、硬时间,软时间的操纵方式
         hwclock              //行同于clock
        clock -s                  // 将软时间写入硬时间    关机时自动进行
        clock -w                    // 将硬时间写入软时间    关机时自动进行

 五、history查询历史记录   

          !编号,重复执行某条历史
          ctrl+r             //进入一个搜索模式(进行历史的查询)
          history              //查看历史记录
          !n                  //重复执行某条历史
          !!                // 重复执行上一条命令
          ctrl+p             // 等于上箭头
          ctrl+n            //等于下箭头
          ctrl+j                 //等于回车
          !string             // 重复前一个以“string”开头的命令
          !?string
          ctrl+r                //命令历史中搜索命令

          -c               // 清除命令历史
          -d offset             //删除历史中指定的第offset个命令
          -a                  //将当前终端新执行的命令写入历史记录文件(文件由变量HISTORY决定,默认为用户家目录下的.bash_hiatory)
          -w /path/filename.txt                    // 将历史记录写入指定文件
          -r                   //读历史文件附加到历史列表
          -p                         //展开历史参数成多行,但不存在历史列表中
          -s                            //展开历史参数成一行,附加在历史列表后
          -n                             //读历史文件中未读过的行到历史列表
           n                                    //显示最近的n条历史

   六、通配符

        (1)文件通配符

           ls [A-Z]*              //表示范围
           [a-Z]                     //能表示出所有的大小写字母
           ls [[:lower:]]*            //只表示小写字母
           ls [[:upper:]]*                //只表示大写字母
           [:digit:]                //任意数字,相当于0-9        

           [:alpha:]               //任意大小写字母      

           ls [a-Z0-9]*              // 等同于 ls  [[:digit:][:alpha:]]*        

           [:alumn:】                   //任意数字或字母
           [:blank:]                     //水平空白字符
           [:space:]等同于  ls *[[:blank:]]*  等同于    ls *[[:space:]]*           //水平或垂直空白字符
        
           [:punct:]                  //标点符号
           ls *" "*   [:print:]               //可打印字符
           [:cntrl:]                              //控制(非打印)  

           [:graph:]                               //图形字符
           [:xdight:]                              //十六进制的字符
          [^wang]                                //^是一个托字符,表示被中括号括起来的,表示‘非'的意思。
           -a                          //显示所有文件(隐藏的与不隐藏的)
           -d /root/.*                   //只显示隐藏文件(只显示/root下的隐藏文件和目录)
           -d /etc/*/                         //显示非隐藏目录(只显示/etc下的非隐藏目录)
   注意:如果只写一个中括号,系统会以为所要表示的是,中括号内的范围,从而将包含u,p,e,r,的字母表示出来。

    (2) 文字通配符
      * 0或多个任意字符
     ? 任意一个单一字符
     ~ 表示加目录
     [0-9]                //表示数字范围
     [a-z]                      //表示所有字母
     [mage]                    // 表示包含m或a或g或e
     [^mage]                        //表示不包含m或a或g或e

 七、man章节

           man pasword                 //进入第一章节
           man 5 pasword               //进入第五章
           man -k pasword                     //模糊搜索,可以查出一共有几个章节
           man man                                  //同上,关于自己的帮助
           man  帮助
           查看man手册页
           man[章节]keyword
           man -f keyword.....相当于whatis
           搜索man手册
           man -a keyword                  //列出所有帮助
           man -k keyword                          //列出所有匹配的页面....相当于whatis
          man -w [章节] keyword                  //打印man帮助文件的路径
           man                                                   // 命令的操作方法:使用less命令实现
           space:^v,^f,^F                                  // 向文件尾翻屏
           b,^b                                                     //向文件首部翻屏
          d,^d                                                        //向文件尾部翻半屏
          u,^u                                                      //向文件首部翻半屏
          RETURN,^N,e,^E or j or ^J                    //向文件尾部翻一行
          q                                                                //退出
         #                                                                    //跳转至第#行
         lG                                                                     //回到文件首部      

         G                                                                         //翻至文件尾部

  八、总结

          通过这段时间在北京马哥教育的学习,在老师系统的讲解下,思路拓展,也有所进步,开学时,只期望对于运维这一行业,有所了解,并未打算深入学习,但是现在却想要了解的更多,学习的更多,前期知识点零碎,脑容量深感不够用,但是还好,课上讲过的东西,课下有录制的视频,可以及时的查漏补缺,可能是学运维要掌握的东西真的很多,计划长达4个月的系统学习,第一个星期就能感觉到节奏紧凑,同学们也都很用心,丝毫没有怠慢,我觉得这样挺好的,好像都能感受到,自己正在向传说中的大神一步一步靠近,了解到他们成为大神,靠的是什么,脑子里装的是什么,揭开他们神秘的面纱。时间在流动,我们在进步,虽然现在才迈出了第一步,但是以后的每一步都这样走,相信我们都会变得很优秀的,加油,加油,还是要相信,学习使我们快乐!

以上是关于linux环境下的运维--琐碎小知识点基础篇的主要内容,如果未能解决你的问题,请参考以下文章

总结六条对我们学习Linux系统有用的忠告

linux运维常用知识点总结

linux运维工程师必须掌握哪些技能

linux运维需要掌握什么知识?linux运维学习路线

云原生时代的运维新归宿 - 运维知识体系

如何零基础搭建自己的运维监控平台(Linux版)——WGCLOUD