目录
2.1Linux目录结构
Linux操作系统中的目录和文件数据被组织为一个树形目录结构,所有的分区、目录、文件等都具有一个相同的位置起点——根目录,如图2.1所示。Linux操作系统只有一个根目录,而Windows操作系统中每个分区都有一个根目录。
Linux操作系统和在定位文件或目录位置时,使用斜杠“/”进行分隔,区别于Windows操作系统中的反斜杠“\”。整个树形目录结构中,使用独立的一个“/”表示根目录,根目录时Linux操作文件系统的起点,其所在的分区称为根分区。在根目录下,Linux操作系统将默认建立一些特殊的子目录,分别具有不同的用途。其中常见的子目录及其作用如下:
- /boot: 此目录是系统内核存放的目录,同时也是系统启动时所需文件的存放目录,如vmlinuz和initrd.img.在安装Linux操作系统时,为boot目录创建一个分区,有利于对系统进行备份。
- /bin:bin是binary的缩写。这一目录存放了所有用户都可执行的且经常使用的命令,如cp、ls等。
- /dev:此目录保存了接口设备文件,如/dev/hda1、/dev/cdrom等。
- /etc:系统主要的配置文件几乎都放置到这个目录内,例如人员的账号密码文件。各种服务的起始文件等。
- /home:存放所有普通系统用户默认工作文件夹(即宿主目录、家目录),如用户账号“zhangsan”对应的宿主目录位于“/home/zhangsan”。如果服务器需要提供给大量的普通用户使用,建议将“/home”目录也划分为独立的分区,以方便用户数据的备份。
- /root:该目录是Linux操作系统管理员root的宿主目录,默认情况下只有root用户的宿主目录在根目录下而不是在“/home”目录下。
- /sbin:存放Linux操作系统中最基本的管理命令,一般管理员用户才有权执行。
- /usr:存放其他的用户应用程序,通常还被划分成很多子目录,用于存放不同类型的应用程序。
- /var:存放系统中经常需要变化的一些文件,如系统日志文件、用户邮箱目录等,在实际应用系统中,“/var”目录通常也被划分为独立的分区。
2.2查看及检索文件
在Linux操作系统中,绝大多数的配置文件是以普通文本的格式保存, 这些配置文件决定着系统及相关服务、程序的运行特性。
2.2.1查看文件内容
- cat命令——显示并连接(Concatenate)文件的内容
cat命令用于连接多个文件的内容,但在实际使用中更多地用于查看文件内容。cat命令是应用最为广泛的文件内容查看命令,使用该命令时,只需要把查看的文件路径作为参数即可
[root@localhost~]# cat /etc/ssh/sshd_config
- more和less命令——分页查看文件内容
more命令是较早出现的分页显示命令,表示文件内容还有更多的意思,less命令是比较晚出现的分页显示命令,提供了比早期more命令更多的一些扩展功能。两个命令的用法基本相同。
more命令查看超过一屏的文件内容,将进行分页显示。在阅读界面,可以按Enter键向下逐行进行滚动查看,按Space键可以向下翻一层,按b向上翻一屏,按q键退出并返回原来的命令环境。
[rootlocalhost~]# more /etc/ssh/sshd_config
less命令使用方法与more命令基本相似,但是比more更好的是,less命令结合管道符号“|”分屏查看执行命令时输出的信息时,既可以向下翻页,也可以向上翻页。而more命令只能向上翻页,不能向下翻页。
[root@localhost~]# less /etc/ssh/sshd_config
- head和tail命令——查看文件开头或末尾的部分内容
head和tail是一对作用相反的命令,前者用于显示文件开头的一部分内容,后者用于显示文件末尾的一部分内容。可以使用-n选项指定需要显示多少行的内容,若不指定行数,默认只显示十行。
[root@localhost~]# head -5 /etc/ssh/sshd_config
tail命令通常用于查看系统日志,以便观察网络访问、服务调试等相关信息。配合“-f”选项使用时,还可以跟踪文件尾部内容的动态更新,便于实时监控文件内容变化。
[root@localhost~]# tail -f /etc/ssh/sshd_config
2.2.2统计和检索文件内容
- wc命令——统计文件内容中的单词数量(Word Count)、行数等信息
wc命令用于统计文件内容中包含的行数、单词数、字节数等信息,使用文件名作为参数,可以同时统计多个文件 。较常用的选项如下:
- -l:统计文件内容中的行数。
- -w:统计文件内容中的单词个数。
- -c:统计文件内容中的字节数。
[root@localhost~]# wc -l /etc/passwd
[root@localhost~]# wc /etc/passwd
- grep命令——检索、过滤文件内容
grep命令用于在文件中查找并显示包含指定字符串的行,可以直接指定关键字符串作为查找条件,也可以使用复杂的条件表达式,例如“^word”表示以word开头,“^$”表示空行。
[root@localhost~]# grep [选项]... 查找条件 目标条件
grep命令的常用选项:
- -i:查找内容时忽略大小写。
- -v: 反转查找,即输出与查找条件不相符的行。
[root@localhost~]# grep "sftp" /etc/ssh/sshd_config [root@localhost~]# grep -v "^#" /etc/ssh/sshd_config
2.3备份与恢复文档
2.3.1使用压缩和解压缩工具
gzip和bzip2是Linux操作系统中使用最多的两个压缩工具,这两个命令都可以压缩指定的文件,或者将已经压缩过的文件进行解压。两者使用的压缩算法各不相同,但命令使用格式基本类似,bzip2比gzip的压缩效率高。
使用gzip制作的压缩文件默认的扩展名为“.gz”。制作压缩文件时,使用“-9”选项可以提高压缩的比率,单文件较大时会需要更多的时间。解压缩经gzip的文件时,只需要使用带“-d”的选项的gzip命令即可,或者直接使用gunzip命令。
压缩时命令
[root@localhost ~]# gzip anaconda-ks.cfg
解压缩命令
[root@localhost ~]# gunzip anaconda-ks.cfg
bzip2和bunzip2命令的用法与gzip、gunzip命令基本相同,使用bzip2制作的压缩文件默认的扩展名为“.bz2”。
压缩时命令
[root@localhost ~]# bzip2 anaconda-ks.cfg
解压缩命令
[root@localhost ~]# bunzip2 anaconda-ks.cfg
安装bzip2命令
[root@localhost ~]# yum -y install bzip2
2.3.2使用tar归档和释放工具
tar命令主要用于对目录和文件进行归档。在实际的备份工作中,通常子啊归档的同时也会将包文件进行压缩,以节省磁盘空间。使用tar命令时,选项前的“ - ”号可以省略。常用的选项包括:
- -c:创建.tar格式的包文件。
- -C:解压时指定释放的目标文件夹。
- -f:表示使用归档文件。
- -j:调用bzip2程序进行压缩或解压。
- -p:打包时保留文件及目录的权限。
- -P:打包时保留文件及目录的绝对路径。
- -t:列表查看包内的文件。
- -v:输出详细信息。
- -x:解开.tar格式的包文件。
- -z:调用gzip程序进行压缩或解压。
-
制作归档备份文件
制作归档及压缩包文件时,tar命令的基本格式如下:[root@localhost ~]# tar [选项]... 归档及压缩文件名 需要归档的源文件或目录
-
从归档文件中恢复数据
解压并释放归档压缩包文件时 ,tar命令的基本格斯如下:
[root@localhost ~]# tar [选项]... 归档及压缩文件名 [-C 目标目录]
2.4使用vi文本编辑器
配置文件是Linux操作系统的显著特征之一,其作用有点类似于Windows操作系统中的注册表,只不过注册表是 集中管理,而配置文件采用了分散的自由管理方式。
vi是一个功能强大的全屏幕文本编辑工具,一直以来都作为类UNIX操作系统的默认文本编辑器。vim是vi文本编辑器的增强版本,在vi编辑器的基础上扩展了很多功能。安装命令如下:
[root@localhost ~]# yum -y install vim
2.4.1vi编辑器的工作模式
vi编辑器是工作在字符终端环境下的全屏幕编辑器,因此编辑界面相对比较简单,没有为用户提供鼠标操作和菜单系统,而是通过按键命令实现相应的编辑和操作功能。在vi编辑器界面中还可以使用三种不同的工作模式,即命令模式、输入模式和末行模式,在不同的模式中能够对文件进行操作也不相同。
- 命令模式:启动vi编辑器后默认进入命令模式。该模式中主要完成光标移动、字符串查找,以及删除、辅助、粘贴文件内容相关等相关操作。
- 输入模式:该模式中主要的操作就是录入文件内容,可以对文本文件正文进行修改或添加新的内容。处于输入模式时,编辑器的最后一行会出现“--INSERT--”的状态提示信息。
- 末行模式:该模式中可以设置编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处于末行模式时编辑器的最后一行会出现冒号“:"提示符。
命令模式、输入模式和末行模式是编辑环境的三种状态,通过不同的按键操作可以在不同的模式间进行切换。例如,从令模式按:(冒号)键可以进入末行模式,按a、i、0等键可以进入输入模式;在输入模式、末行模式均可按 Esc 键返回命令模式,示如图 2.2所。
2.4.2命令模式中的基本操作
执行单独的“v"命令即可进入v编辑器的命令模式,还会显示相关版本信息,如图 2.3所示。但更常见的使用方法是指定要编辑的文件名作为参数,若该文件不存在,则根据该文件名称打开一个新的空文件。
模式切换
在命令模式中,按 a、i、0等键可以快速切换至输入模式,同时确定插入点的方式和位置,以便录入文件内容。需要返回命令模式时,按 ESc键即可。常见的几个模式切换键及其作用如下。
- a:在当前光标位置之后插入内容。
- A:在光标所在行的末尾(行尾)插入内容。
- i:在当前光标位置之前插入内容。
- l:在光标所在行的开头插入内容。
- o:在光标所在行的后面插入一个新行。
- O:在光标所在行的前面插入一个新行。
移动光标
- 光标方向的移动。直接按⬆、↓、←、→四个方向键完成相应的光标移动
- 翻页移动。
- 按 Page Down 键或 Ctr+F 组合键向下翻动一整页内容。
- 按 Page Up 键或 Ctr+B 组合键向上翻动一整页内容。
- 行内快速跳转。
- 按 Home 键或^键、数字 0键将光标快速跳转到本行的行首。
- 按 End 键或$键将光标快速跳转到本行的行尾。
- 行间快速跳转
- 使用按键命令 1G 或者 gg 可跳转到文件内容的第1行。
- 使用按键命令 G 可跳转到文件的最后一行。
- 使用按键命令#G 可跳转到文件中的第#行(其中“#”号用具体数字替换)。
复制、粘贴和删除
- 删除操作
- 按x键或 Delete 键删除光标处的单个字符。
- 使用按键命令 dd 删除当前光标所在行,使用#dd 的形式还可以删除从光标处开始的#行内容(其中“#”号用具体数字替换)。
- 使用按键命令 d^删除当前光标之前到行首的所有字符。
- 使用按键命令 d$删除当前光标处到行尾的所有字符。
- 复制操作。使用按键命令yy复制当前行整行的内容到剪贴板,使用#yy 的形式还可以复制从光标处开始的#行内容(其中“#”号用具体数字替换)。复制的内容需要粘贴后才能使用。
- 粘贴操作。在v编辑器中,前一次被删除或复制的内容将会保存到剪切板缓冲区中,按p键即可将缓冲区中的内容粘贴到光标位置处之后,按P键则会粘贴到光标位置处之前。
撤销编辑及保存退出
在对文件内容进行编辑时,有时候需要对一些失误的编辑操作进行撤销,这时可以使用按键命令 u、U 键。其中,u键命令用于取消最近一次的操作,并恢复操作结果,可以多次重复按u键恢复已进行的多步操作;U键命令用于取消对当前行所做的所有编辑。
2.4.3末行模式中的基本操作
在命令模式中按:键可以切换到末行模式,编辑器的最后一行中将显示":"提示符,用户可以在该提示符后输入特定的末行命令,完成如保存文件、退出编辑器、打开新文件、读取其他文件内容及字符串替换等丰富的功能操作。
- 保存文件及退出vi编辑器
:wq
- 打开新文件或读入其他文件内容
:e ~/initial-setup-ks.cfg :r /etc/filesystems
替换文件内容
:[替换范围] sub /旧的内容/新的内容[g]
- %:在整个文件内容中进行查找并替换。
- n,m:在指定行数范围内的文件内容中进行查找并替换。
:5,15 s /initdefauIVDEFAULT/g :% s /initdefault/bootdefault/g