Linux目录结构
Linux操作系统中的目录和文件数据被组织为一个树形目录结构,所有的分区、目录、文件等都具有一个相同的位置起点根目录,Linux操作系统中只有一个根目录,而Windows 操作系统中每个分区都有一个根目录,这点需要加以区别。
Linux 操作系统在定位文件或目录位置时,使用斜杠“P进行分隔(区别于Windows 操作系统中的反斜杠“Y”)。整个树形目录结构中,使用独立的一个“/”表示根目录,根目录是Linux操作文件系统的起点,其所在的分区称为根分区。在根目录下,Linux操作系统将默认建立一些特殊的子目录,分别具有不同的用途。
/boot:此目录是系统内核存放的目录,同时也是系统启动时所需文件的存放目录,如vmlinuz和initrd.img。在安装Linux操作系统时,为boot目录创建一个分区,有利于对系统进行备份。
/bin:bin 是binary 的缩写。这一目录存放了所有用户都可执行的且经常使用的命令,如cp、ls 等。
/dev:此目录保存了接口设备文件,如/dev/hda1、/dev/cdrom等。
/etc: 系统主要的配置文件几乎都放置到这个目录内,例如人员的账号密码文件、各种服务的起始文件等。
/home:存放所有普通系统用户的默认工作文件夹(即宿主目录、家目录),如用户账号"teacher"对应的宿主目录位于“/home/teacher/ ”。如果服务器需要提供给大 量的普通用户使用,建议将“/home”目录也划分为独立的分区,以方便用户数据的备份。
/root: 该目录是Linux 操作系统管理员(超级用户)root的宿主目录,默认情况下只有root用户的宿主目录在根目录下而不是在“/home”目录下。
/sbin:存放Linux 操作系统中最基本的管理命令,一般管理员用户才有权限执行。
/usr: 存放其他的用户应用程序,通常还被划分成很多子目录,用于存放不同类型的应用程序。
/var: 存放系统中经常需要变化的一些文件,如系统日志文件、用户邮箱目录等,在实际应用系统中,“/var”目录通常也被划分为独立的分区。
查看及检索文件
在 Linux 操作系统中,绝大多数的配置文件是以普通文本格式保存的,这些配置文件决 定着系统及相关服务、程序的运行特性。本节将学习如何查看及检索文本文件的内容,快速了解相关配置信息,以便为管理、维护操作系统提供有效的参考。
查看文件内容
1.cat命令显示并连接文件的内容
cat 命令本来用于连接 (Concatenate ) 多个文件的内容,但在实际使用中更多地用于 查看文件内容。cat 命令是应用最为广泛的文件内容查看命令。
2..more 和less 命令分页查看文件内容
使用cat 命令可以非常简单地直接显示整个文件的内容,但是当文件中的内容较多时,很可能只能看到最后一部分信息,文件前面的大部分内容都来不及看到。而more 和less命令通过采用全屏的方式分页显示文件,便于我们从头到尾仔细地阅读文件内容。
more 命令是较早出现的分页显示命令,表示文件内容还有更多(more) 的意思,less 命令是较晚出现的分页显示命令,提供了比早期more 命令更多的一些扩展功能。两个命令的用法基本相同。
使用more 命令查看超过一屏的文件内容时,将进行分屏显示,并在左下角显示当前内 容在整个文件中的百分比。在阅读界面中,可以按Enter 键向下逐行滚动查看,按Space 键可以向下翻一屏,按b 键向上翻一屏,按q 键退出并返回原来的命令环境。
3.head 和tail 命令——查看文件开头或末尾的部分内容
head 和tail是一对作用相反的命令,前者用于显示文件开头的一部分内容,后者用于显示文件末尾的一部分内容。可以使用“-n”选项 (n 为具体的行数)指定需要显示多少行的内容,若不指定行数,默认只显示十行。
tail 命令则正好相反,用于查看文件末尾的内容。tail 命令通常用于查看系统日志(因 为较新的日志记录总是添加到文件最后),以便观察网络访问、服务调试等相关信息。配合 “-f”选项使用时,还可以跟踪文件尾部内容的动态更新,便于实时监控文件内容的变化。
统计和检索文件内容
1.wc 命令统计文件内容中的单词数量(Word Count)、行数等信息
wc 命令用于统计文件内容中包含的行数、单词数、字节数等信息,使用文件名作为参数,可以同时统计多个文件。
-1:统计文件内容中的行数。
-w: 统计文件内容中的单词个数(以空格或制表位作为分隔)。
-c: 统计文件内容中的字节数。
2.grep命令 检索、过滤文件内容
grep 命令用于在文件中查找并显示包含指定字符串的行,可以直接指定关键字符串作 为查找条件,也可以使用复杂的条件表达式
-i: 查找内容时忽略大小写(lgnore Case)。
-v: 反转查找(Invert),即输出与查找条件不相符的行。
备份与恢复文档
在Linux操作系统中,最简单的文件和目录备份工具就是cp(复制)命令。但是当需要备份的文件、目录数量较多时,仅仅使用cp 命令就显得“力不从心”,并且备份的文件数 量及其所占用的磁盘空间都可能会对服务器产生不小的压力。有必要对需要备份的数据进行归档和压缩。
这里所说的归档操作实际上相当于“打包”,即将许多个文件和目录合并保存为一个整体 的包文件,以方便传递或携带。而压缩操作可以进一步降低打包后的归档文件所占用的磁盘空间,充分提高备份介质的利用率。
Linux 操作系统中较常用的压缩命令工具包括gzip、bzip2, 最常用的归档命令工具为 tar。使用tar命令可以通过特定选项自动调用gzip或bzip2程序,以完成归档、压缩的整套流程,当然也可以完成解压、释放已归档文件的整套流程。
使用压缩和解压缩工具
gzip 和 bzip2 是Linux 操作系统中使用最多的两个压缩工具,这两个命令都可以压缩指 定的文件,或者将已经压缩过的文件进行解压。两者使用的压缩算法各不相同,但命令使用格式基本类似,一般来说 bzip2 的压缩效率要好一些。
1.gzip 和gunzip 命令
使用gzip 制作的压缩文件默认的扩展名为“.gz”。制作压缩文件时,使用“-9”选项可以提高压缩的比率,但文件较大时会需要更多的时间。
2.bzip2 和bunzip2 命令
bzip2 和bunzip2 命令的用法与gzip、gunzip 命令基本相同,使用bzip2 制作的压缩文 件默认的扩展名为“.bz2” 。
使用tar归档和释放工具
tar命令主要用于对目录和文件进行归档。
-c: 创建 ( Create).tar 格式的包文件。
-C: 解压时指定释放的目标文件夹。
-f: 表示使用归档文件。
-j:调用bzip2程序进行压缩或解压。
-p: 打包时保留文件及目录的权限。
-P: 打包时保留文件及目录的绝对路径。
-t: 列表查看包内的文件。
-v: 输出详细信息(Verbose)。
-x: 解开.tar格式的包文件。
-z: 调用gzip程序进行压缩或解压。
使用vi文本编辑器
配置文件是Linux操作系统的显著特征之一,其作用有点类似于 Windows操作系统中的注册表,只不过注册表是集中管理,而配置文件采用了分散的自由管理方式。本节将学习如何使用Linux字符操作界面中的文本编辑器——vi, 以便更好地管理和维护系统中的各种配置文件。
vi 编辑器的工作模式
命令模式:启动 vi编辑器后默认进入命令模式。该模式中主要完成如光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作。
输入模式:该模式中主要的操作就是录入文件内容,可以对文本文件正文进行修 改或添加新的内容。处于输入模式时,vi 编辑器的最后一行会出现“--INSERT-- ”的状态提示信息。
末行模式:该模式中可以设置 vi编辑环境、保存文件、退出编辑器,以及对文件 内容进行查找、替换等操作。处于末行模式时, vi 编辑器的最后一行会出现冒号“:”提示符。
命令模式、输入模式和末行模式是 vi 编辑环境的三种状态,通过不同的按键操作可以 在不同的模式间进行切换。例如,从命令模式按:(冒号)键可以进入末行模式,按a、 i、o等键可以进入输入模式;在输入模式、末行模式均可按 Esc 键返回命令模式。
命令模式中的基本操作
执行单独的“vi”命令即可进入vi 编辑器的命令模式,还会显示相关版本信息,如图2.3 所示。但更常见的使用方法是指定要编辑的文件名作为参数,若该文件不存在,则vi根据该文件名称打开一个新的空文件。
1.模式切换
a: 在当前光标位置之后插入内容。
A:在光标所在行的末尾(行尾)插入内容。
i: 在当前光标位置之前插入内容。
l:在光标所在行的开头(行首)插入内容。
0:在光标所在行的后面插入一个新行。
0:在光标所在行的前面插入一个新行。
2. 移动光标
光标方向的移动。直接按个、↓、←、 → 四个方向键完成相应的光标移动。
翻页移动。
按 Page Down 键或 Ctrl+F 组合键向下翻动一整页内容。
按 Page Up 键或 Ctrl+B 组合键向上翻动一整页内容。
行内快速跳转。
按 Home 键或^键、数字0 键将光标快速跳转到本行的行首。
按 End 键或$键将光标快速跳转到本行的行尾。
Page Down、Page Up、Home、End 键及方向键同样也可在vi的输入模式中使用。
行间快速跳转。
使用按键命令 1G 或者 gg 可跳转到文件内容的第1行。
使用按键命令G 可跳转到文件的最后一行。
使用按键命令#G 可跳转到文件中的第#行(其中“#”号用具体数字替换)。
为了便于查看行间跳转效果,这里先学习如何在 vi编辑器中显示行号。只要切换到末
行模式并执行如下的“:set nu”命令即可显示行号,执行“:set nonu”命令可以取消显示行号。
3. 复制、粘贴和删除
删除操作。
按x键或Delete 键删除光标处的单个字符。
使用按键命令dd 删除当前光标所在行,使用#dd 的形式还可以删除从光标处开始的#行内容(其中“#”号用具体数字替换)。
使用按键命令d^删除当前光标之前到行首的所有字符。
使用按键命令d$ 删除当前光标处到行尾的所有字符。
复制操作。使用按键命令yy 复制当前行整行的内容到剪贴板,使用#yy 的形式还可以复制从光标处开始的#行内容(其中“#”号用具体数字替换)。复制的内容需要粘贴后才能使用。
粘贴操作。在vi编辑器中,前一次被删除或复制的内容将会保存到剪切板缓冲区中,按p 键即可将缓冲区中的内容粘贴到光标位置处之后,按P 键则会粘贴到光标位置处之前。
4.查找文件内容
在命令模式中,按/键后可以输入指定的字符串,从当前光标处开始向后进行查找(按? 键则向前查找)。完成查找后可以按n 、N 键在不同的查找结果中进行选择。例如,输入“/yum”, 按 Enter 键后将查找出文件中的“yum”字符串并高亮显示,光标自动移动至第一个查找结果处,按 n 键可以移动到下一个查找结果。
5. 撤销编辑及保存和退出
在对文件内容进行编辑时,有时候需要对一些失误的编辑操作进行撤销,这时可以使用按键命令u、U键。其中,u键命令用于取消最近一次的操作,并恢复操作结果,可以多次重复按u 键恢复已进行的多步操作;U 键命令用于取消对当前行所做的所有编辑。当需要保存当前的文件内容并退出vi编辑器时,可以使用按键命令ZZ。