Linux

  1. Linux 的目录结构
    Linux的文件系统是采用层级式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录。
    在Linux世界里,一切皆文件
    1. /bin 
      - 这个目录存放着最经常使用的命令
    2. /sbin
      - 存放的是系统管理员使用的系统管理程序
    3. /home
      - 存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的
    4. /root
      - 该目录为系统管理员,也称作超级权限者的用户主目录
    5. /lib
      - 系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库
    6. /lost+found
      - 这个目录下一般情况是空的,当系统非法关机后,这里就存放了一些文件
    7. /etx
      - 所有的系统管理所需要的配置文件和子目录
    8. /usr
      - 用户的很多应用程序和文件都放在这个目录下
    9. /boot
      - 存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件
    10. /proc
      - 是一个虚拟的目录,是系统内存的映射,访问这个目录来获取系统信息
    11. /srv
      - 存放一些服务启动之后需要提取的数据
    12. /sys
    13. /tmp
      - 用来存放一些临时文件
    14. /dev
      - 类似于windows的设备管理器,把所有的硬件用文件的形式管理
    15. /media
      - linux系统会自动识别一些设备,例如光盘等,当识别后,linux会把识别的设备挂载到这个目录下
    16. /mnt
      - 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt上,然后进入该目录就可以查看到里面的内容了
    17. /opt
      - 这是给主机额外安装软件所摆放的目录,默认为空
    18. /usr/local
      - 这是另一个给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的程序
    19. /var
      - 这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件
    20. /selinux
      - 是一种安全子系统,它能控制程序只能访问特定文件
  2. vi和vim的基本介绍
    - 所有的Linux系统个都会内建vi文本编辑器
    - Vim具有程序编辑的能力,可以看做是vi的增强版本
    1. 常用的三种模式
      1. 正常模式
        - 以vim打开一个文档就直接进入一般模式了
      2. 插入模式
        - 按下i,I,o,O,a,A,r,R等人以一个字母之后才会进入编辑模式,一般来说i即可
      3. 命令行模式
        - 在这个模式当中,可以提供你相关指令,完成读取、存盘、替换、离开vim、显示行号等的动作则是在此模式中达成
    2.  快捷键的使用案例

      1. 拷贝当前行 【yy】,并粘贴 【p】

      2. 删除当前行【dd】,删除当前行向下的5行【5dd】

      3. 在文件中查找某个单词【:/关键词,回车查找,输入n就是查找下一个】

      4. 设置文件的行号【:set nu】,取消文件的行号【:set nonu】

      5. 使用快捷键到文档的最末行【G】和最首行【gg】

      6. 在一个文件中输入“hello”,然后又撤销这个动作【u】

      7. 将光标移动到20行【先输入20,然后shift+g】
        ---- 注意!以上的操作都是在正常模式执行

  3. 开机、重启和用户登陆注销
    shutdown
    shutdown -h now:立即关机
    shutdown -r now:重新启动计算机
    halt:关机
    reboot:重新启动
    syn:把内存的数据同步到磁盘
    - 当我们关机或者重启的时候,都应该先执行一下sync命令

  4. 用户管理

    1. 基本介绍
      - 每个用户至少要属于一个组
      - 用户家目录的概念:/home 目录下有各个创建的用户对应的家目录,当用户登陆的时候,会自动的进入到自己的家目录
      - Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统

    2. 添加用户

      1. 基本语法
        useradd [选项] 用户名

    3. 用户组

      1. 介绍
        - 类似于角色,系统可以对有共性的多个用户进行统一的管理

      2. 用户和组的相关文件

        1. /etc/passwd
          - 保存用户名
          - 用户的配置文件,记录用户的各种信息
          - 每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登陆shell

        2. /etc/shadow
          - 保存用户密码
          - 口令的配置文件
          - 每行的含义:登陆名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

        3. /etc/group
          - 组的配置文件,记录linux包含的组的信息
          - 每行含义:组号:口令:组标识号:组内用户列表

  5. 实用指令

    1. 指定运行级别

    2.  帮助指令
      - 当我们对某个指令不熟悉的时候可以使用Linux提供的帮助指令来了解这个指令的使用方法

      1. man 获得帮助信息
        - man [命令或配置文件](功能描述:获得帮助信息)

      2. help
        - help 命令(功能描述:获得shell内置命令的帮助信息)

    3. 文件目录类

      1. pwd指令
        - pwd (显示当前工作目录的绝对路径)

      2. ls指令
        - ls [选项] [目录或是文件]
        - a:显示当前目录所有的文件和目录,包括隐藏的
        - l:以列表的形式显示文件

      3. cd指令
        - cd [参数]
        常用的参数:
        cd ~:回到自己的家目录
        cd..:回到当前目录的上一级

      4. mkdir指令
        - mkdir [选项] 要创建的目录
        常用的参数:
        - p:创建多级目录

      5. rmdir(用来删除目录)
        - 不能删除非空的目录
        - rmdir [选项] 要删除的空目录

      6. touch
        - 创建空文件
        - touch 文件名称

      7. cp指令(拷贝文件到指定目录)
        - cp [选项] source dest
        常用选项:
        -r:递归复制整个文件夹

      8. rm指令(移除文件或者目录)
        - rm [选项] 要删除的文件或者目录
        常用选项:
        -r:递归删除整个文件夹
        -f:强制删除不提示

      9. mv指令(移动文件与目录或重命名)
        基本语法:
        - mv oldNameFile newNameFile (功能描述:重命名)
        - mv /temp/movefile /targetFolder (功能描述:移动文件)

      10. cat指令(查看文件内容)
        cat查看是以只读的方式,与vim不同
        - cat [选项] 要查看的文件
        常用的选项:
        -n:显示行号

      11. more指令
        - more指令是一个基于vi编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键
        - more 要查看的文件

      12. less指令
        - less指令用来分屏查看文件内容,它的功能与more指令相似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容的时候,并不是一次奖整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率

      13. >指令和>>指令
        >输出重定向和>>追加
        输出重定向:会将原来的文件的内容覆盖
        追加:不会将原来的文件内容覆盖,会将新的内容添加到文件末尾
        基本语法:

        1. ls -l >文件  (功能描述:列表的内容写入文件中(覆盖写))

        2. ls -al >>文件  (功能描述:列表的内容追加到文件的末尾)

        3. cat 文件1>文件2  (功能描述:将文件1的内容覆盖到文件2)

        4. echo "内容">>文件

      14. echo指令(输出内容到控制台)
        基本语法:
        echo [选项] [输出内容]

      15. head指令(用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容)
        基本语法:
        head 文件  (功能描述:查看文件头10行内容)
        head -n 5 文件  (功能描述:查看文件头5行内容)

      16. tail指令(用于输出文件中尾部的内容,默认情况下tail指令显示文件的后10行内容)
        基本语法:

        1. tail 文件 (查看文件后10行内容)

        2. tail -n 5 文件(查看文件后5行内容)

        3. tail -f 文件 (实时追踪该文档的所有更新)

      17. ln指令
        软链接也叫符号链接,类似于windows里面的快捷键,主要存放了链接其他文件的路径
        基本语法:
        ln -s [原文件或目录] [软链接名] (给源文件创建了一个软链接)
        - 当我们使用pwd指令查看目录时,仍然看到的是软链接所在目录

      18. history命令(查看已经执行过的历史命令,也可以指令行历史指令)
        - !+数字 (执行第几条命令)

    4. 时间日期类

      1. date指令
        基本语法:

        1. date (显示当前时间)

        2. date +%Y (显示当前年份)

        3. date +%m   (显示当前月份)

        4. date +%d (显示当前是哪一天)

        5. date "+%Y-%m-%d %H:%M:%S" (显示年月日分秒)

      2. date指令-设置日期
        基本语法:
        date -s 字符串时间

      3. cal指令
        查看日历

    5. 搜索查询类指令

      1. find指令
        - 将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端
        基本语法:
        find [搜索范围] [选项]
        选项说明:
        -name<查询方式> 功能:按照指定的文件名查找模式查找文件 
        -user<用户名>  功能:查找属于指定用户名的所有文件
        -size<文件大小> 功能:按照指定的文件大小查找文件

      2. locate指令
        - 可以快速定位文件路径,locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。locate指令无需遍历整个文件系统,查询速度极快。为了保证查询结果的准确度,管理员必须定期更新locate时刻
        基本语法:
        locate 搜索文件
        特别说明:由于locate指令集于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库

      3. grep指令和管道符号|
        - grep过滤查询,管道符号|表示将前一个命令的处理结果输出传递给后面的命令处理
        基本语法:
        grep [选项] 查找内容 源文件
        常用选项:
        -n 显示匹配行及行号
        -i 忽略字母大小写 

    6. 压缩和解压类指令

      1. gzip/gunzip指令
        - gzip用于压缩指令,gunzip用于解压的
        基本语法:
        gzip 文件 
        gunzip 文件.gz 
        细节说明:当我们使用gzip对文件进行压缩后,不会保留原来的文件。同样的是解压之后,不会保留原来的压缩包

      2. zip/unzip
        - zip用于压缩文件,unzip用于解压的
        基本语法:
        zip [选项]XXX.zip 将要压缩的内容
        常用选项:-r:递归压缩,即压缩目录
        unzip [选项]XXX.zip
        常用选项:-d<目录>:指定解压后文件的存放目录
        细节说明:当我们使用zip指令对文件进行压缩后,原来的文件会保留。同样,解压的时候,原来的文件也会保留

      3. tar指令
        tar指令是打包指令,最后打包后的文件是.tar.gz的文件
        基本语法
        tar 【选项】 XXX.tar.gz 打包的内容 (打包目录,压缩后的文件格式.tar.gz)
        选项说明:
        -c:产生.tar打包文件
        -v:显示详细信息
        -f:指定压缩后的文件名
        -z:打包同时压缩
        -x:接包.tar文件

  6. 组管理和权限管理

    1. 组的基本介绍
      - 在Linux中的每个用户必须属于一个组,不能独立于组外,在linux中每个文件有所有者、所在组、其他组的概念
      - 添加组语法: sudo addgroup 组名

      1. 所有者
        - 一般为文件的创建者
        - 查看文件的所有者指令:ls -ahl
        - 修改文件所有者指令:chown 用户名 文件名

      2. 所在组
        - 当某个用户创建了一个文件后,默认这个文件的所在组就是该用户所在的组
        - 查看文件/目录所在组指令:ls -ahl
        - 修改文件所在的组:chgrp 组名 文件名

      3. 改变用户所在组
        - 在添加用户时,可以指定将该用户添加到哪个组去,同样的用root的管理权限可以改变某个用户所在的组

        1. 改变用户所在组
          - usermod -g 组名 用户名
          - usermod -d 目录名 用户名 (改变该用户登录的初始目录)

    2. 权限的基本介绍
      -rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
      0-9位说明:

      1. 第0位确定文件类型(d,-,I,c,b)
        -:普通文件
        d:目录
        l:软链接
        c:字符设备

      2. 第1-3位确定所有者(该文件的所有者)拥有该文件的权限。 ---user

      3. 第4-6位确定所属组(同用户组的)拥有该文件的权限。 ---Group

      4. 第7-9位确定其他用户拥有该文件的权限。 ----other

    3. rwx权限详解

      1. 作用到文件

        1. r代表可读

        2. w代表可写:可以修改,但是不代表可以删除该文件,删除该文件的前提条件是对该文件所在的目录有写权限,才能删除该文件

        3. x代表可执行:可以被执行

      2. 作用到目录

        1. r代表可读:可以读取,ls查看目录内容

        2. w代表可写:可以修改,目录内创建+删除+重命名目录

        3. x代表可执行:可以进入该目录

    4. 修改权限 - chmod
      - 可以修改文件或者目录权限

      1. +、-、=变更权限
        u:所有者    g:所有组     o:其他人     a:所有人(u、g、o的总和)

        1. chmod u=rwx,g=rx,o=x  文件目录名

        2. chmod o+w 文件目录名

        3. chmod a-x  文件目录名

      2. 通过数字变更权限
        r=4 w=2 x=1  rwx=4+2+1=7
        chmod u=rwx,g=rx,o=x 文件目录名
        相当于chmod 751 文件名

    5. 修改文件所有者 - chown
      基本介绍
      chown neowner file 改变文件的所有者
      chown newowner:newsgroup file 改变用户的所有者和所有组
      -R:如果是目录,则使其下所有自文件或目录递归生效

    6. 修改文件所在组 - chgrp
      chgrp newgroup file 改变文件的所有组

  7. 定时任务调度

    1. crontab 任务调度
      任务调度:是指系统在某个时间指定的特定的命令或程序
      分类:1.系统工作:有写重要的工作必须周而复始地执行. 2.个别用户工作:个别用户可能希望执行某些程序
      基本语法:crontab 【选项】
      常用选项:
      -e:编辑crontab定时任务
      -l:查询crontab任务
      -r:删除当前用户所有的crontab任务

  8. linux磁盘分区、挂载

    1. 分区基础知识

      1. 分区的方式

        1. mbr分区:最多支持4个主分区;系统智能安装在主分区;扩展分区要占一个主分区;MBR最大只支持2TB,但拥有最好的兼容性

        2. gtp分区:支持无限多个分区;最大支持18EB的大容量;windows7 64位以后支持gtp

      2. Linux分区原理介绍

        1. Linux来说无论有几个分区,分给哪一个目录使用,它归根结底就只有一个跟目录,一个独立且唯一的文件结构,linux中每个分区都是用来组成整个文件系统的一部分

        2. linux采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来,这时要载入的一个分区将使它的存储空间在一个目录下获得

      3. linux硬盘说明

        1. Linux硬盘分IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘

    2. 磁盘情况查询

      1. 查询系统整体磁盘使用情况
        基本语法:df -h

      2. 查询指定目录的磁盘占用情况
        基本语法:du -h /目录
        查询指定目录的磁盘占用情况,默认为当前目录
        -s:指定目录占用大小汇总
        -h:带计量单位
        -a:含文件
        --max-depth=1:子目录深度
        -c:列出明细的同事,增加汇总值 

  9. 网络配置
    目前我们的网络配置采用的是NAT的模式

  10. 进程管理

    1. 进程的基本介绍

      1. 在linux中,每个执行的程序(代码)都称为一个进程,每一个进程都分配一个id号

      2. 每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程

      3. 每个进程都可鞥以两种方式存在。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式进行

      4. 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中,直到关机才结束

    2. 显示系统执行的进程
      - ps指令是用来查看目前系统中,有哪些正在执行,以及他们的执行出状况,可以不加任何参数

      字段说明
      PID进程识别号
      TTY终端机号
      TIME此进程所消耗CPU时间
      CMD正在执行的命令或进程名

      选项:
      - a:显示当前终端的所有信息
      - u:以用户的格式显示进程信息
      - x:显示后台进程运行的参数

    3. 终止进程kill和killall
      - 若是某个进程执行一半需要停止时,或是已经消耗了很大的系统资源时,此时可以考虑停止该进程。使用kill命令来完成此项任务

      1. 基本语法
        kill 【选项】 进程号
        killall 进程名称(通过进程名称来终止进程)

      2. 常用选项
        -9:表示强迫进程立即停止

    4. 查看进程树pstree

      1. 语法:pstree 【选项】,可以更加直观的来看进程信息

      2. 常用选项:
        -p:显示进程的PID
        -u:显示进程的所属用户

  11. 服务管理
    服务本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其他程序的请求,比如(mysql,sshd等),因此我们又称为守护进程

    1. service管理指令:
      service 服务名 start | stop | restart | reload | status systemct|

    2. 细节说明

      1. 关闭或者启用防火墙后,立即生效

      2. 这种方法只是临时生效,当重启系统后,还是回归以前对服务的设置

      3. 如果希望设置某个服务自启动或关闭永久生效,要使用chkconfig指令

    3. 查看服务名(两种方式)

      1. 使用setup -> 系统服务

      2. /etc/init.d/服务名称

    4. 动态监控进程
      ​​​​​​​- top与ps命令很相似,它们都用来显示正在执行的进程,不同之处在于top在执行一段时间可以更新正在运行的进程

      1. 基本语法:top【选项】

      2. 选项说明
        -d 秒数:指定top命令每隔几秒更新,默认是3秒在top命令的交互模式当中可以执行的命令
        -i:使top不显示任何限制或者僵死进程
        -p:通过指定监控进程ID来仅仅监控某个进程的状态

    5. 监控网络状态

      1. 基本语法:netstat【选项】

      2. 选项说明:
        -an:按一定顺序排列输出
        -p:显示哪个进程在调用

  12. Shell

    1. shell脚本的执行方式

      1. 脚本格式要求

        1. 脚本以#!/bin/bash开头

        2. 脚本需要有可执行权限

      2. 执行方式

        1. 输入脚本的绝对路径或相对路径

        2. sh+脚本(不用赋予执行权限)

    2. Shell变量

      1. 介绍

        1. Shell中的变量分为系统变量和用户自定义变量

        2. 系统变量:$HOME $PWD $SHELL $USER等

        3. 显示shell中的所有变量:set

      2. 定义

        1. 定义变量:变量=值

        2. 撤销变量:unset变量

        3. 声明静态变量:readonly变量,注意:不能unset

        4. 定义的规则

          1. 变量名称可以由字母、数字和下划线组成,但是不能以数字开头

          2. 等号两侧不能有空格

          3. 变量名称一般习惯为大写

        5. 将命令的返回值赋给变量

          1. A='ls -la' 反引号,运行里面的命令,并把结果返回给变量A

          2. A=$(ls -la) 等价于反引号

      3. 设置环境变量

        1. 基本语法

          1. export 变量名=变量值 (将shell变量输出为环境变量)

          2. source 配置文件 (让修改后的配置信息立即生效)

          3. echo $变量名 (查询环境变量的值)

      4. 位置参数变量

        1. 介绍
          当我们执行一个shell脚本时,如果希望获取命令行的参数信息,就可以使用到位置参数变量
          比如: ./mysell.sh 100 200;这个就是一个执行shell的命令行,可以在myshell脚本中获取到参数信息

        2. 基本语法

          1. $n (n为数字,0代表命令本身,1-9代表第一到第九个参数,10以上的参数需要用大括号包含,如${10})

          2. $* (这个变量代表命令行中所有的参数,把所有的参数看成一个整体)

          3. $@ (也代表所有的参数,但是将每个参数区分对待)

          4. $# (代表命令行中所有参数的个数)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值