文章目录

  • 压缩打包与备份
    • 压缩文件命令`gzip bzip2 xz`
      • `gzip` 命令
      • `bzip2` 命令
      • `xz`命令
    • 打包指令
    • XFS文件系统备份与还原
    • 光盘写入工具
    • 其他常见的压缩与备份工具
  • `Vim` 基本使用
    • 多文件编辑
    • 多窗口编辑
    • Vim 的关键字补全
    • Vim环境设定与记录
    • 其他使用注意事项
      • 中文编码问题
      • 断行字符
      • 语系编码转换
  • 最后

本篇博客继续围绕Linux文件系统进行拓展,这里主要介绍Linux下对文件的压缩和打包以及对Linux下万能且好用的Vim编辑器的基本使用的介绍。

压缩打包与备份

使用压缩文件最大的好处就是压缩后的文件容量变小了,存储在硬盘中可以存储更多资源,在网络传输中没有与数据量的降低,也可以让网络带宽可以有更多的其他工作

由于 Linux下的 压缩指令很多,为了区分不同压缩指令产生的压缩文件,就使用不同的 后缀名 来区分了,有如下压缩文件后缀名:

压缩文件命令gzip bzip2 xz

gzip 命令

gzip 可以说是应用度最广的压缩文件了,可以 解压缩 compress zip gzip 等压缩文件,使用 gzip 压缩文件得到的是 .gz 的后缀名

基本语法如下:

在使用 gzip 进行压缩的时候,在预状态下,原本的文件会被压缩成 .gz 的文件名,源文件就不存在了,解压缩也是同理
使用 gzip 压缩的文件,是可以在 Windows系统下被 winRAR7zip 等软件解压的

虽然 gzip 提供 1~9 的压缩等级,不过使用默认的 6 就非常好用了!

使用如下:

# 压缩文件
[root@AliComputer learn]# gzip test.txt
[root@AliComputer learn]# ll
total 4
-rw-r--r-- 1 root root 93 May 10 14:55 test.txt.gz
# 解压缩文件
[root@AliComputer learn]# gzip -d test.txt.gz
[root@AliComputer learn]# ll
total 4
-rw-r--r-- 1 root root 70 May 10 14:55 test.txt

如果你还想要从文字压缩文件当中找数据的话,可以透过 zgrep 来搜寻关键词喔!而不需要将压缩文件解开才以 grep 进行! 这对查询备份中的文本文件数据相当有用!
使用如下:

[root@AliComputer learn]# ll
total 8
-rw-r--r-- 1 root root 93 May 10 14:55 test.txt.gz
-rw-r--r-- 1 root root 70 May 10 15:02 t.txt
# 直接在压缩文件中搜索
[root@AliComputer learn]# zgrep -n 'hello' test.txt.gz
6:hello

bzip2 命令

若说 gzip 是为了取代 compress 并提供更好的压缩比而成立的,那么 bzip2 则是为了取代 gzip 并提供更佳的压缩比而来的

bzip2的使用和 gzip 基本一致

虽然压缩率提高了,但是压缩的时间也会更长

xz命令

压缩比更高,但耗时也更长了,基本参数如下:

打包指令

上面提到的压缩指令,大多只能对 单一文件 进行压缩,虽然也能对目录进行压缩,不过这里的对目录压缩是:将目录内的所有文件分别进行压缩

将多个文件或目录打包成一个大文件的指令功能,就是 打包指令,tar 命令可以将多个目录或文件打包成一个大文件,同时还可以透过 gzip/bzip2/xz 的支持,将该文件同时进行压缩

tar 命令的 选项非常多,这里只列举几个常用的:

如果使用 -P 选项,就会带上 根目录,这样在解压缩的时候,就识别出 绝对路径,进而解压缩得到的目录就会覆盖已经存在的目录,所以为了 备份数据的安全性,还是不要使用 -P 选项好一点

基本的命令就下面三个:

# 压缩文件
tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称# 查询压缩文件内部的文件
tar -jtv -f filename.tar.bz2# 解压缩,如果不指定 -C, 就是默认在当前目录解压缩
tar -jxv -f filename.tar.bz2 -C 要解压的目录

那个 filename.tar.bz2 是我们自己取的档名, tar 并不会主动的产生建立的档名喔!我们要自定义啦!
所以扩展名就显的很重要了!如果不加 [-z|-j|-J] 的话,档名最好取为 *.tar 即可。如果是 -j 选项,代表有 bzip2 的支持,因此档名最好就取为 *.tar.bz2 ,因为 bzip2 会产生 .bz2 的扩展名之故! 至于如果是加上了 -zgzip 的支持,那档名最好取为 *.tar.gz

基本使用:

还可以实现,仅解压缩得到 压缩文件中的一部分内容:

--exclude="file" 的动作,我们可以将几个特殊的文件或目录移除在打包之列,让打包的动作变的更简便

利用 管道符和数据流 可以实现 将待处理的文件一边打包,一边解压缩到目标目录中,这个操作就类似于 cp -r实现的复制

XFS文件系统备份与还原

8.4 章 --暂且跳过

光盘写入工具

8.5 章 --暂且跳过

其他常见的压缩与备份工具

8.6 章 --暂且跳过

Vim 基本使用

Vim 分为三种模式:

  • 一般指令模式command mode:
    刚进位Vim的模式可以使用 上下左右移动光标,查看文件,删除、复制、粘贴的操作
  • 编辑模式insert mode:
    在按下i I o O a A r R 等任意一个字母进入的模式,按下ESC 即可 退出该模式
  • 指令列命令模式command-line mode
    在一般模式下,输入: / ? 后,光标进入最底下的列,可以提供 读取、存盘、取代、退出、显示行号等操作

Vim下常用按键的说明:
一般指令模式的常用按键:







一般指令模式切换到编辑模式:

一般指令模式切换到指令列模式:


在 vi 中,『数字』是很有意义的!数字通常代表重复做几次的意思! 也有可能是代表去到第几个什么什么的意思。 举例来说,要删除 50 列,则是用 『50dd』 对吧! 数字加在动作之前~那我要向下移动 20 列呢?那就是『20j』或者是『20↓』即可

指令不在于背,只要多用,自然就熟悉了

如果在使用 vim 进行编辑工作时,不小心因为种种原因而中断退出了(没有保存修改),vim会给出一定的解决方案,因为在Vim 中编辑的时候,会默认建立一个缓存文件:*.conf,该文件就用来存储临时信息,这样未保存的文件,在下次打开的时候,就会 自动读取 *.conf 并要求用户给出解法方案:

使用 Vim 还可以实行 区块选择功能,可以选择一部分区域,然后进行操作:

多文件编辑

使用 Vim 可以实现多文件编辑,首先在编辑的时候,选择同时编辑多个文件,然后通过下面的命令就可以在不同的文件之间切换,或者 复制粘贴了:

多窗口编辑

Vim 可以实现多窗口编辑,在编辑一个文件的同时,如果需要参考其他文件,就可以 通过命令模式,再打开一个窗口,同时 编辑另外一个文件,通过 :sp filename 命令实现

Vim 的关键字补全

Vim 已经是实现通过颜色来区分不同关键字了,重点是如果通过 关键字自动补全,Vim也提供了关键字补全功能,但是与 Windows下的其他软件完善的关键字补全使用 Tab 键实现,Vim 下是使用 组合键实现的:

Vim环境设定与记录

使用Vim时,各种操作都会被 Vim 主动记录下来,这些记录就存储在 用户的家目录下:~/.viminfo, 该文件 自动产生,不用自行建立

还有平时使用 Vim设定的一些习惯,比如打开文件默认就显示行号等,都是通过 Vim的环境文件配置的,下面列出几个Vim 常用的环境设定参数:

这些Vim 参数就在 /etc/vimrc 这个文件中保存设置,但是一般不建议修改这个文件,因为这个文件是全局的,如果有特殊需求,就通过修改 当前用户的家目录下的配置文件,实现特殊化就可以了,该文件在:~/.vimrc,这个文件默认是不存在的,需要手动建立,下面提供了一份可以参考的设置文件:

其他使用注意事项

中文编码问题

就是中文显示乱码的问题,一般就是 字符编码格式的问题,肯定是需要修改字符编码格式了,现在主流是使用utf-8编码了,但是目前我没有遇到这样的问题,如果遇到了,就去 Google,肯定好解决

断行字符

在DOS下的断行字符为^M$,称为 CR 和 LF 两个符号,在 Linux下仅有 LF($) 这一个 断行符号,这样如果使用 Linux执行 DOS下的脚本文件,由于 断行符 不同,就会导致 程序无法执行的情况,可以 安装 专门的 字符转换软件 实现 这个转换

《鸟哥的Linux私房菜》9.4.2节有详细介绍

语系编码转换

Linux可以自动实现 编码转换,通过 iconv 指令实现:

如果要将 繁体的utf-8 编码转换为简体的utf-8就稍微有一点麻烦了,需要如下操作:

最后

一起提高,慢慢变强。

Linux基础知识与实操-篇三: 文件压缩打包与vim基本使用相关推荐

  1. “ Linux基础知识学习 ” 之 关于rc.d文件的理解 04

    关于rc.d文件的理解 在目录/etc或/etc/rc.d下经常看到rc1.d-rc5.d等一些配置文件,一直不是很清楚,查了rc.d文件的一些资料,大概有了一定了解,但对于为什么改rc5.d等一些文 ...

  2. Linux入门笔记-尚硅谷韩顺平-基础篇实操篇

    文章目录 课程导论 基础篇 Linux入门 Linux介绍 Linux和Unix的关系 Linux和Windows比较 基础篇 Linux的目录结构 基本介绍 具体的目录结构 实操篇 vi和vim的使 ...

  3. Linux实操篇笔记

    Linux实操篇 远程登陆Linux 先检查一下sshd服务打开没有( " * " 表示打开): setup 选择系统设置,进入下面页面: Xshell 是一个强大的安全终端模拟软 ...

  4. 第五章-Linux实操篇

    title: 第五章 Linux实操篇 categories: Linux tags: linux typora-root-url: - abbrlink: 93414991 date: 2019-0 ...

  5. RecyclerView的超强辅助Graywater——基础实操篇

    关于Graywater的系列文章 RecyclerView的超强辅助Graywater--理论篇 RecyclerView的超强辅助Graywater--基础实操篇 RecyclerView的超强辅助 ...

  6. linux实操篇之-----vi和vim编辑器

    vi和vim编辑器 1. vi和vim的基本介绍 所有Linux系统都会内置vi文本编辑器 vim是vi的升级版,可以主动以字体颜色分辨语法的正确性,代码补完和编译,错误跳转等功能. 2. vi和vi ...

  7. 第4章Linux实操篇-远程登录到Linux服务器

    第4章Linux实操篇-远程登录到Linux服务器 文章目录 第4章Linux实操篇-远程登录到Linux服务器 4.1Linux远程登录 4.1.1远程登录Linux-Xshell7 4.2远程上传 ...

  8. Linux实操篇,开机重启和用户注销

    Linux实操篇,开机重启和用户注销 1. shutdown shutdown -h now :立即关机 shutdown -h 1 :一分钟后关机 shutdown -r now :立即重启 hal ...

  9. Linux笔记总结 - linux实操篇 - 用户管理

    Linux笔记总结 - linux实操篇 - 用户管理 1 基本介绍 Linux系统是一个多用户多任务的操作系统,任何一个要使用的系统资源的用户,都首先向系统管理员申请一个账号,然后以这个账号身份进入 ...

最新文章

  1. android之权限大全
  2. d630 无线驱动 linux,fedora 8下DELL D630无线网卡驱动的安装
  3. 剑指offer 11.旋转数组的最小数字
  4. c语言菜单输入字母死循环,C语言循环菜单的设计--让程序一直运行
  5. js+css淡入效果
  6. 建筑系学生怎么系统地学 Photoshop、CAD 之类软件?
  7. 小菜找实习——阿里3月27日场笔试第一题
  8. sqlite3命令行把.db文件导成.txt时报错及中文乱码
  9. cefsharp 添加html,winform+cefSharp实现窗体加载浏览器
  10. Kali2019解决无法定位软件包
  11. 数据挖掘--非负矩阵分解
  12. Vmware中win7联网
  13. 高效能人士的七个习惯——由内而外全面造就自己
  14. JQuery监听页面滚动总结
  15. 1、 域名系统的主要功能是什么?互联网的域名结构是怎样的?域名系统中的本地域名服务器、根域名服务器、顶级域名服务器以及权限域名服务器有何区别?2、 假定要从已知的URL获得一个万维网文档。若该万维网服
  16. 读Java 804 - Quick refresher
  17. 群晖docker给showdoc添加ssl证书
  18. windows命令行下schtasks创建定期任务
  19. CAD Express Tools下载与简介
  20. 学金融会python_大学生金融小白自学Python做量化投资需要注意哪些?

热门文章

  1. 超级艺术家:DeepStyle for Mac
  2. 啊哈算法—解救小哈(广度优先搜索)
  3. vue实现在线编辑excel(转)
  4. 天下难事必做于易 项目管理从简单做起(转)
  5. python表达爱意_程序员有哪些对女友表达爱意的奇招?
  6. java pdf模板填充生成pdf打印 (亲测有效)
  7. 一次 Young GC 的优化实践(FinalReference 相关)
  8. 爬虫代理哪家强?十大付费代理详细对比评测!
  9. 区块链游戏 对战游戏NFT游戏模式开发方案
  10. JavaSE基础知识