3.Linux系统组成和获取命令帮助

3.1运维基本功-Linux系统组成及初识
  Linux:内核
    Application
    GUN/Linux:通常以源代码(文本格式)方式提供:
    自由,灵活

  Linux基础:
    CPU架构:
      x86
      x64(amd64)
      M68000,M68K
      arm
      UltraSparc
      power
      PowerPC
      MIPS
      alpha hp-ux
      ...

  Linux,BSD,ZIX,...:Unix-like
    Unix类的系统:
    API
    ABI

  Stallman:GUN
    闭源:
    开源:提供源代码
      开源协定:
      GPL:General Public Lisense
      copyright,copyleft

      LGPL: Lesser GPL
      GPLv2,PGLv3

      FSF:Free
      BSD:
      Apache:
        ASF: Apache Software Foundation

      双线授权:
        Community:遵循开源协议
        Enterprise:

  程序管理:
    程序的组成部分:
      二进制程序:
      配置文件:
      库文件;
      帮助文件:

  程序包管理器:
    X:
    程序的组成文件打包成一个或有限几个文件
    安装:
    卸载:
    查询:

  Dedian:dpkg,apt-get
  Redhat: rpm,yum
  S.u.S.E:rpm,zypper
  ArchLinux:port
  Gentoo:
  LFS:Linux From Scratch

  安装Linux:
    虚拟机:Linux
    计算机:CPU,内存,IO

    虚拟化软件程序:
      vmware workstation
      virtualbox

  CentOS的镜像站点:
    http://mirrors.aliyun.com
    http://mirrors,163.com
    http://mirrors.sohu.com

3.2 运维基本功-Linux文件系统功能和作用讲解

  终端:terminal

  用户界面:
    GUI:
      GNome
      KDE
    CLI:
      bash,zsh,sh,csh,tcsh,ksh

      查看所用的shell的类型

        echo $SHELL

  远程连接:
    ssh协议:secure shell
    ~]# ss -tnl
      查看系统是否监听与TCP协议的22号端口
    ~]# ip addr list

  确保防火墙处于关闭状态

    iptables -L -n

    CentOS 7

       systemctl disable firewalld.service

       systemctl stop firewalld.service

    CentOS 6

      service iptables stop

      chkconfig iptables off

  终端设备:terminal

    多任务、多用户

    物理终端:控制台:console

    虚拟终端:6个

      crtl+alt+F[1-6]

    图形终端: 

      CentOS 6

        Ctrl+Alt+F7

      CentOS 7

        在哪个虚拟终端启动,即位于哪个虚拟终端:

    串形终端: tty5

    伪终端:psy

 

    Linux的哲学思想之一:一切皆文件:

      表现之一: 硬件设备也通过文件表示

        物理终端:/dev/console

        虚拟终端:/dev/tty#[1,6]

        串行终端:/dev/ttyS#

        伪终端:/dev/pst/#

 

    注意: 在启动设备之后,在其上关联一个用户接口程序,即可实现与用户交互:

      查看终端设备:

        tty

      查看接口程序

        echo $SHELL

      启动GUI:

        在某一虚拟终端接口运行命令: startx &

 

    CLI接口:

      命令行接口:

        [root@node1 ~]# COMMAND

          prompt:

            root:当前登录的用户

            node1:当前主机的主机名,非完整格式

            ~: 用户当前 所在在目录(current directory),也称为工作目录(working directory);相对路径

            #:命令提示符:

              #:管理员账号:为root;拥有最高权限,能执行所有操作

              $:普通用户:非root用户;不具有管理权限,不能执行系统管理操作

            注意:建议使用非管理员账号登录

            执行管理操作临时切换到管理员,操作完成即退回

 

   基础命令: tty ifconfig echo ping

    关机命令 poweroff reboot halt shutdown

 

  Stallman:

    自由含义:自由学习和修改:自由使用,自由分发,自由创建衍生版

  Linux的哲学思想:

    1、一切皆文件

      把几乎所有资源统统抽象为文件形式,包括硬件设备,甚至通信接口等

        open(), read(),write(),close(),delete(),create()

    2、由众多功能单一的程序组成: 一个程序只做一件事,并且做好

     组合小程序完成复杂任务

    3、尽量避免跟用户交互

      目标: 易于以编程的方式实现自动化任务

    4、使用文本文件保存配置信息

 

  文件是什么?众多文件如何有效组织起来?

    目录:路径映射

    文件:存储空间存储的一段流式数据,对数据可以做到按名存取

 

    文件系统:层级结构,有索引

      /:原初起点

      倒置树状结构

    文件的路径表示:

      绝对路径:从根开始表示出来的路径

      相对路径:从当前位置开始表示的路径

 

    文件名使用法则:

      严格区分字符大小写

      目录也是文件,在同一路径下,两个文件不能同名

      支持使用除/以外的任意字符

      最长不能超过255个字符

 

    用户的家目录: home

       用户起始目录

    basename:最右侧的文件或目录

    dirname:basename左侧的路径

3.3Linux获取命令使用帮助详解

  开源协定:

     GPL,LGPL,BSD,Apach

  BSD:

    1、如果二次发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协定

    2、如果二次发布的是二进制格式的库或程序,则需要在发布的文档或版权声明中包含原来代码中的BSD协定

    3、不可以用开源代码的作者或组织,以及原来的产品的名字作市场推广

 

  文件系统、文件、目录:    

    倒置树状结构

      目录:

      文件:

    文件名:严格区分字符大小写:路径分割符/:

  路径:

    绝对路径

    相对路径

  程序的组成部分:二进制程序文件、库文件、配置文件、帮助文件

   

  人机交互界面:

    GUI

    CLI

Linux基础知识

  命令的语法通用格式

    # COMMAND OPTIONS ARGUMENTS

      发起一命令,请求内核将某个二进制程序运行为一个进程

      程序<->进程

      静态<->动态(有生命周期)

    命令本省是一个可执行的程序文件:二进制格式的文件,有可能会调用共享库文件:

      多数系统程序文件都存放在:/bin/,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/bin

        普通命令:/bin/,/usr/bin,/usr/local/bin

         管理命令:/sbin,/usr/sbin,/usr/local/bin

      共享库:

        32bits的库:/lib,/usr/lib,/usr/local/lib

        64bits的库:/lib64,/usr/lib64,/usr/local/lib64

      注意:并非所有的命令都有一个的某目录与之对应的可执行程序文件

 

    命令分为两类:

      由shell程序的自带的命令,内置命令(bulltin)

      独立的可执行程序文件,文件名即命令名:外部命令

 

    shell程序是独特的程序,负责解析用户提供的命令

      环境变量:

        PATH:从哪些路径中查找用户键入的命令符串所对应的命令文件:

          echo $PATH: /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/sysrls/bin

          查找次序:自左而右

    查看命令类型: type COMMAND

  OPTIONS:

    指定命令的运行特性:

    选型有两种表现形式:

      短选项

      长选项

  ARGUMENTS: 

    命令的作用对象:命令对什么生效

    注意:不同的命令的参数:有些命令可同时带多个参数

    

  获取命令的使用帮助:    

    内部命令:

      help COMMAND

    外部命令:

      (1)命令自带简要格式的使用帮助

        # COMMAND --help

      (2)使用手册:manual

       位置:/usr/share/man

    SECTION:

    NAME              命令名称及功能简要说明

    SYNOPSIS        用法说明,包括可用的选项

    DESCRIPTION     命令功能的详细说明,可能包括每一个选项的意义

    OPTIONS             说明每一项的意义

    FILES                   此命令相关的配置文件       

    BUGS        

    EXAMPLES          使用示例

    SEE ALSO           另外参照   

    SYNOPSIS:

      []:可选内容

      <>:必须提供的内容

      a|b|c:多选一

      ...:同类内容可出现多个

    使用手册:压缩格式的文件,有章节之分

      whatis COMMAND

      man CHAPTER COMMAND

      

    man命令打开手册以后的操作方法      

     查看时需要翻屏:

            向后翻一屏:space(空格键)      向前翻一屏:b

      向后翻半屏:Ctrl + d                  向前翻半屏:Ctrl + u

            向后翻一行:Enter(回车键)       向前翻一行:k

       查看时需要查找:

          /关键词      向后查找    n:下一个

          ?关键词     向前查找    N:前一个

     推出:

      q:quit

  (3)info COMMAND

    获取命令的在线文档

  (4)很多应用程序会自带帮助文档:/usr/share/doc/APP-VERSION

    README:程序的相关日信息

    INSTALL: 安装帮助

    CHANGES:版本迭代时的改动信息

  (5)主流发行版官方文档

    http://www.redhat.com/doc

  (6)程序官方的文档

    官方站点上的"Document"

  (7)搜索引擎

    google  

      keyword filetype:pdf

      keyword site:domain.tld

3.4Linu常用基础命令实战应用

  Linux文件系统:

      1.文件名名称严格区分大小写

    2.文件可以使用除/以外任意字符

    3.文件名长度不可以超过255字符

    4.以.开头的文件未隐藏文件

      .:当前目录

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

  工作目录:working direectory

  家目录:home

 

  常用命令:

    pwd: printing working directory

      显示工作目录

    cd: change directory

      cd [/PATH/]

cd:切换回家目录
     注意:bash中,~表示家目录
cd ~:切换回自己的家目录
cd ~USERNAME:切换至指定用户的家目录
cd -:在上一次所在目录与当前目录之间来回切换
        相关的环境变量
            $PWD:当前工作目录
            $OLDPWD:上一次的工作目录

     ls: list,列出指定目录下的内容

             ls [OPTION]... [FILE]...

-a:显示所有文件,包括隐藏文件
-A:显示除.和..之外的所有文件
-l: --long,长格式列表,即显示文件的详细属性信息:
         -rwxrwxrwx 1 sysrls sysrls 368640 May 23  2018 Yw_Thrpay_Khqy.dmp
    -:文件类型:-,d,b,c,l,s,p
    rwxrwxrwx: 文件属主/属主/其他组的权限
    1:数字表示文件被硬链接的次数
    sysrls:文件属主
    sysrls:文件属组
    368640:数字表示文件的大小,单位是字节
    May 23  2018:文件最后一次被修改的时间
    
-h:--human-readable:对文件大小单位换算:换算会结果可能会非精确值    
-d:查看目录自身而非其内部的文件列表
-r:reverse,逆序显示
-R:recursive,递归显示

    cat: concatencate

      文件文本查看工具

           cat [OPTION]... [FILE]...

        -n: 给现实的文本行编号

        -E:显示行结束符

 

    tac: concatencate

           tac [OPTION]... [FILE]...

        -n: 给现实的文本行编号

        -E:显示行结束符

 

    file:查看文件内容类型

      file [FILE]...

 

    echo:回显

       echo [SHORT-OPTION]... [STRING]...

        -n:不进行转行

        -e:让转义符生效

          \n:换行  \t:制表符

        STRING可以使用引号,单引号和双引号均可用

          单引号:强引用,变量引用不执行替换

          双引号:弱引用,变量引用会执行替换

    关机或重启命令 

           shutdown [OPTION]...  TIME [MESSAGE]

        OPTIONS: 

          -h: halt

          -r: reboot

          -c:cancel

        TIME:

          now

          hh:mm

          +m

    日期相关的命令:

      Linux:系统启动时从硬件读取日期和时间信息:读取完成以后,就不再与硬件相关联

        系统时钟

        硬件时钟

      date

        显示日期时间:date [OPTION] ... [+FORMAT]

          Format:格式符

%H 小时(以00-23来表示)。 
%I 小时(以01-12来表示)。 
%K 小时(以0-23来表示)。 
%l 小时(以0-12来表示)。 
%M 分钟(以00-59来表示)。 
%P AM或PM。 
%r 时间(含时分秒,小时以12小时AM/PM来表示)。 
%s 总秒数。起算时间为1970-01-01 00:00:00 UTC。 
%S 秒(以本地的惯用法来表示)。 
%T 时间(含时分秒,小时以24小时制来表示)。 
%X 时间(以本地的惯用法来表示)。 
%Z 市区。 
%a 星期的缩写。 
%A 星期的完整名称。 
%b 月份英文名的缩写。 
%B 月份的完整英文名称。 
%c 日期与时间。只输入date指令也会显示同样的结果。 
%d 日期(以01-31来表示)。 
%D 日期(含年月日)。 
%j 该年中的第几天。 
%m 月份(以01-12来表示)。 
%U 该年中的周数。 
%w 该周的天数,0代表周日,1代表周一,异词类推。 
%x 日期(以本地的惯用法来表示)。 
%y 年份(以00-99来表示)。 
%Y 年份(以四位数来表示)。 
%n 在显示时,插入新的一行。 
%t 在显示时,插入tab。 
MM 月份(必要) 
DD 日期(必要) 
hh 小时(必要) 
mm 分钟(必要)
ss 秒(选择性) 

 

      设定日期时间:  date [MMDDhhmm[[CC]YY][.ss]]

    hwclock,clock: 硬件时钟

      显示或设定硬件时钟

        -s: --hctosys

        -w:--systohc

    cal [[month] year]

 

    

 

    

 

    

 

      

 

posted @ 2019-07-25 11:51  兜儿~  阅读(270)  评论(0编辑  收藏  举报