Linux期末复习简答题

本文概述了GCC编译器的四个步骤:预处理、编译、汇编和链接,详细介绍了每个阶段的作用。此外,还讲解了vi编辑器的三种工作模式及其功能,以及工作目录和用户主目录的概念。接着,列举了cat、more和less命令的用法,展示了文件压缩和备份的基本操作。讨论了Linux文件类型,并阐述了shell脚本的编辑和执行方式。kill()函数的功能和参数pid的含义也在文中提及,对比了程序和进程的区别。最后,简要说明了软链接和硬链接的差异,并概述了信号处理和使用消息队列进行进程间通信的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.简述GCC编译器的工作流程,并说明每步执行的内容。
GCC的编译过程分为四个步骤,分别是预处理,编译,汇编和链接。预处理阶段主要处理源代码中以”#“开头的预编译指令和一些注释信息;编译阶段GCC会对经过预处理的文件进行语法、词法和语义分析,确定代码实际要做的工作,若检查无误,则生成相应的编码代码文件;汇编阶段将编译后生成的汇编代码转换为机器可以执行的命令;链接的过程是组装个个目标文件的过程,在这个

2.vi有几种工作模式?各模式可实现什么功能?
vi有三种工作模式,分别是:命令模式,插入模式和底行模式
命令模式可执行光标移动,删除,复制,粘贴等操作
插入模式可实现文本编辑操作;
底行模式可实现退出、查找等功能

3.什么是工作目录、什么是用户主目录 ?

4.举例说明cat、more和less命令的用法。
cat的功能为将文件中的内容打印到输出设备
cat 文件名
more命令用于分页显示文件内容
more 【文件名】

5.举例说明怎样对文件进行压缩和备份?

6.Linux下主要有哪些类型文件?

7.如何编辑一个shell脚本、shell脚本的执行方式有哪些?
shell执行方式有两种,一种是将脚本本身作为一个可执行文件,若想执行该脚本程序,需要确保该文件可执行。第二种方法是将脚本文件作为一个参数,通过Shell解释器对其进行解析,

8 简述kill()函数的功能,并对其参数pid进行详细说明。
pid>0,则发送信号sig给进程号为pid的进程
pid=0,则发送信号sig给当前进程所属组的所有进程
pid=-1,则发送信号sig给除1号进程与当前进程的所有进程
pid<-1,则发送信号sig给属于进程组-pid的所有进程

9.简单说明程序和进程的区别。
程序是”死“的,进程是”活“的,程序是指编译好的二进制文件,它存放在磁盘上,不占用系统资源,是具体的;而进程存在与内存中,占用系统资源,是抽象的。当一次程序执行结束之后,进程随之消失,进程所用的资源所系统回收。

10.简单说明软链接文件和硬链接文件的区别。
创建链接文件的命令ln,该命令默认创建硬链接文件,若与选项-n搭配使用,则会创建软连接文件。
软连接文件是一个新文件,系统会为软链接文件分配inode;
软链接文件中存储的内容为其所链接对象的路径。硬链接文件与其所链接的文件公用inode,创建硬链接文件时,该文件的文件名作为一条记录添加到其路径名中目录的dentry中,同时其链接对象的硬链接数会加1.

11.简单说明Linux系统中信号的处理方式。

12.简述使用消息队列实现进程间通信的步骤。
(1)创建消息队列
(2)发送消息到消息队列
(3)从消息队列中读取数据
(4)删除消息队列

一. 填空题: 1. 在Linux系统中,以 文件 方式访问设备 。 2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统。 3. Linux文件系统中每个文件用 i节点 来标识。 .... 82. 增加一个用户的命令是:adduser 或useradd 。 83 进行字符串查找,使用grep命令。 84. 使用 * 每次匹配若干个字符。 85. /sbin 目录用来存放系统管理员使用的管理程序。 二.单项选择题: 1. 下面的网络协议中,面向连接的的协议是: A 。 A 传输控制协议 B 用户数据报协议 C 网际协议 D 网际控制报文协议 2. 在/etc/fstab文件中指定的文件系统加载参数中, D 参数一般用于CD-ROM等移动设备。 ... 113.不是shell具有的功能和特点的是 C 。 A 管道 B 输入输出重定向 C 执行后台进程 D 处理程序命令 114.下列对shell变量FRUIT操作,正确的是: C 。 A 为变量赋值:$FRUIT=apple B 显示变量的值:fruit=apple C 显示变量的值:echo $FRUIT D 判断变量是否有值:[ -f “$FRUIT” ] 三.简答题: 1.简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程。 参考答案: Linux通过i节点表将文件的逻辑结构和物理结构进行转换。 i节点是一个64字节长的表,表中包含了文件的相关信息,其中有文件的大小、文件所有者、文件的存取许可方式以及文件的类型等重要信息。在i节点表中最重要的内容是磁盘地址表。在磁盘地址表中有13个块号,文件将以块号在磁盘地址表中出现的顺序依次读取相应的块。Linux文件系统通过把i节点和文件名进行连接,当需要读取该文件时,文件系统在当前目录表中查找该文件名对应的项,由此得到该文件相........ root@xxx:#crontab prgx;在每日早晨8:00之前开机后即可自动启动crontab。 6.设计一个shell程序,在每月第一天备份并压缩/etc目录的所有内容,存放在/root/bak目录里,且文件名为如下形式yymmdd_etc,yy为年,mm为月,dd为日。Shell程序fileback存放在/usr/bin目录下。 参考答案: (1)编写shell程序fileback: #!/bin/sh DIRNAME=`ls /root | grep bak` if [ -z "$DIRNAME" ] ; then mkdir /root/bak cd /root/bak fi YY=`date +%y` MM=`date +%m` DD=`date +%d` BACKETC=$YY$MM$DD_etc.tar.gz tar zcvf $BACKETC /etc echo "fileback finished!" (2)编写任务定时器: echo "0 0 1 * * /bin/sh /usr/bin/fileback" >; /root/etcbakcron crontab /root/etcbakcron 或使用crontab -e 命令添加定时任务: 0 1 * * * /bin/sh /usr/bin/fileback 7.有一普通用户想在每周日凌晨零点零分定期备份/user/backup到/tmp目录下,该用户应如何做? 参考答案:(1)第一种方法: 用户应使用crontab –e 命令创建crontab文件。格式如下: 0 0 * * sun cp –r /user/backup /tmp (2)第二种方法: 用户先在自己目录下新建文件file,文件内容如下: 0 * * sun cp –r /user/backup /tmp 然后执行 crontab file 使生效。 8.设计一个Shell程序,在/userdata目录下建立50个目录,即user1~user50,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。 参考答案: 建立程序 Pro16如下: #!/bin/sh i=1 while [ i -le 50 ] do if [ -d /userdata ];then mkdir -p /userdata/user$i chmod 754 /userdata/user$i echo "user$i" let "i = i + 1" (或i=$(($i+1)) else mkdir /userdata mkdir -p /userdata/user$i chmod 754 /userdata/user$i echo "user$i" let "i = i + 1" (或i=$(($i+1)) fi done
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

向上Claire

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值