Linux

发布于:2025-02-11 ⋅ 阅读:(85) ⋅ 点赞:(0)

(linux七次实验参考文档报告、期末理论题题库、大题总结已上传至资源,可根据需要自行下载查看)

一、文件和目录

1、cd命令:用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径

cd /home:进入 ‘/ home’ 目录

cd … :返回上一级目录

cd …/… :返回上两级目录

cd :进入个人的主目录

cd ~user1:进入个人的主目录

cd - :返回上次所在的目录

2、pwd 命令:用于显示当前工作目录的绝对路径。它的语法非常简单,只需在终端中输入 pwd 即可。

3、ls命令:查看文件与目录的命令,list之意

ls:查看目录中的文件

ls -l:显示文件和目录的详细资料

ls -a:列出全部文件,包含隐藏文件

ls -R:连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来

ls [0-9] :显示包含数字的文件名和目录名

4、cp命令:用于复制文件,copy之意,它还可以把多个文件一次性地复制到一个目录下

-a :将文件的特性一起复制

-p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份

-i :若目标文件已经存在时,在覆盖时会先询问操作的进行

-r :递归持续复制,用于目录的复制行为

-u :目标文件与源文件有差异时才会复制

5、mv命令:用于移动文件、目录或更名,move之意

-f :force强制的意思,如果目标文件已经存在,不会询问而直接覆盖

-i :若目标文件已经存在,就会询问是否覆盖

-u :若目标文件已经存在,且比目标文件新,才会更新

6、rm 命令:用于删除文件或目录,remove之意

-f :就是force的意思,忽略不存在的文件,不会出现警告消息

-i :互动模式,在删除前会询问用户是否操作

-r :递归删除,最常用于目录删除,它是一个非常危险的参数

二、查看文件内容

7、cat命令:用于查看文本文件的内容,后接要查看的文件名,通常可用管道与more和less一起使用

cat file1:从第一个字节开始正向查看文件的内容

tac file1:从最后一行开始反向查看一个文件的内容

cat -n file1:标示文件的行数

more file1:查看一个长文件的内容

head -n 2 file1:查看一个文件的前两行

tail -n 2 file1:查看一个文件的最后两行

tail -n +1000 file1:从1000行开始显示,显示1000行以后的

cat filename | head -n 3000 | tail -n +1000 显示1000行到3000行

cat filename | tail -n +3000 | head -n 1000 从第3000行开始,显示1000(即显示3000~3999行)

8、tar命令

-c :新建打包文件

-t :查看打包文件的内容含有哪些文件名

-x :解打包或解压缩的功能,可以搭配-C(大写)指定解压的目录,注意-c,-t,-x不能同时出现在同一条命令中

-j :通过bzip2的支持进行压缩/解压缩

-z :通过gzip的支持进行压缩/解压缩

-v :在压缩/解压缩过程中,将正在处理的文件名显示出来

-f filename :filename为要处理的文件

-C dir :指定压缩/解压缩的目录dir

压缩:tar -jcv -f filename.tar.bz2 要被处理的文件或目录名称

查询:tar -jtv -f filename.tar.bz2

解压:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录

tar 打包和压缩

tar -cvf xxx.tar xxx.xxx #将文件打成一个tar包,不压缩

tar -zcvf xxx.tar.gz xxx #打包成tar.gz格式压缩包

tar -jcvf xxx.tar.bz2 xxx #打包成tar.bz2格式压缩包

tar 解压

tar zxvf xxx.tar.gz #解压tar.gz格式压缩包

tar jxvf xxx.tar.bz2 #解压tar.bz2格式的压缩包

tar xvf xxx.tar.[gz/bz2] #两种解压的便捷写法

参数

-z:通过 gzip 指令处理文件

-j:通过 bzip2 指令处理文件

-c:创建归档文件,也就是打包

-x:从归档文件中还原文件,也就是解压

-v:显示操作过程

-f:指定压缩文件

zip 压缩和解压

zip -q -r xxx.zip xxx # 压缩成zip格式

unzip xxx.zip # 解压zip格式的压缩包

参数

-q:不显示指令执行过程

-r:递归处理

三、其他

9、touch指令:可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件: touch 1.txt 2.txt

-a 或–time=atime或–time=access或–time=use只更改存取时间。

-c 或–no-create 不建立任何文档。

-d 使用指定的日期时间,而非现在的时间。

-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。

-m 或–time=mtime或–time=modify 只更改变动时间。

-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。

-t 使用指定的日期时间,而非现在的时间。

10、mkdir指令:在当前目录下创建一个名为 “dir_name”的目录

-p /user1/user2 递归创建目录

四、总结

i通常表示会询问是否执行该操作;

u通常表示与原先文件不一致时才会执行该操作

r通常是递归执行该操作

五、重点理论题(对应的题号就是每一章的课后题题号)

第 1 章 Linux 概述

5.什么是GNU软件?什么是GPL和LGPL?

GUN 项目主要由自由软件基金资助的一个项目,目标是开发一个自由的、UNIX 类型的操作系统,称为GNU系统。GNU是“GNU’s Not UNIX”的首字母的递归缩写,目前使用Linux内核的各种GNU操作系统应用非常广泛。所有的GNU软件和派生工作均遵循GNU通用公共许可证,即 GPL。GPL 和软件是否免费无关,它主要目标是保证软件对所有的用户来说是自由的。GPL通过如下途径实现这一目标:

l 它要求软件以源代码的形式发布,并规定任何用户能够以源代码的形式将软件复制或发布给别的用户。

l 它提醒每个用户,对于该软件不提供任何形式的担保。

l 如果用户的软件使用了受 GPL 保护的任何软件的一部分,那么该软件就继承了 GPL软件,并因此而成为 GPL 软件,也就是说必须随应用程序一起发布源代码。

l GPL 并不排斥对自由软件进行商业性质的包装和发行,也不限制在自由软件的基础上打包发行其他非自由软件。

l 遵照 GPL 的软件并不是可以任意传播的,这些软件通常都有正式的版权,GPL 在发布软件或者复制软件时声明限制条件。但是,从用户的角度考虑,这些根本不能算是限制条件,相反用户只会从中受益,因为用户可以确保获得源代码。

l LGPL 允许用户在自己的应用程序中使用程序库,即使不公开自己的源代码。但是,要求用户必须能够获得在应用程序中使用的程序库的源代码,并且允许用户对这些程序库进行修改。

l 遵循 LGPL 的一种方法是,随应用程序一起发布目标代码以及可以将这些目标程序和受LGPL 保护的程序库链接起来的 makefile 文件。

l 遵循 LGPL 的另一种比较好的方法是使用动态链接

6.什么是 Linux 的内核版本和发行版本?

内核版本指的是在 Linux 的创始人 Linus 领导下的开发小组开发出的系统内核版本号,Linux 内核的版本号主要由三部分构成:主版本号、次版本号、次次版本号。主版本号表示系统内核有大的改动,次版本号表示系统内核有小的改动,开始支持一些新的特性,一般表

示系统内核对新的硬件支持进行了改进。如果更改之后还处于测试阶段,那么次版本号为奇数,如果已经过了测试阶段,改动是成功的,那么次版本号是偶数。次次版本号表示系统有一点儿改动,对内核影响不大。

一些组织或公司将 Linux 内核与应用软件和文档包装起来,并提供安装界面、系统配置与管理工具,这样就构成了一种发行版本。发行版本的版本号随发行者的不同而不同,与系统内核的版本号是相互独立的。

7. 你知道哪些主要的 Linux 发行版本?

Red Hat Linux, Red Flag Linux, Blue Point , TurboLinux, Suse Linux, Debian GNU/Linux, Mandrake Linux 等。

8. 什么是内核,它的作用是什么?

内核是系统的心脏,是运行程序和管理磁盘、打印机等硬件设备的核心程序。它的作用是管理 CPU、内存和外设。

9. 什么是 shell,shell 的作用是什么?

shell 是系统的用户界面,它实际上是一个命令解释器,它解释由用户输入的命令并把它们送到内核,把执行的结果显示给用户。不仅如此,shell 有自己的编程语言,允许用户编写由 shell 命令组成的程序。

15. swap 交换分区的作用是什么?

它实际上是用硬盘实现虚拟内存,即当系统内存使用率比较高的时候,内核会自动使用swap 分区来模拟内存。

第 2 章 shell 及常用命令

1.判断下列命题是否正确

1)Linux 的文件名与命令不区分大小写。(× )。

2)KaTeX parse error: Undefined control sequence: \* at position 5: ls *\̲*̲和ls ""的显示结果完全一致。(×)

3)rm 和 rmdir 的作用一样,都是删除整个目录。(×)

4)Linux 文件名的命名规则必须遵守 8.3 的格式。(×)

2.什么是 Linux 终端?Linux 终端又称为什么?

Linux 终端也称为虚拟控制台,是 Linux 从 UNIX 继承来的标准特性。显示器和键盘合称终端,因为它们可以对系统进行控制,所以又称为控制台,一台计算机的输入输出设备就是一个物理的控制台。如果在一台计算机上用软件的方法实现了多个互不干扰独立工作的控

制台界面,就是实现了多个虚拟控制台。Linux 终端的工作方式是字符命令行方式,用户通过键盘输入命令进行操作,可以通过 Linux 终端对系统进行控制。

4.什么是 shell?shell 在用户与操作系统之间的作用是什么?

shell 是一个命令解释器,它可以用来启动、挂起、停止程序,还允许用户编写由 shell命令组成的程序。shell 是系统的用户界面,它提供了用户与内核进行交互的一种接口。它接收用户输入的命令并把它送入内核执行,把执行结果显示给用户。

6.什么是文件系统?什么是文件?

在多数操作系统中都有文件的概念。文件是 Linux 用来存储信息的基本结构,它是被命名(称为文件名)的存储在某种介质(如磁盘、光盘和磁带等)上的一组信息的集合。 Linux系统中有三种基本的文件类型:普通文件、目录文件和设备文件。

在计算机系统中存有大量的文件,如何有效的组织与管理它们,并为用户提供一个使用方便的接口是文件系统的一大任务。Linux 系统通过目录将系统中所有的文件分级、分层组织在一起,形成了 Linux 文件系统的树型层次结构。以根目录“/”为起点,所有其他的目录都由根目录派生而来。

8.Linux 系统的目录/usr、/home、/bin、/dev/、/var、/etc/中主要存放什么文件?

/usr 存放用户安装的软件,用户安装的软件一般位于此目录;/home 存放系统用户自身的数据;/bin 存放 shell 命令;/dev 存放系统设备的信息;/var 主要存放系统可变信息的内容,如日志、邮件、打印队列等;/etc 存放系统可执行文件。

22.下面是执行“ls –l software”命令得到的信息,通过联机帮助,解释这些信息:

第 1 个域表示文件的访问权限;

第 2 个域表示硬链接的个数

第 3 个域表示文件的所有者

第 4 个域表示文件所属的群组

第 5 个域表示文件大小

第 6 个域表示文件最近一次修改的时间

最后一个域表示软件名称。

第 3 章 vi 编辑器的使用

1. vi 有几种工作模式,各工作模式之间如何进行转化?

vi 有三种基本工作模式,分别是:命令模式(command mode)、插入模式(insert mode)和底行模式(last line mode)三种模式之间的转换如下图。

<:>键

文本插入命令

自动返回

shell 提示符

命令模式

插入模式

末行模式

启动 vi 退出 vi

第 4 章 X Window 系统的使用

7. 比较 X Window 系统与 Microsoft Windows 系统之间的异同。

X Window 与微软公司的 Windows 图形界面不同, X Window 不是系统内核的必备部分,而是内核之上的一个应用,是一个用户与系统交互的界面。用户可以根据个人爱好,像选择中意的媒体播放软件一样选择习惯的界面系统。而且,X Window 具有如下特点:

l 良好的网络支持:X Window 采用了 C/S 网络结构,X Client 和 X Server 可以通过网络来通信,而且有良好的网络透明性。这样,复杂的图形桌面可以显示在维护良好、功能强大、易于管理的服务器上,用起来非常方便。

l 个性化的窗口界面:X Window 并未对窗口界面作统一的规范,程序员可以根据需求自行设计,其中最有名的就是后面将要介绍的 GNOME 与 KDE。

l 不内嵌于操作系统:X Window 只定义了一个标准,而不属于某个操作系统,因此可在不同的操作系统上运行相同的 X Window 软件。

8. X Window 系统由哪些部分组成,每部分的作用是什么?

整个 X Window 由三个部分组成:

l X Server:控制输入、输出设备并维护相关资源的程序,它接收输入设备的信息,并将其传给 X Client,而将 X Client 传来的信息输出到屏幕上。不同的显卡需要选择不同的 X Server,在配置 X Window 时最主要的工作就是配置 X Server。

l X Client:应用程序的核心部分,它与硬件无关,每个应用程序就是一个 X Client。X Client 可以是终端仿真器(Xterm)或图形界面程序,它不直接对显示器绘制或者操作图形,而是与 X Server 通信,由 X Server 控制显示。

l X protocol:X Client 与 X Server 之间的通信协议。X 协议支持网络,因此 X Client和 X Server 既可以在同一台计算机上,也可以运行在不同的机器上。X 支持的网络协议有 TCP/IP、DECnet 等。

第 5 章 Linux 系统的常用软件

1.套件及功能如下:

Writer:文档处理;

Calc:电子表格编辑;

Impress:演示文稿、幻灯片编辑;

Base:数据库功能;

Draw:图形、图片编辑。

第 7 章 网络基本配置

8. 如何判断本机网络的连通性能?

可以使用 Ping 命令或者 traceroute 命令检测网络的连通性。

步骤 1:测试本机网络操作系统是否工作正常

命令:ping 127.0.0.1 或 ping localhost

步骤 2:测试本机网络接口,即本机的 IP 地址

ping 192.168.14.11

如果返回正常信息,则表示本机网卡正常。

步骤 3:测试本地局域网中网关或其它主机

ping 192.168.14.254 网关

ping 192.168.14.15 同一个网络的其它主机

步骤 4:测试远程网络中的网关或其它主机

ping 192.168.214.254 测试与远程局域网网关的连通性

ping 192.168.214.45 与远程主机的连通性

步骤 5:测试 DNS 服务器

ping abc.def.com 使用域名访问其它主机

需要注意的是:如果主机安装了防火墙等安全工具,可能会阻止外部主机对系统使用ping 命令。所以,以上测试过程中 ping 其它主机时,可能返回错误信息“Destination host unreachable”。这可能是目标主机安装了防火墙的原因。

第 9 章 系统管理与监控

1. 什么是用户账号?Linux 系统的账号是如何分类?

Linux 系统是多用户的网络操作系统,用户在使用系统时,必须标明自己的身份,这就是用户账号,为了证明自己的身份,每个账号还需要一个口令。

Linux 系统的账号有用户账号和组账号两类:

用户账号:通常一个操作者拥有一个用户账号,每个用户账号有唯一的识别号 UID(User ID)和自己所属组的识别号 GID(Group ID)。

组账号:是一组用户账号的集合。通过使用组账号,可以设置使一组用户对文件具有相同的权限。管理员在以组为单位对资源的访问权限进行配置时,可以节省日常维护时间。

10. 什么是进程,进程与程序有何区别?

Linux 系统上所有运行的东西都可以称之为一个进程。每个用户任务、每个系统管理任务,都可以称之为进程。进程是一个程序的运行。进程与程序是有区别的,进程不是程序,虽然它由程序产生。程序只是一个静态的指令集合,不占系统的运行资源;而进程是一个随时都可能发生变化的、动态的、使用系统运行资源的程序。一个程序可以

启动多个进程。

11. 分析交互式进程与守护进程的区别。

l 交互进程——由 shell 启动的进程,用户发布一个命令后系统执行,执行完后显示结果,等待用户再次输入新的命令;

l 守护进程——在后台持续运行的进程,不接受用户从控制台发布的命令,按照固定的方式运行。

12. 分析前台进程与后台进程的区别。

所谓前台,是指一个进程控制着标准输入和输出。在程序执行时,shell 暂时挂起,程序执行完毕后回到 shell。前台进程运行时,在同一个控制台上用户不能再执行其他的程序。

所谓后台进程,是指一个程序不从标准输入接受输入,一般也不将结果输出到标准输出上。一些运行时间较长、运行之后不需要用户干预的程序适合运行在后台。

第 10 章 Linux 系统的安全管理

11. 什么是 SELinux?它的主要作用是什么?

SELinux 的全称是 Security-Enhanced Linux,即安全增强的 Linux。它在 Linux 内核中包含必要的访问控制,在传统的强制访问控制的基础上加入了灵活性支持,同时引入了基于角色的访问控制中的角色等概念,来克服传统强制访问控制的局限。受 SELinux 保

护的程序只允许访问它们正确工作所需的文件系统部分,也就是说如果程序有意或无意地访问或修改它的功能所不需要的文件或者不在程序所控制的目录中的文件,则访问会被拒绝,动作会被记录到日志中。

第 11 章 shell 程序设计

6.如果在函数内部需要使用传递给函数的参数,一般用$0、 1 、 . . . . . . 、 1、......、 1......n,以及KaTeX parse error: Expected 'EOF', got '#' at position 1: #̲、*、 $@ 。这些特殊变量。$0 为执行脚本的函数名, 1 是传递给函数的第 1 个参数,依次类推, 1 是传递给函数的第 1 个参数,依次类推, 1是传递给函数的第1个参数,依次类推,n 为传递给函数的第 n 个参数; $#为传递给函数的参数个数; ∗ 和 *和 @为传递给函数的所有参数,两者的区别在于 ∗ 把所有参数作为一个整体,而 *把所有参数作为一个整体,而 把所有参数作为一个整体,而@把所有参数看作拥有多个参数的集合,可以单独访问每个参数。

8.有 if、case、for、while、until 等。
1、编写 Shell 脚本,输入一个数字 N,使用 until 语句,计算 1~N 的和。
#!/bin/bash


网站公告

今日签到

点亮在社区的每一天
去签到