Linux基础:通配符、压缩、打包、解压缩、VIM编辑器基础

通配符

  • *:匹配单个或多个字符

    注意:通配符可以用于rm、cp、mv、ls等指令中

  • ?:匹配任意单个字符

  • [..]:匹配[]范围中的任意单个字符

    权限说明

    权限类型权限数字操作文件操作目录
    r:读4cat、more、less、head、tail、grep等ls
    w:写2>(覆盖写入)、>>(追加写入)、touch、rmmkdir、rm、rmdir、mv(重命名)
    x:执行1./文件名(此程序是可执行程序文件)cd、cp、mv(移动)
    -:无权限0无操作无操作

    权限补充说明:

    • 移动操作(mv)需要源目录和目标目录的执行权限(用于访问路径)

    • 同时需要源目录的写权限(删除源位置条目)和目标目录的写权限(创建新位置)

压缩与解压缩

指令

压缩指令:gzip

说明:Linux压缩文件为.gz格式,只能压缩文件,不能压缩目录;只能压缩,不能打包

执行者:所有用户

用法:

 gzip [选项] 文件路径

选项:

-r:可以将目录下的文件递归压缩(绕过文件目录找到文件进行压缩)

-l:显示已经压缩文件的压缩信息

-d:解压缩

注意:gzip -r命令会递归压缩指定目录下的每个文件(每个文件单独压缩成.gz)不hi将整个目录打包成一个压缩文件。

举例:

gzip demo01.c
 #解释;压缩当前路径下的demo01.c文件,压缩后的名称默认:demo01.c.gz,压缩后源文件(demo01.c)会被删除
 ​
 gzip -d demo01.c.gz
 #解释:解压缩当前路径下的demo01.c.gz,解压后源文件(demo01.c.gz)会被删除
 ------------------------------------------------------------------------
 gzip -r chapter01
 #解释:递归压缩chapter01目录中的文件,每个文件会被单独压缩成'.gz'文件,压缩后删除源文件
 #举例:原始文件 chapter01/demo01.c → 压缩后:chapter01/demo01.c.gz
 ​
 gzip -d chapter01
 #解释:解压缩chapter01/目录下的.gz文件,解压缩后,删除源文件
 ------------------------------------------------------------------------
 gzip demo01.c demo02.c
 #解释:批量压缩demo01.c,demo02.c,压缩后删除源文件
 ​
 gzip -d demo01.c.gz demo02.c.gz
 #解释:批量解压缩demo01.c.gz,demo02.c.gz,解压缩后删除

注意:如果已经是.gz文件,就不能再次压缩

另一种解压【扩展】

  • 语法:

    gunzip [选项] 文件/目录
  • 选项

    • -r:可以将目录下的文件递归解压缩

  • 范例

  • gunzip demo01.c.gz
     #解释:解压demo01.c.gz
     ​
     gunzip -r chapter01
     #解释:绕过指定目录递归解压demo01.c.gz,等价于gzip -rd chapter01

    更高的压缩效率指令:bzip2

  • 说明;压缩文件为bz2格式,同样这种压缩不提供打包功能。

    执行者:所有用户

    语法:

 bzip2 [选项] 文件路径
  • 选项

    -k:保留源文件(支持保留源文件)

    -d:解压缩

    -f:覆盖式压缩/解压缩(压缩或解压缩路径下,出现同名文件,用压缩或解压缩后的为你教案覆盖)

    举例:

     bzip2 demo01.c
     #解释:压缩当前路径下的demo01.c文件,压缩后默认的名称为demo01.c.bz2,源文件会被删除
     ​
     bzip2 -d demo01.c.bz2
     #解释:解压缩当前路径下的demo01.c.bz2文件,解压缩后的源文件会被删除
     ------------------------------------------------------------------
     bzip2 -k demo02.c
     #解释:压缩当前路径下的demo02.c文件,压缩后默认的名称为demo01.c.bz2,源文件会保留
     ​
     bzip2 -kdf demo01.c.bz2
     #解释:解压缩当前路径下的demo02.c.bz2文件,解压缩后,保留.bz2文件,覆盖掉之前的.c文件
     ----------------------------------------------------------------------
     bzip -kf demo01.c demo02.c
     #批量压缩demo01.c,demo02,c,保留.c文件,覆盖已经存在的同名的.bz2文件
     ​
     bzip -df demo01.c.bz2 demo02.c.bz2
     #批量解压缩demo01.c.bz2,demo02.c.bz2,保留.bz2文件,覆盖已经存在的同名的.c文件

    另一种解压【扩展】

    • 语法:

      bunzip2 [选项] 文件名
    • 选项

      • -f:如果压缩时保留了源文件,覆盖解压

    • 范例:

      bunzip2 -f demo02.c.bz2
       #解释:解压demo02.c.bz2,解压出demo02.c
       ​
       bunzip2 -f demo01.c.bz2 demo02.c.bz2
       #解释:批量解压,解压出demo01.c demo02.c

      总结

      gzip和bzip2的区别:
      • 与gzip相比,bzip2有更高的效率

      • gzip可以绕过可以绕过目录递归压缩目录中的文件以及器其子目录中的文件,bzip2不可以

      • gzip和bzip2压缩指令不能混合使用,主要通过压缩文件的扩展名区分

         

    打包指令:tar

    说明:打包一般配合压缩使用

    执行者:所有用户

    语法:

     tar [选项] 打包文件的名称 被打包的文件或目录路径(有多个,用空格隔开)

    选项:

    -c:打包

    -v:显示命令执行的过程

    -f:用于指定打包文件的名称

    -z:打包时压缩/解包时解压缩,操作的文件扩展名为.gz,使用gzip算法

    -x:解包,-c-x不能同时使用

    -j:打包时压缩/解包时解压缩,操作的文件扩展名为.bz2,使用bzip2算法,-z和-j不能同时使用

    重要:使用-f选项时必须将其放在最后,后接文件名。

举例:

 -- 打包 打包不会影响文件的大小,只会将多个文件整合到一起
 tar -cvf all.tar chapter01 demo01.c 
 #解释:打包chapter01目录和demo01.c文件到all.tar,此时是未经过压缩,保留源文件
 ​
 tar -xvf all.tar
 #解释;解包 all.tar中的chapter01目录和demo01.c文件
 -----------------------------------------------------------------------
 ​
 --打包 + 压缩(gzip算法)
 tar -zcvf all.tar.gz chapter01 all.tar demo01.c 
 #解释:打包并压缩chapter01目录all.tar包和demo01.c文件到all.tar.gz,此时经过了压缩,保留源文件
 ​
 tar -zxvf all.tar.gz
 #解释:解包并解压缩all.tar.gz中的chapter01,all.tar,demo01.c
 -------------------------------------------------------------------------
 ​
 --打包 + 压缩(bzip2算法)
 tar -jcvf all.tar.bz2 capter01 all.tar demo01.c 
 #解释:打包并压缩chapter01目录all.tar包和demo01.c文件到all.tar.bz2,此时经过了压缩,保留源文件
 ​
 tar -jxvf all.tar.bz2
 #解释:解包并解压缩all.tar.bz2中的chapter01,all.tar,demo01.c

压缩文件或目录:zip

说明:文件的后缀名是.zip,同时支持打包和压缩

执行者:所有用户

注意:

①这个指令不是Linux自带的,如果要用,就需要额外的安装,zip压缩是跨平台的

②当压缩一个目录时,必须使用-r选项,否则只会压缩目录本身(空目录),不包括,目录中的文件

安装命令:

 sudo apt-get update
 #解释:更新软件
 ​
 sudo apt-get install zip
 (注:sudo apt-get install 文件名,将下载和安装整合到一起了)

注意:以上操作命令需要联网环境下进行

压缩语法:

 zip [选项] 压缩后的文件名 文件/目录路径

解压语法:

 unzip [选项] 压缩文件的文件名

选项:

  • `-r``:递归压缩,用于对目录的操作(体现在压缩算法上,并不是真的生成多个zip)

  • 注意:不带选项会保留源文件(默认保留源文件)

举例:

 zip demo01.zip demo01.c
 #解释:压缩当前路径下的demo01.c文件,压缩后文件名为demo01.zip,压缩后保留源文件
 unzip demo01.zip
 #解释:解压缩文件demo01.zip,如果出现同名文件,会提示用户选择性处理
 ------------------------------------------------------------------------
 ​
 zip chapter01.zip chapter01
 #解释:压缩当前路径下的chapter01目录,压缩后的文件名为chapter01.zip,压缩后,保留源文件
 unzip chapter01.zip
 #解释:解压缩当前路径下的chapter01.zip,如果出现同名文件,会提示用户选择性处理
 ------------------------------------------------------------------------
 ​
 zip -r chapter02.zip chapter01
 #解释:压缩当前路径下的chapter02目录,压缩后的文件名为chapter02.zip,压缩后,保留源文件
 unzip chapter02.zip
 #解释:解压缩当前路径下的chapter02.zip,如果出现同名文件,会提示用户选择性处理
 ------------------------------------------------------------------------
 ​
 zip -r all.zip chapter01/demo01.c chapter01.zip demo02.c
 #批量压缩chapter01/demo01.c chapter01.zip demo02.c,压缩后名字为all.zip,逐层递归压缩
 unzizp all.zip
 #解释:解压缩当前路径下的all.zip

解压时出现同名文件

会出现交互选项,让用户选择处理

  • [y]es:输入y,替换当前同名的文件

  • [n]o:输入n,跳过当前同名的文件

  • [A]ll:输入A,替换全部同名的文件

  • [N]one:输入N,跳过全部同名的文件

  • [r]name:输入r,给当前同名的文件重命名

    总结

    压缩格式总结

    1.*.tar:用 tar -xvf解包

    2.*.gz:用gzip -dgunzip解压缩

    3.*.tar.gz*.tgz:用tar -zxvf解压

    4.*bz2:用bzip -dbunzip2解压

    5.*tar.bz2:用tar -jxvf解包

    6.*.zip:用unzip解压

    打包压缩方式总结
    • zip:打包并压缩

    • tar + gzip:先打包,再压缩(使用gzip)

    • tar + bzip:先打包,再打包(使用bzip2)

    • Vim编辑器
      • Vi:Linux系统内置的基本文本编辑器

      • Vim:需要额外安装,支持语法高亮,多级撤销,插件系统等增强功能

        Vim安装与卸载

        在线安装
         sudo apt-get update #更新软件源
         sudo apt-get install vim #安装vim
        卸载程序
        sudo apt-get remove vim #卸载vim vim也可以替换为其他要卸载的程序名

        Vim的使用

        启动(打开文件)

        启动Vim后处于命令模式

        ①仅启动Vim(不推荐)

         Vim

        在vim中导入文件:

      • :r 文件名

        ②打开指定文件(推荐)

         vim 文件路径     #光标在文件开头,适合空文件
         vim 文件路径 +   #光标在文件末尾,适合配置类文件,需要追加内容的文件
         vim文件路径 + n  #光标在第n行,适合定位bug产生的行

        使用vim打开一个文件

        如果这个文件不存在,就在内存中打开

        如果这个文件存在,就将这个文件加载到内存并打开

        退出(关闭文件)

        1.返回命令模式ESC键

        2.进入末行模式::(Shift + :组合键)

        3.推出选项:

        • :q:不保存退出

        • :wq:保存并退出

        • q!:强制退出不保存

        • wq!:强制保存并退出

          • Vim的工作模式

            三种工作模式

            1.命令模式:用户输入vim时当作指令处理,一般通过vim打开文件进入的时候,就处于这个模式

            2.输入模式:编辑模式,用户输入vim时字符要写入到文件中

            3.末行模式:文件保存和退出vim

命令模式 → 输入模式快捷键

快捷键功能描述示例
i在光标前插入插入内容|
a在光标后插入|插入内容
o在下方新行插入|插入内容
I在行首插入插入内容|行首内容
A在行尾插入行尾内容|插入内容
O在上方新行插入插入内容|

发布文章为共享知识以及个人学习笔记使用,持续不定时更新

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值