linux:
    学习目的:为了熟练掌握linux下的操作。
linux诞生:
    1991 年4 月 林纳斯·托瓦兹,在学习minix系统的时候发现这个系统的不足,然后开始编写一个新的免费的操作系统,他在开发新操作系统前,花了两年时间研究了市面上的操作系统,他开发的linux系统集成了现有系统的优势,并且免费开源。
linux优势:
    Linux模块化的设计结构,使得它既能在价格昂贵的工作站上运行,也能够在廉价的PC机上实现全部的Unix特性,具有多任务、多用户的能力
    开源
    免费
linux劣势:
    命令众多
    软件生态不完善。

linux系统的获取:https://www.linuxidc.com/
    市面上比较好的linux系统有ubuntu,depin,centos

ubuntu 安装 :
    
    
ubuntu 下安装软件 :
    1,下载.deb文件 直接安装
    2,应用商店 直接安装
    3,命令安装
        npm
        yum
        apt-get
        都需要安装,并且需要配置源。
            sudo apt-get install 全名
            sudo apt-get update 更新索引

linux os 的组成:
    硬件设备
    kernel : 内核是一个操作系统的核心,是操作系统最基本的部分。它负责管理系统的进程、内存、设备驱动程序、文件和网络系统等,决定着系统的性能和稳定性。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间
         内核就是用来管理计算机的进程,调度,创建,执行,销毁,这一系列都是由内核来管理
        
    shell    : shell是一门语言,可以使用代码对内核进行操作。
          shell编程,对外提供命令。命令最终会转换为操作内核的指令0101
    file System
        :文件系统,计算机上所有的内容都以文件的形式进行存放,
        在文件系统中,要明确当前文件的位置在哪。
        文件系统中的文件,可以用[相对路径]和[绝对路径]表示或者查找。

        相对路径:
            

        绝对路径:
        
        ...练习路径问题...
        
linux 文件系统组成:
    /  :unix系统的根路径    
     
        根路径文件夹存放内容,下面属于一级目录.
        
        opt:第三方软件
    
        etc:系统配置
    
        dev:计算机设备文件(用一些计算机编程语言打开文件,就可以对外围设备进行操作)
    
        usr:操作系统中自带的对所有用户都用的软件
    
        kernel(boot):内核程序
    
        var:针对管理员使用的东西
    
        export(home):用户专有的东西
    


linux下基本命令:
     打开控制台
    1: crtl+alt+t
        打开控制台(可以开启多个)
        
       1.1:
         在有控制台的情况下,
         ctrl+shift+t同一个控制台打开多个选项卡
            
    2:  crtl+alt+f1...f7
        切换到本地控制台f1-6为黑屏控制台f7为图形界面控制台

      登录
    2:  telnet: 远程登录命令.  远程退出:exit
        
        whoami
    3:  passwd:修改普通用户的密码,修改普通用户密码的要求(下面3.1-3.4),对超级用户没有作用
        3.1:密码的长度6到8个字符
        3.2:密码至少包含2个字符和一个数字或者一个特殊字符
        3.3:密码不能和用户名相同
        3.4)新密码和旧密码至少有3个字符不同
        
        passwd 用户名     修改用户密码

    4:  sudo passwd root 第一次设置超级用户的密码
        应该经过步奏:
            4.1:输入当前用户的秘密
            4.2:输入修改秘密
            4.3:再次输入修改秘密
            4.4:超级用户的名字就是root密码就是刚才设置的密码
    5:  超级用户和普通用户的切换
        5.1: su root 超级用户密码 : 普通用户切换到超级用户
            在当前环境下不改变,用户变为root

            su - root
               把当前的路径切换到root路径下,用户也改变为root

        5.2: exit  : 超级用户切换到普通用户。    
        5.3:    普通用户的标识:$    

            超级用户的标识:#

    6:  more /etc/passwd:    查看用户信息
                           briup:x   :1000:1000:briup,,,:/home/briup :/bin/bash
        6.1:弹出信息详解:用户名:密码:uid :gid :备注    :用户的家目录:默认使用shell
    
    7:  sudo more /etc/shadow
      密码:超级用户密码
      
    注:使用最小权限原则:尽量使用普通用户完成操作
   sudo:使普通用户临时提升权限

    命令格式:Command [option(s)] [argument[s]]
    command:命令关键字
    options:可以有多个选项
    arguments:可以有多个参数
      注意:中间用空格隔开
        单行命令一般不超过256个字符
        大小写敏感
        不同的命令提示
    8:  clear : 清屏    mkdir新建文件夹  rm -rf 文件名删除文件夹

    9:  pwd      : 显示当前绝对路径
        10: cd 改变路径
 
        eg1:    cd /opt        跳到opt目录下。
            解释:cd空格 代表是改变路径,/opt 代表是/下的opt目录-->即:改变当前路径为/opt目录。 路径最左边/代表根目录

        eg2:    cd        回到家目录
 
            解释:输入cd  代表是改变路径,但是后面什么都没有跟--->即:改变当前路径为home(家)目录。

        eg3:    cd .   跳转到当前目录下(没什么意义)
            解释: . 当前路径 --->配置jdk的时候加的classpath 就可以是只配置一个 .
            
        eg4:    cd ..     ..跳转到上一层目录
   

            解释:  .. 代表上一级目录

        eg5:   cd ../..   跳转到上两级目录
            解释: ..上一级目录, ../..   目录和目录之间用/隔开
        
        练习: 当前目录是家目录,从家目录跳转到opt目录,使用相对路径完成:
        练习:  当前路径是src 要求从src路径改变到bin目录里
                test
              _______|_______
              |        |
             src        bin
            

        
     
    11: ls显示文件夹下文件
        11.1: ls    显示当前目录下文件和目录
 
        11.2: ls /    显示/目录下文件和目录
 
        11.3: ls /home/candice  显示家目录下文件和目录
 
        11.4: ls -a    显示隐藏文件
 
        11.5: ls -R /etc 循环(子目录中的信息显示出来)显示文件
 
        11.6: ls -l /etc 显示详细信息
            -  普通文件
            d  文件夹
            l  一个超链接
            b c 设备
            p  管道 进程间的通信  
            s 网络有关的文件
        文件类型 自己(文件的创作者) 同小组用户对该文件的权限 既不是创作文件的人也不少同小组的人[读写执行权限]    创建人  组 当前文件被其他地方的链接数
        

        11.7: ls -t /etc 按照文件的最后一次的修改时间进行排序