Linux基础

day2:
1>安装ubuntu
2>网络配置
1>需要注意格式
过程:
1>将自己ubuntu的网络模式切换成桥接?
NAT?

            2>打开ubuntu网络配置文件 
                sudo vim /etc/netplan/*.yaml                           */
               
            3>根据以下模板填写进自己的文件 

network:
version: 2
ethernets:
ens33:
dhcp4: no
dhcp6: no
addresses: [192.168.90.6/24]
gateway4: 192.168.90.1
nameservers:
addresses: [202.96.128.86]

            注意:该文件编写需要注意缩进,这个网络层次是分层的
                 在缩进格式上,空格 和 tab 进行二选一
                 
             4>wq保存退出后执行网卡重启命令 
                sudo netplan apply 
        拓展知识: 
              在安装操作之前养成习惯: 
                更新一下你的软件商店: 
                sudo apt-get update
             安装网络工具: 
                sudo apt-get install net-tools
                
             调用网络工具: 
                ifconfig
                
    
3>vim的安装与配置 
    1>安装: 
        sudo apt-get update
        sudo apt-get install vim 
        
    2>vim有多少种模式
        插入、命令、底行 
        
        
    3>vim的配置: 
        配置成我们系统用法
            1>打开配置文件 
                sudo vim /etc/vim/vimrc
                
            2>在末尾添加以下内容: 
                set number
                set cindent 
                set mouse=a 
                set st=4
                set sw=4
                set sts=4   
                
            3>保存退出 
                source /etc/vim/vimrc 
        ubuntu分了两个版本: 
            1>桌面版    --->有界面有图形:18.04-desktop-amd64
            2>服务器版  --->只有字符界面:18.04-bit-amd64
            
        要做的操作:
            利用一些软件,将ubuntu切换成服务器版本 
            1>ssh协议 --->外部连接协议
            2>putty   --->工具 
            
        1>安装ssh协议 
            sudo apt-get update 
            sudo apt-get install ssh 
            
        2>开启ssh协议 
            sudo /etc/init.d/ssh start   //开启 
            [ ok ] Starting ssh (via systemctl): ssh.service.
           
           sudo /etc/init.d/ssh restart
            [ ok ] Restarting ssh (via systemctl): ssh.service.
        3>调用putty接入终端
            通过IP和用户名和密码接入ubuntu 
            
            putty和我们第三天的跑板子有关
        apt: 1>需要通过网络安装 
             2>自行获取资源安装
             3>会提用户考虑依赖关系
        、详解: 
            安装逻辑: 
                apt:软件仓库:内部存储了很多软件的URL
        
                源:软件获取的途径 
                
                在我们ubuntu18.04当中:源在/etc/apt下
                sources.list    ---》源文件
                
                1>在更换源之前,需要先备份: 
                    sudo cp sources.list sources.list.bak
                    
                2>更换源 
                    打开源文件:sudo vim sources.lst 
                    
                    
                    清空里面的内容 
                    
                    把在网络上复制的源,粘贴到里面 并 保存退出 
                    
                3>使源生效 
                    sudo apt-get update
                    
            apt命令: 
                install  --->安装 
                update   --->更新 
                remove   --->卸载

                
                    
        什么是依赖关系?
            软件包运行时,需要有另外一个软件包进行依赖
            该被依赖的软件包被称为依赖项 

=====================================================================
2>shell命令详解/通配符/标准文件重定向/挂载:
1> 什么叫shell命令?
ls cd cp touch mkdir mv vi vim… —>shell

       2> 什么是shell?  ---“贝壳”
            Linux中的Shell就是Linux内核的一
            个外层保护工具,并负责完成用户与内核之间的
            交互
        
       3> shell命令的格式: 
            [命令] [选项] [参数]
                    --->三个成员各用空格隔开
            例如:
            ls    --->命令 
            ls -l --->命令 + 选项 
            ls -l 1.c --->命令 + 选项 + 参数
        
            PS:命令是必须的  选项和参数是可选的
                命令行第一个读取的,必定是命令,所以命令是必须的
                
       4> 命令行详解: 
            farsight@ubuntu:~$
            farsight:用户名 
            @       : 分隔符--->隔开两个信息
            ubuntu  : 主机名
            :       : 分隔符--->隔开主机名和所在路径
            ~       :代表当前所在位置 
            $       : 权限符
            $--->普通用户的权限 
            #--->超级用户的权限
            su -->super user 
            sudo ->super user do 
            
        5>通配符    
            什么是通配符
                是一种用于匹配文件名字的符号 
                   *.yaml 
                   *:通配符
   通配符          含义              实例   -->第一阶段必考 
   星号(*)       匹配任意长度的字符串
        用file_*.txt,匹配file_wang.txt、file_Lee.txt、
         file3_Liu.txt
         
   问号(?) 匹配一个长度的字符 
        用flie_?.txt,匹配file_1.txt、file1_2.txt、file_3.txt
   
   方括号([…]) 匹配其中指定的一个字符
        用file_[otr].txt,匹配file_o.txt、file_r.txt和file_t.txt
    
   方括号([ - ]) 匹配指定的一个字符范围  a-z 1-9
        用file_[a-z].txt,匹配file_a.txt、file_b.txt,直到
        file_z.txt

   方括号([^…]) 除了其中指定的字符,均可匹配
        用file_[^otr].txt,除了file_o.txt、file_r.txt和file_t.txt的
        其他文件
        
    标准文件和标准文件重定向 
        什么是标准文件: 
            是一种开机自启、负责ubuntu系统正常运作的三种文件
                1>标准输入  ---  键盘
                2>标准输出  ---  屏幕
                3>标准错误输出-  屏幕 
        
        --->ubuntu开机的时候一起开启
                     ---->流/文件描述符
        
        标准文件重定向   ---->了解
            改变输入和输出的方向 
                输入--->文件,命令行
                输出--->屏幕 
                错误输出->屏幕 
                        正常方向 
                        
            重定向: 把正常方向修改  
                >    输出重定向,将输出的结果定向别的地方  ->清空模式
                >>   输出重定向,将输出的结果定向别的地方  ->追加模式
                <    输入重定向,wc -c < 1.c,将1.c的文本内容输入给wc -c统计
                2>   标准错误输出重定向
                
                
        6>挂载操作
           
               就是将外来的文件系统,载入进ubuntu系统中,该操作用于
               抹除文件系统差异,该操作:挂载 
               外来文件系统叫挂载项
               挂载操作: 
                    1>挂载的地方必须事先存在 
                    2>用于共享文件系统
                    3>挂载点内原本拥有的文件,将会被隐藏
               ubuntu:EXT4 
               windows:NTFS
                    --->windows的目录或者文件,就需要通过挂载操作才可以
                        在ubuntu中使用   --->U盘
                  
                把一个U盘,挂载进ubuntu中
                farsight@ubuntu:~$ cat /proc/partitions   --->检查设备 
                major minor  #blocks  name

                   7        0       2136 loop0
                   7        1     224256 loop1
                   7        2      93888 loop2
                   7        3          4 loop3
                   7        4     477736 loop4
                   7        5        508 loop5
                   7        6     358088 loop6
                   7        7      66660 loop7
                   8        0  104857600 sda
                   8        1  104855552 sda1
                   
                   sd*X: 
                        sda:第一磁盘 
                        
                        
                        sda1:第一磁盘的第一分区
                        
                   sdb3:
                        sdb:第二磁盘 
                        sdb3:第二磁盘的第三分区
                        
                    /dev?  --->设备目录
                    
           接下来:开始操作: 准备工作:绿色环保U盘
                挂载命令:mount 
                
                1>将U盘插入主机后,弹出页面选择连接至虚拟机
                 PS:千万不要记住选择,谁记住选择,老郭第二天吊死在他座子上
                 
                2>再次查看设备cat /proc/partitions
                    8       16   30720000 sdb
                    8       17   30719984 sdb1
                                ---->多出来的磁盘
                                
                3>我们建立好挂载点 
                    /mnt/myusb 
                    
                    
                4>开始操作 
                    sudo mount /dev/sdb1 /mnt/myusb
                       
                       
                >>>>>>
                5>卸载操作
                    umount 
                    sudo umount /mnt/myusb
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
复习一下:
    3>ubuntu的常用命令
        ls 
        cd 
        cp 
        rm --->删除操作  -->大师上预科C最后一天 表演一下什么叫删库跑路
                            姓唐   --->   姓郭
            rm 删掉的东西完完全没办法恢复的
        touch 
        mkdir 
        chmod 
        man
        mv
        
    4>用户管理和进程管理
        用户管理
            什么是用户管理?
                源于我们系统中多用户机制:一个系统可以容纳多个用户
                多个用户存在的目的是什么:是为了利用权限区分对文件的操作
                用来一机多用的同时,尽可能的保护各个用户的文件安全
                
        ubuntu身为一种多用户多进程的系统,自然也支持多个用户操作同一机子
        
        1>修改密码:-----------****别乱用
            passwd 用户名 
            
            :密码太简单不行,密码比上一次相似不行
            
        2>添加用户:adduser 
            用法:adduser 用户名
        
            新添加用户:无法执行sudo命令 -->没有sudo权限
            为什么farisight 
            --->farsight --->由系统创建
            --->tonly    --->由用户创建
            
        PS:操作:get新用户添加sudo权限 
            在ubuntu中,管理用户的组件一共有三个
                /etc/sudoers    --->权限  
                /etc/passwd     --->密码 
                /etc/shadow     --->信息
                
            操作: ----》需要格外注意,如果要玩这个操作,记得快照,不快照
                1>sudo vim /etc/sudoers
        
        
                2>打开文件发现第20行: 
                20 root    ALL=(ALL:ALL) ALL    //超级用户的权限位置
                
                3>复制第20行,粘贴在第21行
                   用户名    ALL=(ALL:ALL) ALL 
                   
        3>把tonly做掉  --->删除用户:userdel 



        farsight@ubuntu:~$ sudo userdel tonly
        userdel: user tonly is currently used by process 5514
                    --->当前tonly用户正在被进程5514使用
        farsight@ubuntu:~$ sudo kill -9 5514   
                            -->把进程5514做掉
                            
        惨绝人寰的事情:彻底灭杀 
            1>检查组件中是否还存留tonly的信息
                /etc/sudoers    --->权限  
                /etc/passwd     --->密码 
                /etc/shadow     --->信息
                确认全部组件中没有遗留信息 
                
                
            2>在home目录下执行: 
                sudo rm -rf tonly
                
    进程管理---->应用层:多进程线程
        进程:程序执行的过程:进程              
        程序:你写的程序,是静态的
        
        查看我们系统中的进程: 
            ps -aux :静态查看进程 
            top     :动态查看进程

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER:进程拥有者
PID:进程的ID号 :唯一的
%CPU:CPU占用率
%MEN:内存占用率
VSZ:物理内存用量
RSS:虚拟内存用量
TTY:终端
STAT:进程的状态
START:进程的开启时间
TIME:进程的执行时间
COMMAND:开启进程的命令

       进程拥有者是:farsight --->用户进程 
       进程拥有者:root       --->系统进程
       
       玩个好玩的: 
            写一个进程出来,将其做掉
             #include <stdio.h>
            #include <unistd.h>
            int main(){
                while(1){
                    sleep(1);
                    printf("%d\n",getpid());//获取自己PID号的函数
                }   


                return 0;
            }
   
       如果觉得:不够过瘾,建议你用putty连上你同桌的ubuntu,kill他pid1-100的进程 
                康康会发生什么
        
        kill:发送信号给进程 
            -9:杀死:无法被任何事件阻塞
            -2:终止:ctrl + c
            
 5>文件系统详解和文件压缩与解压 
    1>文件系统详解: 
        ubuntu的文件系统:EXT4 
            特点: 
                1>分离式存储 --->了解 
                2>用缓冲区隔开各个组件的输入和输出
            缓冲区: ---->IO编程第一天:标准IO 
                    硬件和输入输出的响应速度不同
                    在两者之间加入缓冲区,可以让两者速度匹配
            ".1.c.swp":临时缓存文件
                    出现原因:我们写入23071但是没有保存,也就没有写入到文件
                             而是留在了缓冲区,遇到异常退出时,系统会自动
                             保留缓冲区的数据,并在你下一次访问在文件时提示你

                    删除:sudo rm .1.c.swp
                    
                3>文件信息详解
                    我们要查看文件的详细:ls -l

-rw-rw-r-- 1 farsight farsight 126 Jul 27 01:31 1.c
类型与权限 硬链接数 文件拥有者 文件所属组 文件大小 文件最后修改时间 文件名
文件类型与权限:
-rw-rw-r–
10为一体:
1+3+3+3
1:文件类型
3: 文件拥有者权限
3: 文件所属组权限
3: 其他用户的权限

        1: 就看第一位
            -:普通文件 
            d:目录 
            c:字符设备 
            l:软链接
            s:套接字文件--->网络编程 
            p:管道文件  --->多进程线程 
            
        3+3+3:权限位:由系统决定
           rw-      rw-      r-- 
八进制: 0   6         6        4    
二进制:    110      110      100
                        --->标志位保存 --->32位 前16废物位  后16标志位
        修改权限:chmod  八进制  文件名 
你们必考的知识点:
    权限掩码:权限阉割码 割以永治
        用来保护创建文件时使文件权限过大而被修改的保护手段 
        创建目录的权限:0777  - 掩码权限        =0775?
        创建文件的权限: 0666  - 掩码权限        =0664?
        
   farsight@ubuntu:~/test1$ umask
        0002   --->掩码 
        0777-0002=0775
        0666-0002=0664
        
              4>文件压缩与解压
                压缩:将文件压缩使其大小比原大小 要小  -->便于网络传输
                    文件格式变成压缩包格式            -->传输时不易损坏
                    下载和传输:网络波动的             -->文件传输的完整性
                    原神安装 --->断网又有网    损坏 
                    
                解压:将压缩包还原成完整文件 恢复 大小
                
                 ubuntu的压缩和解压工具有哪些? 
                    1>压缩:gzip   解压:gunzip       后缀:.gz 
                    2>压缩:bzip2   解压:bunzip2      后缀:.bz2 
                    3>压缩:zip    解压:unzip       后缀:.zip
                    4>神中神工具:tar   -->集归档、压缩、解压为一身全能
                                           --->必考
                                           
                    1>gzip的压缩与解压过程 -->只能操作一个对象,且操作的是本体
                    压缩:
                        farsight@ubuntu:~/test1$ gzip 1.c
                        farsight@ubuntu:~/test1$ ls
                        1.c.gz  2.c  3.c
                        
                    解压:
                        farsight@ubuntu:~/test1$ gunzip 1.c.gz
                        farsight@ubuntu:~/test1$ ls
                        1.c  2.c  3.c
                        
                        
                    2>bzip2的压缩与解压过程
                    压缩:
                        farsight@ubuntu:~/test1$ bzip2 1.c
                        farsight@ubuntu:~/test1$ ls
                        1.c.bz2  2.c  3.c
                        
                    解压:
                        farsight@ubuntu:~/test1$ bunzip2 1.c.bz2
                        farsight@ubuntu:~/test1$ ls
                        1.c  2.c  3.c
                        
                        
                    3>zip的压缩和解压过程 //有所不同将一个文件或多个文件压缩成单一的压缩文件。    
                    用法:自定义压缩包名字 
                    zip [选项] 压缩包名字 压缩文件名 
                    压缩: 
                        farsight@ubuntu:~/test1$ zip 123.zip 1.c 2.c 3.c
                          adding: 1.c (stored 0%)
                          adding: 2.c (stored 0%)
                          adding: 3.c (stored 0%)
                        farsight@ubuntu:~/test1$ ls
                        123.zip  1.c  2.c  3.c
                        
                        
                    解压: 
                        farsight@ubuntu:~/test1$ rm 1.c 2.c 3.c
                        farsight@ubuntu:~/test1$ ls
                        123.zip
                        farsight@ubuntu:~/test1$ unzip 123.zip
                        Archive:  123.zip
                         extracting: 1.c                     
                         extracting: 2.c                     
                         extracting: 3.c                     
                        farsight@ubuntu:~/test1$ ls
                        123.zip  1.c  2.c  3.c

                    4>tar  --->神中神 ---->必考,不考去砍tonly
                    tar [ -t | -x | -u | -c | -v | -f | -j | -z ] tarfile filelist
                    选项 描述
                    -t 显示归档文件中的内容
                    -x 释放归档文件
                    -u 更新归档文件
                    -c 创建一个新的归档文件
                    -v 显示归档和释放的过程信息
                    -f 用户指定归档文件的文件名,否则使用默认名称
                    -j 由tar生成归档,然后由bzip2压缩
                    -z 由tar生成归档,然后由gzip压缩
                    
                    具体用法: 
                        压缩: 
                            tar -zvf hello.gz 1.c 2.c 3.c 
                            tar -jvf hello.bz2 1.c 2.c 3.c
                    
                        解压:通用: 
                            tar -xvf hello.gz
                            tar -xvf hello.bz2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值