Linux基础知识

Linux发行版本:

  Debain,Slack ware,RedHat
  Debian:
  Ubuntu
  Knopix
  Slack Ware:
  S.u.S.E
  OpenSUSE
  RedHat:
  Fedora
  CentOS

Linux:内核
  Application

GNU/Linux:通常以源码(文本格式)方式提供;
  自由、灵活;

  Gentoo
  ArchLinux

Linux基础:

  CPU架构:
    x86
    x64(amd64)
    m68000,m68k
    arm
    ultrasparc solaris
    power aix
    powerpc,ppc
    MIPS
    alpha hp-unix
    ...

  POS:POSIX

  API:Application Program Interface

  ABI:Application Binary Interface

  Linux,BSD,AIX.....:Unix-like

  Unix类的系统:
    API
    ABI

  Stallman: GNU

  闭源:

  开源: 提供源代码;

 

    开源协定:

      GPL: General Public License 

        copyringht, copyleft

        LGPL: Lesser GPL
        GPLv2, GPLv3

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

    双线授权:

      Community: 遵循开源协定;
      Enterprise:

  程序管理:

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

  X,Y,Z

  程序包管理器:
    X:
      程序的组成文件打包成一个或有限几个文件;
      安装:
      卸载:
      查询:
  Debian: dpkg, apt-get
  RedHat: rpm, yum,dnf
  S.u.S.E: rpm,zypper
  ArchLinux: port
  Gentoo:
  LFS: Linux From Scretch

  虚拟化软件程序:
    vmware workstation
    virtualbox

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

终端:terminal

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

    远程连接:
      ssh协议:secure shell;
      # ss -tnl
        查看系统是否监听于tcp协议的22号端口;
      # ip addr list
      or
      # ifconfig 查看IP地址;

      确保防火墙处于关闭状态:
        # iptables -L -n

      CentOS 7:
        # systemctl disable firewalld.service
        # systemctl stop firewalld.service

      CentOS 6:
        # system iptables stop
        # chkconfig iptables off

    终端设备:terminal
      多任务、多用户

    物理终端:控制台:console
    虚拟终端:6个,tty
      Ctrl+Alt+F[1-6]
    图形终端:

      CentOS 6:  Ctrl+Alt+F7

      CentOS 7:  在哪个虚拟终端启动,即位于哪个虚拟终端;
    串行终端:ttyS
    伪终端:pty

Linux的哲学思想之一:一切皆文件;
   表现之一:硬件设备也通过文件表示;
   物理终端:/dev/console
   虚拟终端:/dev/tty# [1-6]
   串行终端:/dev/ttyS#
   伪终端:/dev/pts/#

注意:在启动设备之后,在其上关联一个用户接口程序,即可实现于用户交互;
  查看终端设备:
   # tty
  查看接口程序:
   # echo $SHELL
  启动GUI:
    在某一虚拟终端接口运行命令:startx &


CLI接口:
  命令行接口:
  [root@hostname ~]# COMMAND
    prompt(提示符):
      root:当前登录的用户
      hostname:当前主机的主机名,非完整格式;完整格式应为:hostname.domain.com
      ~:用户当前所在的目录(current directory),也成为工作目录(working directory);相对路径;
      #:命令提示符:
      #:管理员账号,为root;拥有最高权限,能执行所有操作;
      $:普通用户,非root用户;不具有管理权限,不能执行系统管理类操作;

注意:建议使用非管理员账户登录;执行管理操作临时切换至管理员,操作完成及退回;

几个基础命令:
  tty:查看当前的终端设备;
  ifconfig或ip addr list:查看活动接口的IP地址;
  echo:回显命令
  ping:探测网络的目标主机与当前主机之间的连通性;
  Ctrl+c:终止命令执行;

  关机命令:
    CentOS 7:
      # systemctl poweroff
      # systemctl reboot(重启)
    CentOS *:
      # poweroff
      # halt
      # reboot(重启)

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

  Linux的哲学思想:
    1.一切皆文件;
      把几乎所有资源系统统抽象为文件形式;包括硬件设备,甚至通信接口等;
    2.有众多功能单一的程序组成;一个程序只做一件事,并且做好;
    3.尽量避免跟用户交互;
      目标:易于以编程的方式实现自动化任务;
    4.使用文本文件保存配置信息;

  文件系统:层级结构;有索引;
    /:原初起点;
      倒置树状结构;

    /dev/pts/2:
      最左侧/: 表示根目录
      其他的/: 表示路径分隔符
        Linux的路径分隔符是/
        Windows的是\

  文件的路径表示:
   绝对路径:从根开始表示出的路径
   相对路径:从当前位置开始表示出的路径

  文件名使用法则:
   严格区分字符大小写:file1,File1,FILE1
   目录是文件,在同一路径下,两个文件不能同名;
   支持使用除/以外的任意字符;
   最长不能超过255个字符;

  用户家目录:home,
   用户的起始目录:普通用户管理文件或目录名;
  工作目录:

    /etc/sysconfig/network-scripts/ifcfg-***
    basename:最右侧的文件或目录名;
    dirname:basename左侧的路径;

    命令: 
      # basename /PATH/TO/SOMEFILE
        SOMEFILE
      # dirname /PATH/TO/SOMEFILE
        /PATH/TO

命令的语法通用格式

  # COMMAND  OPTIONS  ARGUMENTS

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

      程序 --> 进程

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

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

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

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

      管理命令:/sbin,/use/sbin/use/local/sbin

    共享库:/lib,/lib64/,/usr/lib,/usr/lib64,/usr/local/lib,/usr/local/lib64
      32bits的库:/lib,/usr/lib,/usr/local/lib

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

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


  命令必须遵循特定格式规范:exe,msi,ELF(Linux)  

      # file /bin/ls

  命令分为两类:

    由shell程序自带的命令:内置命令(builtin)

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

 

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

  环境变量:

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

    #  echo $PATH

      /usr/lib64/qt-3.3/bin;/usr/local/sbin;/usr/local/bin,/usr/bin,/usr/sbin,/root/bin

        查找次序:自左而右;

  查看命令类型

    type COMMAND


OPTIONS:
  指定命令的运行特性;

  选项有两种表现形式;

  短选项: —c, 例如-l,-d

  注意:有些命令的选项没有-;

  如果同一命令同时使用多个短选项,多数可合并:-l -d = -ld

  长选项: --word ,例如--help,--human-readable

  注意:长选项不能合并

  注意:有些选项可以带参数,此称为选项参数;

ARGUMENTS:

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

  注意:不同的命令的参数;有些命令可同时带多个参数,多个之间以空白字符分隔;


  例如: ls -ld /var /etc

获取命令的使用帮助:  

  内部命令:

    help COMMAND

  外部命令:

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

    #  COMMAND --help

  (2)使用手册:manual

    位置:/usr/share/man

      # man COMMAND

        SECTION:
          NAME:功能性说明
          SYNOPSIS:语法格式
          DESCRIPTION:描述
          OPTIONS:选项
          EXAMPLES:使用示例
          AUTHOR:作者
          BUGS:报告程序BUG的方式
          SEE ALSO:参考
           ...

        SYNOPSIS:
          []:可选内容
          <>:必须提供的内容
          a|b|c:多选一
          ....:同类内容可出现多个

        使用手册:压缩格式的文件,有章节之分;
          /usr/share/man
            man1,man2,...

              1.用户命令;
              2.系统调用;
              3.C库调用;
              4.设备文件及特殊文件;
              5.文件格式;(配置文件格式)
              6.游戏使用帮助;
              7.杂项;
              8.管理工具及守护进程;


    # man CHAPTER COMMAND

      注意:不是每个COMMAND在每个章节下都有手册;

        查看:# whatis COMMAND

        注意:其执行过程是查询数据库进行的;
           手动更新数据库:  # makewhatis

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

      翻屏:
        空格键:向文件尾翻一屏;
        b:向文件首翻一屏;
        Ctrl+d:向文件尾部翻半屏;
        Ctrl+u:向文件首部翻半屏;
        回车键:向文件尾部翻一行
        k:向文件首部翻一行
        G:跳转至最后一行;
        *G:跳转至指定行;
        1G:跳转至文件首部;

      文本搜索:
        /keyword:从文件首部向文件尾部依次查找;不区分字符大小写;
        ?keyword:从文件尾部向首部依次查找;
        n:与查找命令方向相同;
        N:与查找命令方向相反;

      退出:
        q quit

      选项:
        —M /PATH/T O/SOMEFIR:到指定目录下查找命令手册并打开之;

      练习:获取useradd命令的用法
        (1) 添加用户 gentoo;
          # useradd gentoo
          # id gentoo
        (2) 添加用户slackware,要求指定其所用的shell为/bin/tcsh;
          # useradd -s /bin/tcsh slackware
          #tail -l /etc/passwd

        (3) info COMMAND
          获取命令的在线文档;

        (4) 很多应用程序会自带帮助文档:/usr/share/doc/APP-VERSION
          README:程序的相关信息;
          INSTALL:安装帮助;
          CHANGES:版本迭代时的改动信息;

        (5) 主流发行版官方文件
          http://www.redhat.com/doc

        (6) 程序官方的文档:
          官方站点上的"Document"

Linux文件系统:
  1.文件名名称严格区分字符大小写;
  2.文件可以使用除/以外任意字符;
  3.文件名长度不能超过255个字符;
  4.以.开头的文件为隐藏文件;
  .为当前目录
  ..为当前目录的上一次目录
  /etc/sysconfig/
  .: sysconfig
  ..: /etc

工作目录:working directory

家目录:home

转载于:https://www.cnblogs.com/jiaosir/p/11451570.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值