Linux基础知识与实操-篇一

发布于:2022-11-09 ⋅ 阅读:(11) ⋅ 点赞:(0) ⋅ 评论:(0)

Linux 初识

Linux介绍与安装

这里不做过多解释了,安装是,主要是要注意磁盘分区,留出 /Swap 区,防止因为磁盘问题,导致整个系统资料丢失

一般root的用户的输入标识符为 #,其他非root用户的表示符为 $

基础认知

重要热键

Tab 键 在一串指令的第一个 字符的后面,表示 命令补全 的功能
(在仅仅记得某个命令开头字符时,可以先键入正确的几个字符,然后摁两下 Tab ,系统便会列出所有以该字符开头的命令了)

Tab 键 在一串指令的第二个 字符的后面,表示 文件补齐 的功能

若安装了 bash-completion 软件,则在某些命令后面使用 Tab 按键时,可以进行 选项/参数补全,该软件在 CentOS下已经包含在系统中了

Ctrl+c 可以使正在运行的指令中断

Ctrl+d 表示键盘输入结束,也可以取代 exit 操作

Shift+PageUp 向前翻页

Shift+PageDown 向下翻页

帮助命令

对于绝大多数命令,如果不熟悉,可以通过增加 --help 来获得 帮助文档,以此来快速学习该命令的基本用法

还有一个方法就是 通过 man 命令,来查看 操作说明(manual) , 并且可以指定 一般yoghurt可以使用的指令 选项,各个选项的含义如下:
image

其中 1 5 8 的含义很重要,最好记住这几个选项的含义

一般 说明文档包含的内容有以下几个方面:
image

所以一般在参考时,会有以下原则:

  1. 先看 NAME :看一下资料的意思
  2. 在详细看 DESCRIPTION, 这里会提到很多相关的资料盒使用时机,可以学到很多小细节
  3. 如果每个指令都已经熟悉了,下面就可以查看 OPTIONS 部分的内容了,可以知道每个选项的含义,就能下达比较 细节的指令内容了
  4. 最后还会再看一下与该资料相关的,还有哪些东西可以使用,就是 上面的 SEE ALSO
  5. 某些说明还含有 相关的文件:FILES, 可以进一步参考

还有在 参考手册页面的其他一些基础操作:
image

一般该说明手册,在目录usr/share/man

所以一般是不需要特意记住各种操作命令的,只需要记住一些常用常见的命令,然后其他的很多选项就可以通过 man 命令来找到更加详细的说明,或者通过 --help 来获取基本用法和帮助

有的命令被放到 info 命令中,易读性更强,不过查询的指令需要有 info page 才可以使用,该文件在目录:usr/share/info 下,对于 不是用 info page 格式书写的说明文件,也可以用 info 来显示,只是结果和 man 就基本相同了,其中 info 的参考快捷键如下:
image

还有其他软件的 帮助文件,会放在目录usr/share/doc 目录下

关机

数据同步

由于在Linux系统中,为了加快数据的读取速度,在默认情况下,某些已经加载到内存中的数据将不会被直接写会硬盘,而是先暂存在内存中,这样如果一个数据被多次读写,则在速度上会快很多,不过这样也带来了困扰,如果系统以外终止(断电等),那么就会造成数据的更新不正常,这是就需要 sync 命令来进行数据的写入操作:将内存中尚未更新的数据,重新写入硬盘中,这个命令在系统关机或重启前很重要

sync 最好是 root 用户使用,因为这样可以保存所有数据,如果是其他用户,则仅保留当前用户的数据

关机的常用参数:
image

使用reboot halt poweroff 都可以实现重新启动和关机的任务,自己习惯就可以了

Linux的文件权限与目录配置

文件权限

rwx 的含义这里就不再详细介绍了,这三个分别代表 读 写 执行,可以使用八进制数 4 2 1 来表示,ugo 分别表示 当前用户 同组的其他用户 其他组的其他用户,a 表示所有用户,也可以使用 + - = 来设定不同用户的不同权限

文件权限

  • r权限(read):可以读取此文件的实际内容
  • w权限(write):可以编辑、新增该文件的内容,但是不能删除该文件
  • x权限(eXecute):该文件具有可以被系统执行的权限, 因为 Linux 不是依靠 Windows系统的拓展名来判断文件是否可以执行,而是依靠 x 权限判断的

目录权限:

  • r权限(read):可以读取此目录结构,查询到该目录下的文件名数据(ls)
  • w权限(write):具有改动该目录结构列表的权限:建立、删除、重命名、移动 文件和目录
  • x权限(eXecute):用户能否进入该目录并成为工作目录,就是当做 home 目录使用
    如果在某个目录没有x 权限,则无法切换到该目录下,也无法执行该目录下的任何指令,即使拥有rw权限

更改群组

更改某个用户的群组需要使用 root 用户,并且需要在 目录 /etc/group 下进行,否则就会显示错误,使用命令 chgrp 命令实现(change group)

改变文件拥有者

如果是 目录下所有次目录或文件同时更改 文件所有者,就需要 -R 选项

chown [-R] 账号名称 文件或目录
chown [-R] 账号名称:组名 文件或目录

一般在复制文件给其他用户的时候,就会使用到这个命令,需要将复制好的文件,修改为 目标用户,这样该用户就可以 写入或执行该文件了

文件种类与拓展名

在 Linux下,一切都是文件

文件种类

  • 正规文件(regular file): 在使用 ls 命令列出的文件中,第一个字符是 - 的均为正规文件,按照文件内容,可以分为以下几种:
    • 纯文本文件( ASCII):人可以直接读到的文件
    • 二进制档( binary) : 各种可执行文件
    • 数据格式文件( data) : 有些程序在运行过程中读取某些特定格式的文件
  • 目录( directory):在使用 ls 命令列出的文件中,第一个字符是 d 的均为目录文件
  • 链接文件( link) : 类似Windows系统下的 快捷方式,在使用 ls 命令列出的文件中,第一个字符是 l 的均为链接文件
  • 设备与设备文件( device) : 与系统周边及储存等相关的一些文件,通常都集中在/dev这个目录之下! 通常又分为两种:
    • 区块( block) 设备文件 : 就是一些储存数据, 以提供系统随机存取的周边设备, 可以跳转不同的区块
    • 字符( character) 设备文件: 亦即是一些序列埠的周边设备, 例如键盘、 鼠标等,一次性读取的
  • 数据接口文件( sockets) : 在网络中进行数据承接
  • 数据输送档( FIFO, pipe) : 解决多个程序同时村却同一个文件造成的错误问题

文件拓展名

和Windows系统不同,依靠拓展名来确定某个文件是否可以被执行,Linux下的文件只要有 x 权限,就是 可以被执行的,但是 这并不是说这样就可以被执行成功,只是说明 它具有执行能力

Linux下还有其他类型的文件,可以依靠拓展名区分:
image

Linux下文件名的限制

单一文件或目录的最大容许文件名为 255Bytes, 以一个 ASCII 英文占用一个 Bytes 来说, 则大约可达 255 个字符长度。 若是以每个中文字占用 2Bytes 来说, 最大文件名就是大约在 128 个中文字符之内

所以 Linux下可以看到很长的文件名,就是为了可以清晰的表示该文件的信息

而且在命名文件时 ,最好避免以下字符:

. ? > < ; & ! [ ] | \ ' " ` ( ) { }

. 开头的文件或目录,在 Linux下认为是 隐藏文件

目录配置

根据 FHS 的目录配置依据,简单的将目录定义为以下四种交互形态:
image

还有另外三个目录:
/ ( root, 根目录) : 与开机系统有关;
/usr ( unix software resource) : 与软件安装/执行有关;
/var ( variable) : 与系统运行过程有关。

根目录

根目录是整个系统最重要的一个目录, 因为不但所有的目录都是由根目录衍生出来的, 同时根目录也与开机/还原/系统修复等动作有关

根目录是整个系统最重要的一个目录, 因为不但所有的目录都是由根目录衍生出来的, 同时根目录也与开机/还原/系统修复等动作有关

各个目录的主要文件如下:
image
image
image

还有几个也非常重要,但是 FHS 没有定义出来的目录:
image

有五个重要的目
录被要求一定要与根目录放置在一起, 那就是 /etc, /bin, /dev, /lib, /sbin 这五个重要目录。现在许多的 Linux distributions 由于已经将许多非必要的文件移出 /usr 之外了, 所以 /usr 也是越来越精简,同时因为 /usr 被建议为『即使挂载成为只读,系统还是可以正常运作』的模样,所以救援模式也能同时挂载 /usr

/usr 的意义与内容

依据 FHS 的基本定义, /usr 里面放置的数据属于可分享的与不可变动的(shareable, static),

很多读者都会误会/usr 为 user 的缩写,其实 usr 是 Unix Software Resource 的缩写, 也就是『Unix 操作系统软件资源』所放置的目录,而不是用户的数据

FHS 建议所有软件开发者,应该将他们的数据合理的分别放置到这个目录下的次目录,而不要自行建立该软件自己独立的目录

因为是所有系统默认的软件(distribution 发布者提供的软件)都会放置到/usr 底下,因此这个目录有点类似 Windows 系统的『C:\Windows\ (当中的一部份) + C:\Program files\』这两个目录的综合体,系统刚安装完毕时,这个目录会占用最多的硬盘容量。一般来说, /usr 的次目录建议有底下这些:
image
image

/var的意义与内容

如果/usr 是安装时会占用较大硬盘容量的目录,那么/var 就是在系统运作后才会渐渐占用硬盘容量的目录。 因为/var 目录主要针对常态性变动的文件,包括快取(cache)、登录档(log file)以及某些软件运作所产生的文件, 包括程序文件(lock file, run file),或者例如 MySQL 数据库的文件等等。常见的次目录有:
image

实际目录配置

上面仅仅是 FHS 建议的目录结构,在实际的 Linux发行版 CentOS7 的目录树结构如下:
image

文件与目录管理

相对路径与绝对路径

  • 绝对路径:
    由 根目录/写起,例如 /usr/share/doc
    一般来说,如果是 shell脚本等类似的程序,务必使用 绝对路径的写法
  • 相对路径:
    不是由/写起,. 表示当前目录,.. 表示上一级目录(父目录)

关于目录的基本常识:
使用命令cd - 就可以回到上一个工作目录,实现直接跳回的操作了
image

在所有目录底下都会存在的两个目录,分别是『.』与『…』 分别代表此层与上层目录的意思

那么在Linux 的根目录下,是否也存在上层目录呢?
若使用『 ls -al / 』去查询,可以看到根目录下确实存在 . 与 … 两个目录,再仔细的查阅, 可发现这两个目录的 属性与权限完全一致,这代表根目录的上一层(…)与根目录自己(.)是同一个目录

目录相关操作

cd  	变换目录

pwd  	见识当前目录,pwd -P 可以取得正确的目录名称,而不是以链接文件的路径来显示

mkdir  	建立一个新目录
-m 选项,配置文件的权限,直接设定,不需要看预设权限
-p 选项,直接将所需要的多层目录,递归建立起来

rmdir  	删除一个空目录

image

执行文件路径的变量:
为什么在Linux系统的任何地方都可以执行 基础命令,比如 ls 命令

因为,我们在写入命令后,系统会按照 PATH 的设定去设定每个 PATH定义的目录下搜寻文件名为 ls 的可执行文件,如果在 PATH 定义的目录中含有多个文件名为 ls 的可执行文件,那么先搜寻到的同名指令先被执行。
image

因为基本都包含在 PATH 这个变量内了,所以基本在任何地方都可以使用 这些基本命令了

查看文件的基本操作:ls
更多选项如下:
image

复制文件或目录:cp
image

cp 指令在不同身份的人执行,会有不同的结果产生,而且差异很大
一般在备份文件的时候,如果使用cp 命令,默认 cp 的 来源档和目的档 的权限是不同的,目的档 的拥有者通常会是指令的操作者本身,就是说如果 root 用户 cp 了其他用户的目录,那么目的目录的拥有者就变为 root用了,不再是 其他用户了
所以在备份的时候,需要特别注意 特殊权限和文件,例如 密码文件(/etc/shadow), 需要 -a-p 选项才可以完整复制问价权限的选项

如果遇到 连接文件,cp 命令是默认 复制源文件,而不是复制 链接文件的属性,如果非要链接文件,就需要指定 -d 选项了

移除文件或目录:rm
image

rm 指令前 加上 \,可以忽略 alias 的指定选项

移动文件目录或更名:mv
image

重命名文件,也可以使用 rename 命令

查阅文件相关操作

查阅一个文件的命令,不仅仅是 cat 命令(这个是连续 c o n c a t e n a t e concatenate concatenate的简写

  • cat: 从第一行开始显示文件内容
    image
  • tac: 从最后一行开始显示,cat 命令的反写
  • nl: 显示的时候,可以输出行号
    image
  • more: 一页一页的显示文件内容
    image
  • less: 与 more 类似,但是可以向前翻页
    image
  • head: 只看开头几行,如果 n 是负数,那么就不列出从尾计算的n行,打印从头开始的剩余行
    image
  • tail: 只看后面几行,如果要获取 中间的几行,可以配合管道符,使用 headtail 实现
    image
  • od: 以二进制方式读取文件内容
    image

修改文件时间或创建文件:touch
image

要注意一点,我们在复制一个文件时,复制左右的属性,唯独无法复制 ctime 属性
image

文件预设权限

我们可以通过 chmod 更改权限,但是在建立目录 或 文件 的时候,默认会有一个权限,这个权限的赋予,就是通过 umask 命令实现的:

# 八进制数字表示权限,第一位表示特殊权限,可以先忽略,重点关注后面三个
[root@AliComputer william]# umask
0022
# -S 选项执行使用字母表示权限
[root@AliComputer william]# umask -S
u=rwx,g=rx,o=rx
[root@AliComputer william]# 

在默认权限属性上,umask 表示的是 该默认值需要减掉的权限,因为 r w x 可以分别用八进制数字 4 2 1 来表示,比如上面的 022, 就表示 当前用户拥有全部权限,同组其他用户被去掉了 写权限,其他组用户被去掉了 写权限

如果要修改默认权限, 只需要 umask num 就可以了,其中 num 为 八进制权限表示数字

配置文件隐藏属性:chattr
image

这个指令在 系统的数据安全上有很重要的作用,最重要的就是 +i+a 属性了

显示文件隐藏属性:lsattr
image

显示文件类型:file
image

搜索与文件

搜寻指令或文件:which
image

which 预设是找 PATH 内所规范的目录 , 所以有些 bash 命令是无法通过 which 命令找到的

文件的搜索

一般是不采用 find 命令搜索文件的,不仅仅是因为速度慢,也是因为 对硬盘操作很多,所以一般是使用 whereislocate 命令来获取 文件,实在找不到了,才会考虑使用 find 命令

在特定目录中寻找文件或文件名:whereis
image

因为 whereis 只找几个特定的目录而已~ 并没有全系统去查询之故。所以说, whereis 主要是针对 /bin /sbin 底下的执行档, 以及 /usr/share/man 底下的 man page 文件,跟几个比较特定的目录来处理而已。所以速度当然快的多!

文件的部分名称的搜索:locate
image

因为 locate 寻找的数据是由『已建立的数据库 /var/lib/mlocate/』 里面的数据所搜寻到的,所以不用直接在去硬盘当中存取数据, 速度就很快
但是一般该数据库是每天执行一次更新操作,所以入股还 没有更新数据库的话,就会找不到该文件,可以选择 手动更新数据库:updatedb 命令,updatedb 指令会去读取 /etc/updatedb.conf 这个配置文件的设定,然后再去硬盘里面进行搜寻文件名的动作, 最后就更新整个数据库文件(这里就会读取硬盘,所以会很慢)

  • updatedb:根据 /etc/updatedb.conf 的设定去搜寻系统硬盘内的文件名,并更新 /var/lib/mlocate 内的数据库
    文件;
  • locate:依据 /var/lib/mlocate 内的数据库记载,找出用户输入的关键词文件名

在硬盘中搜索文件:find
image

我们现在知道 atime(上一次访问该文件的时间[读取或执行该文件]), ctime(上一次修改该文件内容或访问权限等) 与 mtime(上一次修改文件内容[特指文件内容]) 的意义,如果你想要找出一天内被
更动过的文件名, 可以使用上述范例一的作法。但如果我想要找出『4 天内被更动过的文件档名』
呢?那可以使用『 find /var -mtime -4 』。那如果是『4 天前的那一天』就用『 find /var -mtime 4 』。有没有加上『+, -』差别很大!!

find 的其他用法:
image

还有更多用法:
image
image

find 的特殊功能:
image

find 命令可以实现 额外的动作,上面 范例八 的例子图解如下:
image

基本权限与指令

一、让用户能进入某目录成为『可工作目录』的基本权限为何:

  • 可使用的指令:例如 cd 等变换工作目录的指令;
  • 目录所需权限: 用户对这个目录至少需要具有 x 的权限
  • 额外需求:如果用户想要在这个目录内利用 ls 查阅文件名,则用户对此目录还需要 r 的权限。

二、用户在某个目录内读取一个文件的基本权限为何?

  • 可使用的指令:例如本章谈到的 cat, more, less 等等
  • 目录所需权限:用户对这个目录至少需要具有 x 权限;
  • 文件所需权限: 使用者对文件至少需要具有 r 的权限才行!

三、让使用者可以修改一个文件的基本权限为何?

  • 可使用的指令:例如 nano 或未来要介绍的 vi 编辑器等;
  • 目录所需权限:用户在该文件所在的目录至少要有 x 权限;
  • 文件所需权限: 使用者对该文件至少要有 r, w 权限

四、让一个使用者可以建立一个文件的基本权限为何?

  • 目录所需权限: 用户在该目录要具有 w,x 的权限,重点在 w 啦!

五、让用户进入某目录并执行该目录下的某个指令之基本权限为何?

  • 目录所需权限:用户在该目录至少要有 x 的权限;
  • 文件所需权限:使用者在该文件至少需要有 x 的权限

磁盘与文件系统管理

第七章–暂时跳过

压缩打包与备份

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

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

压缩文件命令gzip bzip2 xz

gzip 命令

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

基本语法如下:
image

在使用 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 基本一致
image

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

xz命令

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

打包指令

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

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

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

如果使用 -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

基本使用:
image

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

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

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

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下常用按键的说明:
一般指令模式的常用按键:
image
image
image
image
image
image
image
一般指令模式切换到编辑模式:
image
一般指令模式切换到指令列模式:
image
image
在 vi 中,『数字』是很有意义的!数字通常代表重复做几次的意思! 也有可能是代表去到第几个什么什么的意思。 举例来说,要删除 50 列,则是用 『50dd』 对吧! 数字加在动作之前~那我要向下移动 20 列呢?那就是『20j』或者是『20↓』即可

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

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

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

多文件编辑

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

多窗口编辑

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

Vim 的关键字补全

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

Vim环境设定与记录

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

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

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

其他使用注意事项

中文编码问题

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

断行字符

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

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

语系编码转换

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

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

最后

一起提高,慢慢变强。