三、修改环境
现在用户已经知道了系统启动文件的位置和内容,就可以修改启动文件,来自定义我们的环境。(准)
1.用户应当修改哪些文件
一般来说,在 PATH 中添加目录或定义额外的环境变量,需要将这些更改放入到 .bash_profile 文件中(或者是其它的等效文件,这取决于系统的发行版本,比如 Ubuntu 系统使用的是 .profile 文件),其它的改变则应录入 .bashrc 文件中。除非是系统管理员需要修改用户公用的默认设置,普通用户只需对主目录下的文件作出修改即可。当然用户也可以修改其它目录下的文件,比如 /etc 下的 profile 文件,而且很多情况下会需要用户这样做,但是现在我们先保险一点操作。
(准)
2.文本编辑器
(1)是什么?
文本编辑器类似于字处理器,它允许用户通过移动光标的方式来编辑屏幕中的文字。
与字处理器不同的是,文本编辑器只支持纯文本,而且通常包含 为编写程序而设计的特性。
文本编辑器是软件开发人员编写代码的主要工具,系统管理员也可以使用文本编辑器来管理系统的配置文件。(准)
① 文本编辑器分类
Linux 系统可使用的文本编辑器有很多种,你的系统中可能装有不止一种的文本编辑器。那为何会有这么多种编辑器呢?
主要是因为程序员热衷于编写文本编辑器,既然程序员在工作中会广泛地用到编辑器,所有他们希望文本编辑器能符合自己的工作方式。
文本编辑器可大概分为两类:图形界面和基于文本的。GNOME(GNU网络对象模型环境)和KDE(K桌面环境)都配备有一些流行的图形界面编辑器。GNOME 配备的编辑器是 gedit,在 GNOME 菜单中 gedit 通常被称为 Text Editor。KDE则有3种:kedit、kwrite、kate(复杂程度递增)。
有很多种基于文本的编辑器,常见编辑器中较受用户欢迎的是 nano、vi、emacs。nano是一种简单易用的编辑器。
(2)为什么?
为了编辑(比如修改)shell的启动文件,以及系统中的其它大多数配置文件,我们会用到一个称为文本编辑器的程序。
3.使用文本编辑器
所有的文本编辑器都可以通过在命令行输入 编辑器名称 和 需要编辑的文件名称 的方式启动。
如果输入的文件不存在,编辑器会认为用户想要创建一个新的文件,如果文件存在,这条命令将启动 gedit 编辑器,并载入some_file文件中。
示例
# 这是一个使用 gedit 的例子,结果如下图
gedit some_file
gedit文本编辑器范例.png
可以看到,载入到 some_file 文件中,一片空白,这是因为some_file 原本不存在。
此外,因为所有图形界面编辑器都非常易于理解,所以这里不做赘述。
下面 通过对 .bashrc 文件的编辑过程讲解下 nano ,nano是第一个基于文本的文本编辑器。
在进行操作之前,需要先采取一些安全措施,文件备份。
(1)文件备份(重要)
① 是什么?
对重要文件另行保存,防止接下来对原文件的一些误操作将文件破坏后,无法复原。
② 为什么?
在修改一些重要的配置文件时,先对配置文件进行备份再进行编辑是一个非常非常好的习惯。当用户把文件修改的一塌糊涂时,备份就很有用了。
③ 怎么做?
使用以下代码来备份 .bashrc 。
cp .bashrc .bashrc.bak
# cp命令会默默地覆盖现有的文件。
Ⅰ.扩展名
为备份文件取什么名字并不重要,只要备份文件的名称易于理解即可。
扩展名 .bak、.sav、.old、.orig 是常用的标示备份文件的方法。(准)
备份完成,就可以启动文件编辑器。
(2)开始使用
nano .bashrc
nano编辑点bashrc文件的启动场景.png
nano 启动后,屏幕显示如上。(若是系统没有 nano,也可使用图形界面编辑器来操作。)
① 内容3部分
可从上图看到,屏幕内容分 3 部分:顶端的标题(header)、中间的可编辑文件、底部的命令菜单。
(由于 nano 的出现是为了替代电子邮件文本编辑器,所以其编辑功能非常有限。)准
② 退出与保存
Ⅰ.退出
在使用每一种文本编辑器,都应该首先学习它的退出命令。
对于 nano 来说,可按 Ctrl-X 退出程序,这在页面底部的命令菜单中有相关介绍。
“ ^X ”代表了Ctrl-X,这是控制字符的常见表示法,很多程序中都使用它。
Ⅱ.保存
第二个需要了解的就是如何保存我们的工作。
就 nano 来说,按 Ctrl-O 完成保存。
③ 文本编辑
掌握了如何退出、保存,就可以进行文本编辑操作了。
使用向下箭头键 或 向下翻页键 使光标移动到文件的末尾,然后添加以下代码到 .bashrc 文件中。
umask 0002
export HISTCONTROL=ignoredups
export HISTSIZE=1000
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
Ⅰ.注意
用户系统的 .bashrc 文件可能已经写入了这些代码的一部分,但是不用担心,重复的代码不会造成什么危害。
Ⅱ.以上代码的含义
代码行 | 含义 |
---|---|
umask 0002 | 设置 umask 值以解决第 9 章讨论过的共享目录的问题。 |
export HISTCONTROL=ignoredups | 使 shell 的历史记录功能忽略与上一条录入的命令重复的命令。 |
export HISTSIZE=1000 | 使命令历史记录规模从默认的 500 行增加到 1000 行。 |
alias 1.='ls -d .* --color=auto' | 创建新的命令:1.:功能是显示所有以“ . ”开头的目录条目。 |
alias 11='ls -l --color=auto' | 创建新的命令:11.:功能是以长格式来展示目录列表。 |
Ⅲ.添加注释
可以看到,添加的这些代码,有好几条命令都是第一次见,而且这些新增加的代码并不易于理解,所以就需要在 .bashrc 文件中添加一些注释来帮助用户理解代码的含义。
添加注释后的代码如下:
# 改变 umask 使得共享目录更容易
umask 0002
# 让历史记录忽略重复
export HISTCONTROL=ignoredups
# 使历史记录规格增加到 1000 行
export HISTSIZE=1000
# 增加一些有帮助的别名
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
这样一来,对于上面这些代码就易懂得多。
最后按 Ctrl-O 保存文档,按 Ctrl-X 退出 nano,这样对 .bashrc 文件的修改就完成了。
4.激活我们的修改
有 2 种方法可以激活修改:关闭shell终端会话并重启、source命令强制激活。
(1)关闭shell终端会话并重启
因为只有启动 shell 会话时才会读取 .bashrc,所以对 .bashrc 做出的修改只有在关闭 shell 终端会话并重启的时候才会生效。
(2)命令强制激活
当然也可以使用以下命令强制命令 bash 重新读取 .bashrc 文件。
source .bashrc
重新读取 .bashrc 之后,文件中作出的修改就会生效。我们来试一下其中的一个新的别名。
ll
网友评论