--- title: "04-linux" created: 2026-01-13 tags: - 博客 --- # linux ## 题型 选择20道 20 填空10道 30 判断10道 40 简答4道 60 综合分析5道 100 ## 选填判(40 50选40 直接全背) 1——10章选择题 ### 基础理论 1、Linux最早是由计算机爱好者是谁? Linux Torvalds ![[image-e4e2ff96.png]] 2、文件类型 ![[image-e9706792.png]] 3、命令格式 ![[image-f515bab5.png]] 4、出现两次必考 ![[image-6dbbd98f.png]] 路径问题: 5、绝对路径和相对路径怎么表示? 绝对路径是从根目录(/)开始的完整路径,以/开头后面跟着目录名和文件名。 相对路径是相对于当前工作目录的路径,直接使用文件名或目录名,如果要访问当前目录的子目录中的文件或目录,以子目录名开头,后面跟着/和文件名或目录名。 6、 ![[image-a6f6fd9e.png]] **B**、**C** 和 **D** 都包含空格或者不符合标准路径格式,路径中的空格通常需要使用引号或转义字符 7、根目录下的目录一般有哪些?它们的作用是什么? /bin:存放基本的用户命令,是二进制文件的缩写。 /boot:存放系统启动相关文件。 /dev:设备文件的目录 /etc:存放系统的配置文件 /home:用户的主目录所在地 /lib:存放系统库文件 /media:用于挂载可移动媒体设备 /mnt:临时挂载目录 /opt:用于存放第三方软件 /proc:虚拟文件系统目录 /root:超级用户的主目录 /sbin:存放系统管理命令的二进制文件 /sys:虚拟文件系统目录 /tmp:临时文件目录 /usr:包含大量的用户程序、库文件、文档 /var:用于存放系统中经常变化的数据 ![[image-77aeae91.png]] ### 运行级 多数Linux发行版本中的运行级有哪些?分别代表什么功能? 运行级0:系统停机状态(关机)。 运行级1:单用户模式。 运行级2:多用户模式,没有NFS。 运行级3:完全多用户模式。 运行级4:一般是用户自定义的运行级别,系统默认没有定义这个级别的具体功能。 运行级5:多用户,图形化系统需要安装桌面环境。 运行级6:系统重启状态。运行级别emergency:紧急Shell ![[image-0f6a7e32.png]] 必考 ![[image-7c6f7f60.png]] ![[image-0ae53ae1.png]] ### 内核版本 显示linux内核版本号的命令是 uname -r ![[image-10ec2de1.png]] linux内核版本5.8.20表示的含义 主版本号为5 次版本号为8 修订号为20(第20次修订) ![[image-a5636243.png]] ### 基础命令: Mkdir、touch、rmdir、link、 cp、rm 、mv命令的作用,且要会使用。加不同选项的作用。 mkdir(创建目录) 基本用法:mkdir [目录名]。常用选项及作用: -p:递归创建目录。 touch(创建空文件或更新文件时间戳) 基本用法:touch [文件名]。 常用选项及作用: -a:只更新文件的访问时间(atime)。 -m:只更新文件的修改时间(mtime)。 -c:如果文件不存在,不创建文件,也不报错。 ![[image-600fb22f.png]] rmdir(删除空目录) 基本用法:rmdir [目录名]。 注意事项:这个命令只能删除空目录。如果目录中有文件或子目录,会提示错误,不能删除。 link(创建链接) 硬链接基本用法:ln [源文件] [链接文件]。 常用选项及作用(针对软链接): -f:强制创建软链接,即使目标文件已经存在,也会覆盖它。 -s:创建软链接 ![[image-a0e979d4.png]] cp(复制文件和目录) 基本用法(复制文件):cp [源文件] [目标文件]。 基本用法(复制目录):cp -r [源目录] [目标目录]。 常用选项及作用: -i:交互式复制。在复制过程中,如果目标文件已经存在,会提示用户是否覆盖。 -p:在复制文件时,保留源文件的权限、所有者、时间戳等属性。 -v:显示复制的详细过程。 ![[image-6f29da95.png]] rm(删除文件和目录) 基本用法(删除文件):rm [文件名]。 基本用法(删除目录):rm -r [目录名]。 常用选项及作用: -f:强制删除,不会提示用户确认。例如,rm -f file.txt会直接删除文件,即使文件是只读的。 -i:交互式删除,在删除每个文件或目录之前会询问用户是否确认。例如,rm -i file.txt会询问 “remove file.txt?”。 `rm` 命令用于删除文件或目录。默认情况下,`rm` 命令在删除文件或目录时不会提示确认,它会直接执行删除操作。如果你希望在删除时进行确认,可以使用 `-i` 选项 ![[image-ed2cd928.png]] mv(移动文件和目录,也可用于重命名) 基本用法(移动文件):mv [源文件] [目标位置]。 基本用法(重命名文件):mv [原文件名] [新文件名]。 基本用法(重命名目录):mv [原目录名] [新目录名]。 常用选项及作用: -i:交互式移动或重命名,在操作过程中如果目标文件或目录已经存在,会询问用户是否确认。 -v:显示移动或重命名的详细过程。 ![[image-ded44a57.png]] - **在同一文件系统内**,`mv` 只是修改文件的路径,而不涉及数据的复制或删除,因此执行效率较高。 - **跨文件系统移动**时,`mv` 会先将文件复制到目标位置,然后删除源文件。这是因为文件系统是独立的,不能直接跨文件系统移动文件,因此必须进行复制操作,复制完成后再删除源文件。 ![[image-9a9d386a.png]] 这题有疑惑 ![[image-0c60c5a2.png]] ![[image-681558b9.png]] ### 压缩命令 Tar、gzip 、zip 、bzip2压缩和对应解压缩的命令使用,压缩后的文件格式是什么? Tar:压缩命令tar -cvf [压缩文件名.tar] 解压缩命令tar -xvf [压缩文件名.tar] 格式:.tar为后缀。 -c:创建一个新的归档文件。 -v:详细模式,显示处理过程中的文件信息。 -f:指定归档文件的名称。 tar -cvf a.txt b.tar (c参数必须 用于创建压缩包 f参数必须 用于指定压缩后的文件名 只有v是可选项 是否要列出压缩文件的详细列表) ![[image-b319930a.png]] Gzip:压缩命令gzip [要压缩的文件名] 解压缩命令gunzip [压缩文件名.gz] 格式:.gz为后缀。 -r 允许 gzip 递归地处理目录及其内容。 ![[image-3815ff41.png]] Zip:压缩命令zip -r [压缩文件名.zip] 解压缩命令unzip [压缩文件名.zip] 格式:.zip为后缀。 Bzip2:压缩命令bzip2 [要压缩的文件名] 解压缩命令bunzip2 [压缩文件名.bz2] 格式:.bz2为后缀。 ### 查看、筛选命令 Ls、cat、more、less、grep、mount、umount命令的作用,且要会使用。加不同选项的作用。 ls命令 作用:用于列出目录的内容,包括文件和子目录的名称、权限、所有者、大小、修改时间等信息。 基本用法: ls:列出当前目录下的非隐藏文件和目录名称。 常用选项: -l:以长格式显示文件和目录的详细信息。 -a:显示所有文件,包括隐藏文件(以.开头的文件)。 -h:与-l一起使用时,以人类可读的格式显示文件大小,如1K、23M等,而不是字节数。 -t:按文件修改时间排序,最新修改的文件排在前面。 -R:递归列出子目录中的内容。 这题有疑惑 题目歧义 ![[image-171b34e0.png]] cat命令 作用:用于连接文件并打印到标准输出设备(通常是屏幕)上,也可以用于创建简单的文件。 基本用法: cat file.txt:将file.txt的内容输出到屏幕上。 常用选项: -n:在输出内容时显示行号。 -b:和-n类似,但不对空白行编号。 >:用于将cat命令输出的内容重定向到一个新文件中,覆盖原文件内容。 >>:用于将cat命令输出的内容追加到一个文件中。 ![[image-02d78580.png]] more命令 作用:用于分页查看文件内容,当文件内容较多时,可以逐页查看。 基本用法: more file.txt:打开file.txt,并以分页形式显示内容。按空格键可以翻页,按q键可以退出查看。 常用选项: +n:从文件的第n行开始显示。 ![[image-d1123cf9.png]] less命令 作用:和more命令类似,也是用于查看文件内容,但功能更强大。它允许用户向前或向后滚动文件内容,并且在查看大文件时性能更好。 基本用法: less file.txt:打开file.txt进行查看。可以使用上下箭头键滚动内容,按q键退出,按/键可以进行搜索。 常用选项: -N:在每行前面显示行号。 -S:当一行内容过长时,将超出屏幕宽度的部分截断显示,而不是换行显示。 grep命令 作用:用于在文件中搜索指定的模式(可以是字符串、正则表达式等),并输出匹配的行。 基本用法: grep "pattern" file.txt:在file.txt中搜索包含pattern的行,并输出这些行。 常用选项: -i:忽略大小写进行搜索。 -v:输出不包含指定模式的行。 -n:在输出匹配行时显示行号。 -r:递归搜索目录及其子目录下的文件。 grep是找文件内容中查找 find是目录中找文件 find命令能够根据文件名、类型、大小、修改时间等条件进行查找,并支持多种操作(如删除、复制、修改权限等)。 常用选项: -name "pattern":查找匹配指定名称(或模式)的文件,支持通配符(如\*)。 -type:指定查找的文件类型: f:普通文件 d:目录 l:符号链接 -size:根据文件大小查找文件: +size:查找大于指定大小的文件 -size:查找小于指定大小的文件 size:查找等于指定大小的文件 -mtime:按文件修改时间查找: +n:查找修改时间在n天之前的文件 -n:查找修改时间在n天之内的文件 n:查找修改时间为n天的文件 -exec:对查找到的文件执行指定的命令 find /path/to/directory -name “filename” ![[image-e9f8a482.png]] mount命令 作用:用于挂载文件系统,将存储设备(如硬盘分区、USB 设备等)中的文件系统挂载到 Linux 系统的目录树中,以便可以访问其中的文件。 基本用法: mount /dev/sda1 /mnt:将设备/dev/sda1(假设是一个硬盘分区)挂载到/mnt目录下。 这样就可以通过访问/mnt目录来访问/dev/sda1中的文件系统。 常用选项: -t:指定文件系统类型。 -o:用于指定挂载选项,如ro(只读挂载)、rw(读写挂载)等。 ![[image-5b0a2658.png]] ![[image-404b4c64.png]] 考点一: mount命令用于挂载(安装) 考点二:hdal和hdc这类外接盘 属于设备文件 设备文件是在/dev文件夹里面的 考点三:命令格式 #mount 源目录 目标目录 考点四:源目录和目标目录都是根目录下的一个路径 所以前面要加/ (绝对路径) ![[image-956ceb00.png]] umount命令 作用:与mount命令相反,用于卸载已经挂载的文件系统。 基本用法: umount /mnt:卸载挂载在/mnt目录下的文件系统。在执行这个命令之前,要确保没有进程在访问/mnt目录下的文件,否则可能会出现设备忙的错误。 常用选项: -l(或--lazy):以惰性方式卸载。如果设备忙,会先尝试分离文件系统,之后在设备不忙时再真正卸载。例如,umount -l /mnt。 ![[image-e3387cef.png]] mount、umount 关键字:挂载 安装、 取消挂载 卸载 拓展: mdadm是Linux下的一款标准的软件RAID管理工具,它能够诊断、监控和收集详细的阵列信息。 -r:把RAID成员移出RAID设备。 -f:把RAID成员列为有问题,以便移除该成员(即标记磁盘为故障)。 ![[image-aaf68ef7.png]] 为什么不用umount:是因为这里是移除 而不是卸载 记忆关键字 移除 补充: tail 命令用于查看文件的 最后部分。 基本用法: `tail filename` 默认显示文件的 最后 10 行。 常用选项: -n:显示指定行数。 `tail -n 20 filename` 显示最后 20 行。 -f:实时查看文件内容更新。 `tail -f filename` 适用于查看日志文件,当文件新增内容时,会自动显示。 head 命令可以用来查看文件的 开头部分,与 tail 相对应。 基本用法: `head filename` 默认显示文件的 前 10 行。 常用选项: -n:显示指定的行数。 `head -n 20 filename` 显示文件的前 20 行。 -c:按字节数显示文件内容。 `head -c 50 filename` 显示文件的前 50 字节。 ![[image-abe8a331.png]] `tail` 命令用于显示文件的最后几行,通过 `-n` 选项可以指定要显示的行数。例如,`tail -n 5` 会显示文件的最后 5 行。 ### vim操作 一定要会使用vim编辑器:删除连续的几行、复制连续的几行到文件中特定位置、将某文件连续的几行标准重定向输入到某个文件中。 ![[image-d049e996.png]] ![[image-17387971.png]] ![[image-c641ef6c.png]] ![[image-be60c246.png]] ![[image-1060dbcd.png]] ![[image-77564cd6.png]] 1. **普通模式(Normal Mode)** - **作用**:这是 `vim` 启动时的默认模式,用于浏览文件、执行命令和进行文本操作(如删除、复制、粘贴、查找等)。 - **进入方式**:进入 `vim` 后,默认就是普通模式。你可以通过按 `Esc` 键随时回到普通模式。 - **常用操作**: - `h`、`j`、`k`、`l`:左右上下移动光标。 - `dd`:删除当前行。 - `yy`:复制当前行。 - `p`:粘贴。 - `/pattern`:在文件中查找 `pattern`。 - `u`:撤销。 - `Ctrl + r`:重做。 2. **插入模式(Insert Mode)** - **作用**:在插入模式下,你可以直接编辑文件内容,输入文本。 - **进入方式**: - 在普通模式下,按 `i` 进入插入模式(从光标位置开始插入)。 - 按 `I` 可以在当前行的行首进入插入模式。 - 按 `a` 可以在光标后插入文本。 - 按 `A` 可以在当前行的行尾插入文本。 - 按 `o` 可以在当前行下方插入新的一行并进入插入模式。 - 按 `O` 可以在当前行上方插入新的一行并进入插入模式。 - **退出方式**:按 `Esc` 键回到普通模式。 3. **命令行模式(Command-Line Mode)** - **作用**:命令行模式用于输入 `vim` 命令,比如保存文件、退出编辑器、查找替换等。 - **进入方式**:在普通模式下,按 `:` 进入命令行模式。 - **常用命令**: - `:w`:保存文件。 - `:q`:退出 `vim`(如果文件没有修改的话)。 - `:wq` 或 `:x`:保存并退出。 - `:q!`:强制退出,不保存文件。 - `:set`:设置 `vim` 的选项(如 `:set number` 显示行号)。 普通模式下 ng n是目标行 ![[image-bf34057f.png]] ![[image-77564cd6.png]] ![[image-44214b8b.png]] `: (命令行模式)` : 表示进入 命令行模式,告诉 vim 要执行一个命令。 `1,$ (范围)` 1,$ 指定了命令应用的范围,意思是: 1:表示从 第 1 行 开始。 $:表示到 文件的最后一行($ 是 vim 中的文件末尾的代指符号)。 因此,1,$ 表示 从文件的第一行到最后一行,即对整个文件的内容进行查找和替换。 `s (substitute 替换命令)` s 表示 替换 操作,是 vim 中的查找替换命令。 它的格式通常是: `:s/old_pattern/new_pattern/flags` old\_pattern 是要查找的模式(这里是 old)。 new\_pattern 是替换的内容(这里是 new)。 flags 是可选的标志,表示替换的方式。 `old (查找内容)` old 是你要查找的字符串或模式。命令会在文件中查找所有出现 old 的位置。 `new (替换内容)` new 是你希望用来替换 old 的字符串。 `g (标志)` g 表示 全局替换,即 替换行内所有匹配项。如果不加 g 标志,默认只会替换行中的第一个匹配项。加上 g 后,行中的所有匹配项都会被替换。 没有 g:每行只替换第一个匹配项。 有 g:每行替换所有匹配项。 ![[image-e14f2d70.png]] ![[image-e46f3f02.png]] ![[image-4fef88f7.png]] 小o在下面加一行 大O在上面加一行 ![[image-5f2d4600.png]] ![[image-d8292f96.png]] ![[image-88e15fd7.png]] ### 根分区内容 Linux的根分区系统类型可以是? 1、ext4:Linux 系统中常用的文件系统 2、xfs:一种高性能的日志文件系统 3、btrfs:是具有众多先进功能的文件系统 4、swap:主要用于虚拟内存 5、NTFS: Linux 也能支持 ![[image-21a38c56.png]] - **ext4** 是 Linux 常用的文件系统类型,适用于根分区(`/`)。 - **FAT16** 和 **FAT32** 是用于较老系统或可移动存储设备的文件系统类型,通常不用于 Linux 根分区。 - **NTFS** 是 Windows 操作系统常用的文件系统,Linux也能支持读取和写入 NTFS 格式的分区,但一般不用于根分区。 ### 权限问题 chown、chmod、usermod命令的作用,且要会使用。 加不同选项的作用。 1. chown 命令 作用:用来改变文件或目录的 所有者 和 用户组。 例子: chown user1 file.txt:把 file.txt 的所有者改成 user1。 chown user1:group1 file.txt:把 file.txt 的所有者改成 user1,用户组改成 group1。 2. chmod 命令 作用:用来改变文件或目录的 权限(谁能读、写、执行)。 例子: chmod 755 file.txt:让文件所有者有读、写、执行权限,其他用户只有读和执行权限。 chmod +x file.txt:给文件加上执行权限。 chmod -x file.txt:去掉文件的执行权限。 3. usermod 命令 作用:用来修改 用户账户 的信息。 例子: usermod -l newuser olduser:把用户 olduser 改名为 newuser。 usermod -g newgroup user1:把 user1 的主组改为 newgroup。 usermod -s /bin/bash user1:把 user1 的默认 shell 改为 bash。 ![[image-36420caf.png]] `RPM`(Red Hat Package Manager)是用于管理 Linux 系统中软件包的工具。尽管任何用户都可以使用 `rpm` 命令来查询已安装的软件包、查看软件包的信息,或者验证软件包的完整性,但对于安装、删除、更新软件包的操作,通常是需要 **管理员权限**(即 root 权限)的。 sudo rpm -i package.rpm # 安装软件包 sudo rpm -e package\_name # 删除软件包 sudo rpm -U package.rpm # 更新软件包 ![[image-249772f7.png]] ### /etc目录 ![[image-61592f51.png]] /etc/Passwd、/etc/shadow、/etc/group、/etc/hostname、/etc/hosts等文件的作用。 1. /etc/passwd 作用:存储所有用户的信息,如用户名、用户 ID、家目录、默认 shell 等。 例子:记录每个用户的基本信息。 ![[image-faad1728.png]] 2. /etc/shadow 作用:存储用户的加密密码以及密码相关的安全设置(如过期时间、锁定等)。 例子:存储用户密码和密码过期的设置。 3. /etc/group 作用:存储系统中所有组的信息,包括组名、组 ID 和组内成员。 例子:记录每个用户所属的用户组。 4. /etc/hostname 作用:存储系统的主机名(计算机的名称)。 例子:定义计算机在网络中的名字。 5. /etc/hosts 作用:将 IP 地址和主机名映射,帮助计算机在没有 DNS 的情况下解析主机名。 例子:定义本地的 IP 地址和对应的主机名(比如 127.0.0.1 -> localhost)。 ![[image-8ecb591b.png]] 其他: 包管理器 默认是yum ,也可以下载这个dnf作为包管理器 ![[image-0764ff77.png]] ### 激活或者停用网络接口使用的命令 ifconfig 命令 激活:ifconfig 网络接口名 up,开启接口使其能收发数据。 停用:ifconfig 网络接口名 down,停止接口收发数据。 ip 命令 激活:ip link set 网络接口名 up,操作内核链路层激活接口。 停用:ip link set 网络接口名 down,停止接口物理和链路层功能。 nmcli 命令(基于 NetworkManager) 激活:nmcli device connect 网络接口名,通过 NetworkManager 配置启动接口。 停用:nmcli device disconnect 网络接口名,通知 NetworkManager 停止接口连接。 必考 ![[image-4f255dd7.png]] ![[image-8314a3f8.png]] `ifconfig` 是传统的网络配置工具,能够启用或禁用网络接口,但现在已不推荐使用,现代 Linux 系统更倾向于使用 `ip` 或 `nmcli` 进行网络管理。 网络管理命令行工具命令、查看socket统计信息的命令用法 ifconfig:查看和配置网络接口。 ip:更强大的网络管理工具。 netstat:查看网络连接和统计信息。 ss:查看套接字统计信息,比 netstat 更高效。 ping:测试网络连通性。 必考 ![[image-d89a3277.png]] ### 数据库操作命令 ![[image-12f5a8fa.png]] - **A.** `top` `top` 是用来查看系统总体资源使用情况(如 CPU、内存、进程等)命令,虽然它可以用来查看 MySQL 进程的状态,但并不专门用于查看 MySQL 数据库的性能和运行状态。 - **B.** `mysqladmin status` 这是专门用来查看 MySQL 数据库服务器的状态和性能信息的命令。它会显示当前 MySQL 实例的运行状态,例如线程数、查询数、连接数等信息。 - **C.** `df -h` `df -h` 用来查看文件系统的磁盘使用情况,显示硬盘的剩余空间等信息,但与 MySQL 的运行状态无关。 - **D.** `iptables -L` `iptables -L` 用来列出防火墙规则,查看网络防火墙设置,与 MySQL 的运行状态无关。 ![[image-bf01f5fe.png]] - **A.** `mysqldump` `mysqldump` 是用来备份 MySQL 数据库的命令,可以将数据库导出为 SQL 文件。它不用于恢复数据库,而是用于创建备份。 - **B.** `mysqladmin` `mysqladmin` 是一个管理 MySQL 服务器的工具,通常用于执行管理操作(如重启服务器、检查状态、修改设置等)。它不用于恢复数据库。 - **C.** `source` `source` 命令在 MySQL 中用于执行 SQL 脚本文件。恢复数据库时,你可以使用 `source` 命令加载包含数据库备份的 SQL 文件,从而恢复数据库。 - `source /path/to/backup.sql;` - **D.** `GRANT` `GRANT` 命令用于授权用户的权限,与数据库恢复无关。 ``` ``` ## 简答(4 4选4) ### 简述Linux系统中用户的作用 1. 资源管理 文件和目录权限:每个用户有不同的访问权限,保护系统文件不被随意修改。 进程管理:每个用户的进程是独立的,避免互相影响,保证系统稳定。 2. 系统安全 权限划分:普通用户和特权用户(如 root)有不同的权限,保证系统安全。 安全审计:记录用户操作,便于追溯问题和确保系统安全。 3. 协作环境 共享资源:用户可以通过设置权限来共享文件或目录,便于团队协作。 个性化环境:每个用户可以设置自己的工作环境,满足不同需求。 ### 简述DNF相较于YUM的优势 1.性能 速度更快:DNF 采用更高效算法处理依赖关系,软件包安装和更新速度有所提升。 2.功能 更好的依赖处理:DNF 的依赖解析更智能,能有效解决软件包依赖冲突。 插件系统丰富:有更多插件用于扩展功能,如查询软件包来源等。 3.用户体验 命令简洁:命令语法简单易记,如安装软件包,DNF 的命令更直观。 历史记录完善:记录操作历史,方便用户查看和重复操作。 ### 简述如何创建一个LVM逻辑卷,并将其挂载到指定目录。 创建 LVM 逻辑卷并挂载到指定目录的简化步骤: 1. **创建物理卷** 将分区(如 `/dev/sdb1`)创建为物理卷: ``` pvcreate /dev/sdb1 ``` 2. **创建卷组** 将物理卷加入卷组(如 `vg0`): ``` vgcreate vg0 /dev/sdb1 ``` 3. **创建逻辑卷** 在卷组 `vg0` 中创建一个 10GB 大小的逻辑卷(如 `lv0`): ``` lvcreate -n lv0 -L 10G vg0 ``` 4. **格式化逻辑卷** 格式化逻辑卷为 `ext4` 文件系统: ``` mkfs.ext4 /dev/vg0/lv0 ``` 5. **挂载逻辑卷** 创建挂载目录并挂载逻辑卷: ``` mkdir /mnt/lv0 mount /dev/vg0/lv0 /mnt/lv0 ``` ### 列出五条使用systemctl命令管理MySQL服务的语句。 启动 MySQL 服务:sudo systemctl start mysqld 停止 MySQL 服务:sudo systemctl stop mysqld 重启 MySQL 服务:sudo systemctl restart mysqld 查看 MySQL 服务的状态:sudo systemctl status mysqld 使 MySQL 服务开机自启:sudo systemctl enable mysqld ## 综合分析(5 5选5) ### 基础命令: 1.按下列要求写出每一步骤的命令 (1)在主目录下创建两个目录/A/B、/A/C; `mkdir -p /A/B /A/C` (2)在B目录下创建一个名为hello.c的文件,在C目录下创建一个名为world.doc的文件; `touch /A/B/hello.c /A/B/world.doc` (3)使用tar命令将A目录及其所有内容归档为一个名为A.tar.gz的压缩包,将这个压缩包移动到/usr目录中。 `tar -czvf /usr/A.tar.gz /A` ### vim操作 将文件/etc/profile复制为/mnt/vv.txt,然后使用vim编辑器对文件/mnt/vv.txt进行以下操作。 (1)删除第2行整行 (2)删除第2-5行整行 (3)复制第1行内容到文件末尾 (4)将光标放在第一行,从光标向下查找“PATH”字符串。 (5)将所有“PATH”字符串替换为自己学号。 (6)将第5行到第10行的内容写入到/mnt/v.txt文件中。 2.首先将文件/A/B/world.doc复制为/mnt/ab.txt,使用vim编辑器或者nano编辑器对文件/mnt/ab.txt进行以下操作。利用VIM编辑器随意往ab.txt文件中输入含有m的20行数据。 `cp /A/B/world.doc /mnt/ab.txt` (1)删除第1-5行; `:1,5d` (2)复制第一行内容到文件末尾; `:1t$` (3)将文件中所有的m字符串替换为M; `:%s/m/M/g` (4)将第6行到第9行的内容写入/A/B/hello.c文件中。 `sed -n '6,9p' /mnt/ab.txt >> /A/B/hello.c` ### 配置DNS服务器 安装DNS服务器,并根据以下要求配置DNS服务器。 (1)定义视图,名称为“yourview”; (2)在视图yourview下建立jxfzxy.com主区域,区域文件名为“jxfzxy.com.zone” ``` 安装:#dnf install bind bind-chroot -y #vim /var/named/chroot/etc/named.conf view "yourview" { zone "jxfzxy.com" IN{ type master; file jxfzxy.com.zone; }; }; ``` ### 数据库 创建学生数据库,按以下要求写出每一步骤的命令 (1)创建学生数据库; ``` CREATE DATABASE student_db; ``` (2)创建学生信息表stu,学生信息表包括五个字段(学号、姓名、出生日期、性别); ```sql USE student_db; CREATE TABLE stu ( student_id VARCHAR(20) PRIMARY KEY, name VARCHAR(50), birth_date DATE, gender CHAR(1) ); ``` (3)向表stu插入两条记录。 ```sql INSERT INTO stu (student_id, name, birth_date, gender) VALUES ('2021001', '张三', '2000-01-01', 'M'); INSERT INTO stu (student_id, name, birth_date, gender) VALUES ('2021002', '李四', '2001-02-02', 'F'); ``` ### 架设一台DHCP服务器,并按照下面的要求进行配置。 (1)为子网192.168.198.0/24建立一个IP作用域,并将在192.168.198.20~192.168.198.100范围内的IP地址动态分配给客户机; (2)假设子网中的DNS服务器地址为192.168.198.2,IP路由器地址为192.168.198.1,所在的网域名为example.com,将这些参数指定给客户机使用; (3)为主机stu(网卡地址为2C-44-FD-31-A6-D3)保留192.168.198.150这个IP地址。 ``` #dnf install dhcp -y #vim /etc/dhcp/dhcpd.conf subnet 192.168.198.0 netmask 255.255.255.0{ range 192.168.198.20 192.168.198.100; option routers 192.168.198.1; option domain-name-servers 192.168.198.2; option domain-name "example.com"; } host stu{ hardware ethernet 2C-44-FD-31-A6-D3; fixed-address 192.168.198.150; } ```