Linux复习汇总

Linux复习汇总
Linux复习汇总

第一章概述

3、Linux系统由哪些部分组成?Linux内核

处于什么位置?

答:(1)符合POSIX标准的操作系统内核、

Shell和外围工具。(2)C语言编译器和其他

开发工具及函数库。(3)X Window

窗口系统。(4)各种应用软件,包括字处理软

件、图象处理软件等。

Linux内核是所有Linux 发布版本的核

心。

第二章内存寻址

2、在保护模式下,MMU如何把一个虚地

址转换为物理地址?

答:

分段机制把一个虚拟地址转换为线性地址;接着,分页机制把一个线性地址转换为物理地址。

5.为什么在设计两级页表的线性地址结构时,给页目录和页表各分配10位?如果不是这样,举例说明会产生什么样的结果?

答:所谓两级页表就是对页表再进行分页。第一级称为页目录,其中存放的是关于页表的信息。4MB的页表再次分页(4MB/4K)可以分为1K个页,同样对每个页的描述需要4个字节,于是可以算出页目录最多占用4KB个字节,正好是一个页,其示意图如2.9所示。页目录共有1K个表项,于是,线性地址的最高10位(即22位~ 31位)用来产生第一级的索引。两级表结构的第二级称为页表,每个页表也刚好存放在一个4K字节的页中,包含1K 个字节的表项。第二级页表由线性地址的中间10位(即21位~ 12位)进行索引,最低12位表示页内偏量。

举例:如果页目录占用31~24位,页表项占用23~12位,偏移地址占11~0位,则有2^8个页表项,一个页面有2^12(4k)个表项,每个表项大小为4字节,2^12的范围为4页面,而不是以一个页面为准。

6、深入理解图2.12,并结合图叙述线性地址到物理地址的转换。

答:第一步,用32位线性地址的最高10位第31~22位作为页目录项的索引,将它乘以4,

与CR3中的页目录的起始地址相加,获得相应目录项在内存的地址。

第二步,从这个地址开始读取32位页目录项,取出其高20位,再给低12位补0,形成的32位就是页表在内存的起始地址。

第三步,用32位线性地址中的第21~12位作为页表中页表项的索引,将它乘以4,与页表的起始地址相加,获得相应页表项在内存的地址。

第四步,从这个地址开始读取32位页表项,取出其高20位,再将线性地址的第11~0位放在低12位,形成最终32位页面物理地址。

第三章进程

1、什么是进程控制块?它包含哪些基本信息?

答:对进程进行全面描述的数据结构,Linux中把对进程的描述结构叫做task_struct:

struct task_struct {

}传统上这样的数据结构被叫做进程控制块PCB(process control blaock)

系统为了管理进程设置的一个专门的数据结构,用它来记录进程的外部特征,描述进程的运动变化过程。系统利用PCB来控制和管理进程,所以PCB是系统感知进程存在的唯一标志。进程与PCB是一一对应的。

包含的基本信息:

(1)状态信息-描述进程动态的变化。(2)链接信息-描述进程的父/子关系。(3)各种标识符-用简单数字对进程进行标识。(4)进程间通信信息-描述多个进程在同一任务上协作工作。

(5)时间和定时器信息-描述进程在生存周期内使用CPU时间的统计、计费等信息。(6)调度信息-描述进程优先级、调度策略等信息。(7)文件系统信息-对进程使用文件情况进行记录。(8)虚拟内存信息-描述每个进程拥有的地址空间。(9)处理器环境信息-描述进程的执行环境(处理器的寄存器及堆栈等)

2、Linux内核的状态有哪些?请画出状态转换图,查看最新源代码,以确认有哪些状态。答:就绪态(TASK_RUNNING);睡眠(或等待)态:浅度睡眠态(TASK_INTERRUPTIBLE),深度睡眠态(TASK_UNINTERRUPTIBLE);暂停状态(TASK_STOPPED);僵死状态(TASK_ZOMBIE)

3、Linux的进程控制块如何存放?为什么?假设ESP中存放的是栈顶指针,请用三句汇编语句描述如何获得current的PCB的地址。

答:当进程一进入内核态,CPU就自动设置进程的内核栈。这个栈位于内核的数据段上,为了节省空间,Linux把内核栈和一个紧挨近的PCB的小数据结构,thread_info放在一起,占用8kb的内存区。因为这样可以节省空间,内核很容易从ESP寄存器的值获得,当前在CPU上正在运行的thread_info结构的地址。

movl $0xfffe000, %eax

andl %esp, %ecx

movl %ecx, p

4、PCB的组织方式有哪几种?为什么要采取这些组织方式?

答:(1)进程链表(2)哈希表(3)就绪队列(4)等待队列

在一个系统中,通常可以拥有数十个、数百个乃至数千个进程,相应的就有这么多PCB。为了能有效的对它们加以管理,应该用适当的方式将这些PCB组织起来。

5、请编写内核模块,打印系统中各进程的名字以及PID,同时统计系统中进程的个数。答:

static int print_pid(void)

{ struct task_struct *task,*p;

struct list_head *pos;

int count = 0;

printk("Hello World enter begin:\n");

task = &init_task;

list_for_each(pos,struct

task_struct,tasks);

{ count++;

printk("%d->%s\n",p->pid,p->comm);

}

printk("the number of process

is:%d\n",count);

return 0;

}

7、什么是写时复制技术,这种技术在什么情况下最能发挥其优势?

答:父进程和子进程共享页面而不是复制页面。然而,只要页面被共享,它们就不能被修改。无论父进程和子进程何时试图写一个共享的页面,就产生一个错误,这时内核就把这个页复制到一个新的页面中并标记为可写。原来的页面仍然是写保护的:当其它进程试图写入时,内核检查写进程是否是这个页面的唯一属主;如果是,它把这个页面标记为对这个进程是可写的。采用这种技术,显然只有预测到将要修改的页才会被复制,而且必须被复制,不然的话,就会破坏父进程的程序执行。

9、init内核线程与init进程是一回事吗?它们有什么本质的区别?

答:(1)init()函数是内核代码的一部分,在内核态运行,是独立的可执行代码的一部分。

(2)init进程在Linux操作系统中是一个具有特殊意义的进程,它是由内核启动并运行的第一个用户进程,因此它不是运行在内核态,而是运行在用户态。它的代码不是内核本身的一部分,而是存放在硬盘上可执行文件的映象中,和其他用户进程没有什么两样。

10、用fork写一个简单的测试程序,从父进程和子进程中打印信息。信息应该包括父进程和子进程的PID。执行程序若干次,看两个信息是否以同样的次序打印。

答:

#include int main(void) { pid_t pid; pid = fork(); if(pid < 0) { printf("error"); return 0; } else if(pid == 0) {

printf("this is chile process with pid of %d\n",getpid());

}

else

{

printf("this is parent process with pid of %d\n",pid);

}

return 0;

}

第四章 内存管理

1、内核空间存放什么内容?如何把其中的一个虚地址转换成物理地址?

答:内核空间存放的是内核代码和数据。

2、什么是内核映像?它存放在物理空间和内核空间的什么地方?

答:内核空间由所有进程共享,其中存放的是内核代码和数据,即“内核映象”

Linux 内核映像被装入在物理地址0x00100000开始的地方

内核映像在内核空间的起始地址就为0xC0100000。

3、用户空间划分为哪几部分?用户程序调用malloc()分配的内存属于那一部分?

答:分为堆栈段、BSS(未初始化的数据段)、数据段和代码段。从数据段的顶部到堆栈段地址的下沿这个区间是一个巨大的空洞,这就是进程在运行时调用malloc()可以动态分配的空间,也叫动态内存或堆。

4、什么是虚存映射?有哪几种类型?

答:随着进程的运行,被引用的程序部分会由操作系统装入到物理内存,这种将映像链接到进程用户空间的方法被称为“虚存映射”,也就是把文件从磁盘映射到进程的用户空间,这样把对文件的访问转化为对虚存区的访问。有两种类型的虚存映射:

(1)共享的:有几个进程共享这一映射,也就是说,如果一个进程对共享的虚存区进行写,其它进程都能感觉到,而且会修改磁盘上对应的文件。

(2)私有的:进程创建的这种映射只是为了读文件,而不是写文件,因此,对虚存区的写

操作不会修改磁盘上的文件,由此可以看出,私有映射的效率要比共享映射的高。除了这两种映射外,如果映射与文件无关,就叫匿名映射。

6、说明mmap()系统调用的功能?利用mmap()写一个拷贝文件的程序。

答:mmap()系统调用时通过调用do_mmap内核函数来实现建立文件到显存的映射。

int i,fd1,fd2;

char *buf1,buf2;

fd1 = open("data",0 KDOMCY);

if(fd1&&fd2&&(fstar(fd);&star buf1()=0) {

if(lseek(fd) statbuf,st_size-1,seek_set)<0

{

perror"lseek target");

exit(-1);

}

if(MAP_FAILED == buf())

{

perror("Lmap source");

exit(-1);

}

if((map_FAFCE) == buf2)

{

perror("mmap target");

exit(-1);

}

mempy(buf2,buf1,(size - f)startbuf,st_size);

}

7、Linux是如何实现“请求调页”的?

答:1)如果被访问的页不在内存,也就是说,这个页还没有被存放在任何一个物理页面中,那么,内核分配一个新的页面并将其适当地初始化,这种技术称为“请求调页”;

2)“请求调页”是一种动态内存分配技术,它将页面的分配推迟到不能再推迟为止,也就是说,一直推迟到进程要访问的页不在物理内存时为止,由此引起一个缺页异常;该技术的引入主要是因为进程开始运行时并不访问其地址空间中的全部地址。

8、试叙述伙伴算法的工作原理,并说明为什么伙伴算法可以消除外碎片?

答:假设要求分配的块其大小为128个页面。该算法先在块大小为128个页面的链表中查找,看是否有这样一个空闲块。如果有,就直接分配;如果没有,该算法会查找下一个更大的块,具体地说,就是在块大小为256个页面的链表中查找一个空闲块。如果存在这样的空闲块,内核就把这256个页面分为两等份,一份分配出去,另一份插入到块大小为128个页面的链表中。如果在块大小为256个页面的链表中也没有找到空闲页块,就继续找更大的块,即512个页面的块。如果存在这样的块,内核就从512个页面的块中分出128个页面满足请求,然后从384个页面中取出256个页面插入到块大小为256个页面的链表中。然后把剩余的128个页面插入到块大小为128个页面的链表中。如果512个页面的链表中还没有空闲块,该算法就放弃分配,并发出出错信号。

9、vmalloc()和kmalloc()有何区别?编写内核模块程序,调用这两个函数以观察二者所分配空间位于不同的区域。

答:在内核空间中调用kmalloc()分配连续物理空间,而调用vmalloc()分配非物理连续空间。

我们把kmalloc()所分配内核空间中的地址称为内核逻辑地址

把vmalloc()分配的内核空间中的地址称为内核虚拟地址

vmalloc()在分配过程中须更新内核页表

#include #include #include #include

#include unsigned char * kmalloc men; unsigned char * vmalloc men; MODULL_LICENSE("GPL"); static int_init init_mmshow(void) { pagemem = _get_free_page(GFP_KERNEL); if(!kmallocmen) goto fail2; printk(KERN_INFO"vmallocmen = 0x%p\n",vmallocmen); return 0; failB fail 1:

Kfree(kmallocmen);

fail 2:

free_page(pagemon);

fail 3:

return -1;

}

static void_exit cleanup_mmshow(void) {

Vfree(vmallocmen);

Kfree(kmallocmen);

free_page(pagemen);

}

module_init(imit_mmshow);

module_exit(cleanup_mmshow);

第五章 中断和异常

1、什么是中断向量?Linux 是如何分配中断向量的?

答:每个中断源都被分配一个8位无符号整数作为类型码,即中断向量

Linux 对256个向量的分配如下:(1)从0~31的向量对应于异常和非屏蔽中断。(2)从32~47的向量(即由I/O 设备引起的中断)分配给屏蔽中断。(3)剩余的从48~255的向量用来标识软中断。Linux 只用了其中的一个(即128或0x80向量)用来实现系统调用。

2、什么是中断描述符表?什么是门描述符?请描述其格式。

答:在保护模式下,中断向量表中的表项由8个字节组成,中断向量表也改叫做中断描述符表IDT (Interrupt Descriptor Table )。其中的每个表项叫做一个门描述符(gate descriptor ),

3、如何对中断描述符表进行初始化?

答:Linux 内核在系统的初始化阶段要初始化可编程控制器8259A ;将中断描述符表的起始

地址装入IDTR 寄存器,并初始化表中的每一项;当计算机运行在实模式时,中断描述符表被初始化,并由BIOS 使用;真正进入了Linux 内核,中断描述符表就被移到内存的另一个区域,并为进入保护模式进行预初始化。

4、在中断描述符表中如何插入一个中断门、陷阱门和系统门?

答:IDT 表项的设置通过_set_gaet()函数实现。调用该函数在IDT 表中插入一个中断门:set_intr_gate(unsigned int n, void *addr);调用该函数在IDT 表中插入一个陷阱门:set_trap_gate(unsigned int n, void *addr);调用该函数在IDT 表中插入一个系统门:

set_system_gate(unsigned int n, void *addr)

5、CPU为什么要进行有效性检查?如何检查?CPU是如何跳到中断或异常处理程序的?答:有效性检查避免用户应用程序访问特殊的陷阱门或中断门。

当从用户态堆栈切换到内核态堆栈时,先把用户态堆栈的值压入中断程序的内核态堆栈中,同时把EFLAGS寄存器自动压栈,然后把被中断进程的返回地址压入堆栈。如果异常产生了一个硬错误码,则将它也保存在堆栈中。如果特权级没有发生变化,则压入栈中的内容如图5.4中 。此时,CS:EIP的值就是IDT表中第i项门描述符的段选择符和偏移量的值,于是,CPU就跳转到了中断或异常处理程序。

分两步进行有效性检查:首先是“段”级检查,将CPU的当前特权级CPL(存放在CS寄存器的最低两位)与IDT中第i项段选择符中的DPL相比较,如果DPL(3)大于CPL(0),就产生一个“通用保护”异常,因为中断处理程序的特权级不能低于引起中断的进程的特权级。这种情况发生的可能性不大,因为中断处理程序一般运行在内核态,其特权级为0。然后是“门”级检查,把CPL与IDT中第i个门的DPL相比较,如果CPL大于DPL,也就是当前特权级(3)小于这个门的特权级(0),CPU就不能“穿过”这个门,于是产生一个“通用保护”异常,这是为了避免用户应用程序访问特殊的陷阱门或中断门。但是请注意,这种“门”级检查是针对一般的用户程序,而不包括外部I/O产生的中断或因CPU内部异常而产生的异常,也就是说,如果产生了中断或异常,就免去了“门”级检查。

6、中断处理程序和中断服务程序有何区别?Linux如何描述一条共享的中断线?

答:中断服务程序ISR与中断处理程序是两个不同的概念。在Linux中,15条中断线对应15个中断处理程序。具体来说,中断处理程序相当于某个中断向量的总处理程序,例如IRQ0x05_interrupt()是中断号为5(向量为37)的总处理程序,如果这个5号中断由网卡和图形卡共享,则网卡和图形卡分别有其相应的中断服务程序。

typedef irqreturn_t(* irq_handler_t) (int, void *);

struct irqaction{

irq_handler_t handler;

unsigned long flags;

cpumask_t mask;

const char *name;

void *dev_id;

struct irqaction *next;

int irq;

...

};

7、叙述中断处理程序的执行过程,并给出几个主要函数的调用关系和功能。

答:CPU从中断控制器的一个端口取得中断向量I;根据I从中断描述符表IDT中找到相应的中断门;从中断门获得中断处理程序的入口地址;判断是否要进行堆栈切换;调用do_IRQ()对所接收的中断进行应答,并禁止这条中断线;调用handle_IRQ_event()来运行对应的中断服务例程。

8、为什么把中断分为两部分来处理?

答:中断服务例程一般都是在中断请求关闭的条件下执行的,以避免嵌套而使中断控制复杂化。但是,中断是一个随机事件,它随时会到来,如果关中断的时间太长,CPU就不能及时响应其他的中断请求,从而造成中断的丢失。因此,内核的目标就是尽可能快的处理完中断请求,尽其所能把更多的处理向后推迟。例如,假设一个数据块已经达到了网线,当中断控制器接受到这个中断请求信号时,Linux内核只是简单地标志数据到来了,然后让处理器恢复到它以前运行的状态,其余的处理稍后再进行(如把数据移入一个缓冲区,接受数据的进程就可以在缓冲区找到数据)。因此,内核把中断处理分为两部分:前半部分(top half)和后半部分(bottom half),前半部分内核立即执行,而后半部分留着稍后处理。

9、实时时钟和操作系统时钟有何不同?

答:大部分PC机中有两个时钟源,分别是实时时钟(RTC)和操作系统(OS)时钟实时时钟也叫硬件时钟,它靠电池供电,即使系统断电,也可以维持日期和时间。

RTC是OS时钟的时间基准,操作系统通过读取RTC来初始化OS时钟,此后二者保持同步运行,共同维持着系统时间。所谓同步,是指操作系统在运行过程中,每隔一个固定时间会刷新或校正RTC中的信息

10、jiffies表示什么?什么时候对其增加?

答:jiffies是Linux内核中的一个全局变量,用它来表示系统自启动以来的时钟节拍总数。启动时,内核将该变量初始化为0,此后,每次时钟中断处理程序都会增加该变量的值。

11、时钟中断的下半部分主要做什么?

答:run_lock_timers()函数去处理所有到期的定时器,定时器作为软中断在下半部分中执行。Scheduler_tick()函数负责减少当前运行进程的时间片计数值并且在需要时设置need_resched 标志。当update_process_timer()函数返回后,do_timer()函数接着会调用update_times()函数更新墙上时钟。

第六章系统调用

1、系统调用与库函数、系统命令及内核函数有什么区别和联系?

答:应用编程接口(API)其实是一个函数定义,比如常见的read()、malloc()、free()、abs()函数等,这些函数说明了如何获得一个给定的服务;而系统调用是通过软中断向内核发出一个明确的请求。从编程者的观点看,API和系统调用之间没有什么差别,二者关注的都是函

数名、参数类型及返回代码的含义。然而,从设计者的观点看,这是有差别的,因为系统调用的实现是在内核完成的,而用户态的函数是在函数库中实现的。系统命令相对应用编程接口更高一层,每个系统命令都是一个可执行程序,比如常用的系统命令ls、hostname等,这些命令的实现调用了系统调用。内核函数与普通函数形式上没有什么区别,只不过前者在内核实现,因此要满足一些内核编程的要求。系统调用是用户进程进入内核的接口层,它本身并非内核函数,但它是由内核函数实现的,进入内核后,不同的系统调用会找到各自对应的内核函数。

2、内核为什么要设置系统调用处理程序,它与服务例程有什么区别?

答:用户空间的程序无法直接执行内核代码,内核驻留在受保护的地址空间上,不允许用户进程内核地址空间上读写。当用户态的进程调用一个系统调用时,CPU切换到内核态并开始执行一个内核函数。系统调用处理程序执行下列操作:

在内核栈保存大多数寄存器的内容;

调用所谓系统调用服务例程的相应的C函数来处理系统调用;

通过ret_from_sys_call( )函数从系统调用返回;

不同的系统调用会找到各自对应的内核函数,这些内核函数被称为系统调用的“服务例程”。

3、说明系统调用号的作用。

答:因为内核实现了很多不同的系统调用,因此进程必须传递一个叫做系统调用号的参数来识别所需的系统调用;

《中文Linux应用编程界面(API)规范》

《中文Linux应用编程界面(API)规范》 编制说明 一、任务来源 根据国家863计划信息技术领域,软件重大专项,中文Linux和办公软件相关标准与规范课题研究开发任务的规定,和根据国家质检总局和信息产业部2003年放国家标准和行业标准制、修订计划安排,制订《中文Linux应用编程界面(API)规范》。该项目由中软网络技术股份有限公司负责起草,项目计划代号为 二、工作过程 在国家任务下达后,中软网络技术股份有限公司就组织了工作组,在前期工作的基础上,收集与翻译了国际上有关Linux的主要标准的最新版本LSB 1.3(目前的最新版本为 LSB 2.0)和OpenI13N 1.3。总结了多年来在Linux开发工作和标准制订工作的经验。在“非典”肆虐期间,编写了制订《中文Linux应用编程界面(API)规范》的计划和大纲。 在“四所”的组织下成立了“中文Linux标准”工作组。在工作组的统一安排下,确定了编写工作的计划与大纲。于2003年9月初,编写了《中文Linux 应用编程界面(API)规范》初稿,提交工作组讨论。工作组前后经过了近10次讨论,几经修改,先后提交了三次修改稿,才形成了《征求意见稿》。《征求意见稿》通过在网上和有关单位广泛征求意见,收集了许多很好的意见。工作组又组织了有FSG和OpenI18N有关人员和国内的Linux厂商、专家及有关人员参加的“Linux标准研讨会”。 2004年4月信息产业部成立Linux标准工作组,组织更大范围的企业参与标准的制定工作。在此基础上工作组对“意见汇众”进行了深入的整理、分析和讨论,确定了修改意见。根据这些意见,经过修改,我们提交了《中文Linux 应用编程界面(API)规范》的《送审稿》。 2006年在发展基金及国家十五项目的支持下,中国电子技术标准化研究所组织国内主要Linux操作系统发布商,对标准的符合性测试展开研究,并根据测试研究的结果对标准做中描述不够严谨的地方做出相应调整。 三、主要说明 1、标准的目的

常用linux命令(面试常用)

date显示系统日期 cd.. 返回上级目录 pwd 显示当前路径 ls 查看目录中的文件 ls -F 查看目录中的文件 ls -l 显示文件和目录的详细资料 ls -a显示隐藏文件 ls -lh 显示权限 tree 显示文件和目录由根目录开始的树形结构 shutdown -h now 关闭系统 mkdir dir1 创建目录 rm -f file1 删除文件 rmdir 删除目录 cp 复制文件 find /-name file1 从/开始进入根文件系统搜索文件和目录 groupadd group_name 创建一个新用户组 groupdel group_name 删除一个用户组 useradd user1 创建一个新用户 userdel -r user1 删除一个用户 passwd 修改口令 passwd user1 修改一个用户的口令 gunzip file1.gz 解压一个file1.gz的文件 gzip file1 压缩文件 cat file1 从第一个字节开始查看文件 grep Aug /log/massages 在 massage文件中查找关键字Aug grep ^Aug /log/massages 在 massage文件中查找以Aug开头的词汇df 查看磁盘空间占用情况,使用权是所有用户 free 查看内存的使用情况 quota 显示磁盘使用情况和限制情况,使用权是超级用户 lp 打印文件 ifconfig 查看和更改网络接口的地址和参数 ping检测主机网络接口状态,使用权限是所有用户 Telnet 远程登录 ftp 文件传输 more一页一页显示档案内容 who 查看目前谁在线 finger 查看关于系统用户的信息 clear 清除屏幕

LINUX练习题及参考答案

一、单选 1 . 存放用户帐号的文件是(C)。 A. shadow B. group C. passwd D. gshadow 2 . 下面哪个系统目录中包含Linux使用的外部设备(B)。 A./bin B. /dev C. /boot D. /home 00 3 . Linux系统的联机帮助命令是(D)。 A. tar B. cd C. mkdir D. man 4 . 如何删除一个非空子目录/tmp (B )。 A. del /tmp/* B. rm -rf /tmp C. rm -Ra /tmp/* D. rm –rf /tmp/* 5. 更改一个文件权限的命令是(C)。 A. change B. attrib C. chmod D. at 6. 如果执行命令#chmod 746 file.txt,那么该文件的权限是(A)。 A. rwxr--rw- B. rw-r--r— C. --xr--rwx D. rwxr--r— 7. 如果您想列出当前目录以及子目录下所有扩展名为―.txt‖的文件,那么您可以使用的命令是(A )。 A. ls *.txt B. find –name ―.txt‖ C. ls –d .txt D. find . ―.txt‖ 8 . 怎样显示当前目录(A)。 A. pwd B. cd C. who D. ls 9 . 欲把当前目录下的file1.txt 复制为file2.txt,正确的命令是(D)。 A. copy file1.txt file2.txt B. cp file1.txt | file2.txt C. cat file2.txt file1.txt D. cat file1.txt > file2.txt 10.为了达到使文件的所有者有读(r)和写(w)的许可,而其他用户只能进行只读访问,在设置文件的许可值时,应当设为:( B )。 A. 566 B. 644 C. 655 D. 744 11.为了将当前目录下的压缩归档文件myftp.tar.gz解压缩,我们可以使用:( A )。 A. tar -xvzf myftp.tar.gz B. tar -xvz myftp.tar.gz C. tar -vzf myftp.tar.gz D. tar -xvf myftp.tar.gz 12.用来保存用户名、个人目录等资料的文件是(B )。 A. /etc/shadow B. /etc/passwd C. /etc/inittab D. /etc/group 13.一个文件的权限是-rw-rw-r--,这个文件所有者的权限是( C )。 A. read-only B. write C. read-write 14.绝大多数Linux分区使用的文件系统类型是( D )。 A. vfat B. nfs C. swap D. ext2 15.在Linux系统中,硬件设备大部分是安装在( B )目录下的。 A. /mnt B. /dev C. /proc D. /swap 16.比较重要的系统配置资料,一般来说大部分位于( A )目录下。 A. /etc B. /boot C. /home D. /usr 17.要改变文件的拥有权,使用命令( B )。 A. chgrp B. chown C. chsh D. chmod 18.在使用mkdir命令创建新的目录时,在其父目录不存在时先创建父目录的选项是(D )。 A -m B –d C -f D –p 19.局域网的网络地址192.168.1.0/24,局域网络连接其它网络的网关地址是192.168.1.1。主机192.168.1.20访问172.16.1.0/24网络时,其路由设置正确的是(B )。

Linux考试知识点总结

Linux服务器配置与应用考试覆盖范围知识点总结 考前★绝密知识点覆盖率95% 总结人:敌无小新时间:2009年12月23日晚 此复习题尽量保密,被老师发现可能会重考,慎重带入考场! 1.安装软件的方法? RPM包,源码包安装,*.bin格式安装文件安装 2.RPM命令参数使用? 安装软件#RPM -ivh 软件包名参数:-q 查询-U 升级-V检查-e卸载3.源码包安装过程实例? #tar -xzvf *.tar.gz #cd * #./config #make # make install 4.bin文件安装? #./*.bin 5.Linux下设置服务自启动的过程(两种)? ntsysv chkconfig --level 35 服务名称on 6.Samba服务正常工作至少需要两个守护进程,分别是? nmbd smbd 7.Samba服务的核心配置文件? /etc/samba/smb.conf 8.Samba服务器使用的安全等级? share安全等级共享级别,不需要账号和密码,安全性最低 user 安全等级用户级别,需要账号和密码,默认为该级别 server安全等级服务器级别,与user同级别,但验证由另一台SMB负责9.NFS需要哪两个安装包? nfs-utils主要提供nfs服务目录共享 portmap 主要提供远程连接 10.NFS的主配置文件? /etc/exports 11.启动停止与重启NFS服务?(此题顺序不能错) /etc/init.d/portmap start 或service portmap start /etc/init.d/nfs start service nfs start /etc/init.d/nfs stop service nfs stop /etc/init.d/portmap stop service portmap stop /etc/init.d/nfs restart service nfs restart 12.查看NFS服务器192.168.16.177上共享目录? #showmount -e 192.168.16.177 13.挂载NFS服务器上输出目录?(实例) #mount -t NFS 服务器名或IP地址:输出目录本地挂载目录 #mkdir /mnt/nfs #mount -t nfs 192.168.16.177:/nfs/public /mnt/nfs 14.卸载NFS服务器挂载目录? #umount /mnt/nfs 15.实现自动挂载NFS目录,应修改哪个文件,怎么设置? /etc/fstab (储存系统内的静态挂载点,即每次启动时挂载的文件系统。) NFS服务器名或IP:输出目录本地挂载目录nfs defaults 0 0

linux常用命令

新手刚刚接触Linux的时候可能处处感到不便,不过没有关系,接触新的事物都有这样的一个过程,在你用过Linux一段时间后,你就会逐渐了解Linux其实和Windows一样容易掌握。 由于操作和使用环境的陌生,如果要完全熟悉Linux的应用我们首先要解决的问题就是对Linux常用命令的熟练掌握。本章我们就来介绍Linux的常用基本命令。 Linux常用命令 1.Linux命令基础 Linux区分大小写。在命令行(shell)中,可以使用TAB键来自动补全命令。即可以输入命令的前几个字母,然后按TAB键,系统自动补全命令,若不止一个,则显示出所有和输入字母相匹配的命令。 按TAB键时,如果系统只找到一个和输入相匹配的目录或文件,则自动补全;若没有匹配的内容或有多个相匹配的名字,系统将发出警鸣声,再按一下TAB键将列出所有相匹配的内容(如果有的话)以供用户选择。 首先启动Linux。启动完毕后需要进行用户的登录,选择登陆的用户不同自然权限也不一样,其中―系统管理员‖拥有最高权限。 在启动Linux后屏幕出现如下界面显示:Red Hat Linux release 9 (Shrike) Kernel 2.4.20.8 on an i686

login: 输入:root(管理员名)后,计算机显示输口令(password:),输入你的口令即可。当计算机出现一个―#‖提示符时,表明你登录成功! 屏幕显示Linux提示符:[root@localhost root]#_ 这里需要说明的是―Red Hat Linux release 9 (Shrike)‖表示当前使用的操作系统的名称及版本。―2.4.20.8‖表示Linux操作系统的核心版本编号。―i686‖表示该台电脑使用的CPU的等级。 下面我们来介绍常用基本命令 一,注销,关机,重启 注销系统的logout命令 1,Logout 注销是登陆的相对操作,登陆系统后,若要离开系统,用户只要直接下达logout命令即可: [root@localhost root]#logout

linux复习

实验1排序: /*sort.h*/ #include int bubbleSort(int [],int len); int selectSort(int [],int len); /*sort.c*/ #include "sort.h" int bubbleSort(int a[],int len){ int i=0,j,z=0,m; for(i;ia[j]) { m=a[i]; a[i]=a[j]; a[j]=m; } } } printf("new a[]={"); for(z;z

printf("new a[]={"); for(z;z #include #include #include #include #include #define BUFSIZE 1024 #define SRC "/home/linux/src/llx.c" #define DST "/home/linux/dst" #define OFFSET 10240 int main(int argc,char*argv[]) { int fd1,fd2; int len; char buffer[BUFSIZE]={0}; if((fd1=open(SRC,O_RDONL Y))<=0) { perror("Can't open source file"); exit(-1); }

linux考试知识点汇总.doc

LINUX 考试知识点总结 %1. 填空题 1. 文件权限 %1. 简答题 1. 1 inux 的特点 与Windows 的区別 特点:①.真正的多用户多任务操作系统 %1 .良好的兼容性,开发功能强 %1 .可移植性强 %1 .高度稳定性 %1 .丰富的图形用户界面 区别:①?多用户方面:同一时刻不同的用户访问 %1 .GUI (图形用户界面)方面 Linux 与内核相互独立 Windows 与内核结合 %1 .共享资源的相互访问 rwx rwx rwx 类型 user gro 叩 other d rwx rwx rwx 2. 文件编辑器的基本操作 w 保存 q 退出 q!强制退出 3. 文件链接命令 软链接:In -s 目标 硬链接:In 4. 创建文件/文件夹 touch mkdir 5. 文件不同对比命令 diff 6. 显示文本 cat less more 7. 删除命令 rm rm -f 强制删除 rm -r 递归删除 8. 移动文件/重命名 mv 文件名目标目录 mv 文件名新文件名 9. 复制命令 #cp ~a #cp -r 目录目标目录 #cp 文件名新文件名 文件 文件夹 链接名 rmdir 删除非空文件夹 rmdir -r 递归删除非空文件夹 移动 重命名 保留文件权限复制 复制目录 重命名

3.正则表达式 元字符:元字符名 A $* Linux -> windows 使用 NFS 与 Samba 服务器 Windows -> linux 通过网上邻居 %1 .配置文件 Windows 在注册表 Linux 由指定的存放位置女口: /etc /dev ⑤.域 linux windows 身份验证 无 有 性能 强 弱 可靠性(稳定性) 强 弱 系统管理 有抗拒感 简单易用 安全性 强 弱 功能 强 弱 2. 查找命令归总 find 命令 不根据数据库查找,速度慢,默认区分大小写 在指定的目录开始,递归的搜索各个子目录,查询满足条件的文件并对应采取相关操作 Slocate 命令 slocate 本身具有一个数据库,里面存放了系统中文件与目录的相关信息。 语 法:slocate [-u][-help][-version][-d <目录〉][查找的文件] 使用一u 选项更新数据库数据 whereis whereis 指令会在特定目录屮查找符合条件的文件。这些文件的烈性应属于原始代码, 二进制文件,或是帮助文件 语 法:whereis [-bfmsu][-B < 目录>…]卜M < 目录>...][-S < 目录>...][文件…] which which 指令会在环境变量$PATH 设置的冃录里查找符合条件的文件。 语 法:which [文件…] locate locate 指令用于查找符合条件的文件,它会去保存文件与目录名称的数据库内,查找合 乎范本样式条件的文件或目录。 语 法:locate [-d v 数据库文件>][-help][-version][?a 本样式…] 说明 只匹配行首 只匹配行尾

Linux基础及应用习题解析

1、Linux是所谓的“Free Software”,这个“Free”的含义是什么?() A、Linux不需要付费 B、Linux发行商不能向用户收费 C、Linux可自由修改和发布 D、只有Linux的作者才能向用户收费 2、Linux系统各组成部分中哪一项是基础?() A、内核 B、X Window C、Shell D、GONME 3、Linux内核管理系统不包括的子系统是哪个?()还包括设备管理系统 A、进程管理系统 B、内存管理系统 C、文件管理系统 D、硬件管理系统 4、下面关于Shell的说法,不正确的是哪个?() A、操作系统的外壳 B、用户与Linux内核之间的接口 C、一种和C类似的高级程序设计语言 D、一个命令语言解释器 5、以下哪种Shell类型在Linux环境下不能使用?() A、B Shell B、K Shell C、R Shell D、Bash 6、安装Linux至少需要几个分区?() A、2 B、3l C、4 D、5 7、RHEL Server 5系统启动时默认由以下哪个系统引导程序实施系统加载?() A、GRUB B、LILOl C、KDE D、GNOME 8、/dev/hda5 在Linux中表示什么?() A、IDE0接口上从盘 B、IDE0接口上主盘的逻辑分区 C、IDE0接口上主盘的第五个分区 D、IDE0接口上从盘的扩展分区 9、系统引导的过程一般包括如下几步:(1)MBR中的引导装载程序启动;(2)用户登录;(3)Linux内核运行;(4)BIOS自检。以下哪个顺序是正确的?()A、(4) (2) (3) (1) B、(4) (1) (3) (2) C、(2) (4) (3) (1) D、(1) (4) (3) (2) 10、KDE中要调整桌面墙纸及字体需要打开哪个组件?() A、文件管理器 B、我的电脑 C、控制中心 D、屏幕保护程序 11、Linux有几个虚拟终端?() A 、5 B、6 C、7 D、8 12、输入命令的时候,选项和参数之间可以用什么符号隔开?() A、% B、! C、空格 D、~ 13、pwd命令的功能是什么?() A、设置用户的口令 B、显示用户的口令 C、显示当前目录的绝对路径 D、查看当前目录的文件 14、输入“cd”命令并按【Enter】键后,将有什么结果?() A、从当前目录切换到根目录 B、屏幕显示当前目录 C、从当前目录切换到用户主目录 D、从当前目录切换为上一级目录

LINUX常用数据结构

/* * List definitions. */ #define LIST_HEAD(name, type) \ struct name { \ struct type *lh_first; /* first element */ \ } #define LIST_ENTRY(type) \ struct { \ struct type *le_next; /* next element */ \ struct type **le_prev; /* address of previous next element */ \ } /* * List functions. */ #define LIST_INIT(head) { \ (head)->lh_first = NULL; \ } #define LIST_INSERT_AFTER(listelm, elm, field) { \ if (((elm)->field.le_next = (listelm)->field.le_next) != NULL) \ (listelm)->field.le_next->field.le_prev = \ &(elm)->field.le_next; \ (listelm)->field.le_next = (elm); \ (elm)->field.le_prev = &(listelm)->field.le_next; \ } #define LIST_INSERT_HEAD(head, elm, field) { \ if (((elm)->field.le_next = (head)->lh_first) != NULL) \

LINUX复习(带答案)

Turbolinux用户基础B 一、选择题(共128 题) (B)1.哪一个命令能用来创建命令的简写或别名 A.awk B.alias C.echo D.alien (D)2.登陆系统后首先进入下列哪一个目录 A./home B.root的主目录 C./root D.用户自己的主目录 (A)3.系统的配置文件在______目录下 A./etc B./home C./usr D./dev (D)4.哪一个命令能用来查找在文件TESTFILE中只包含四个字符的行A.grep''TESTFILE B.grep'....'TESTFILE C.grep'^$'TESTFILE D.grep'^....$'TESTFILE (B)5.当Linux内核执行硬件的检测和激活交换分区后,运行下列哪一个程序A./sbin/reboot B./sbin/init C./sbin/startup D./bin/sh (B)6.用”rm-i”,系统会提示什么来让你确认 A.命令行的每个选项 B.是否真的删除 C.是否有写的权限 D.文件的位置 (A)7.用下面哪个命令可以不用退出vi编辑器来切换文件 A.:eforeditcommand B.mapcommand C.exportcommand

D.setcommand (B)8.除非特别指定,cp假定要拷贝的文件在下面哪个目录下A.home目录 B.当前目录 C.root目录 D.用户目录 (B)9.Linux的创始人是芬兰Helsinki大学的学生,他是谁A.AndrewTanenbaum B.LinusTorvalds C.BillGates D.RichardStallman (A)10.下面哪个命令是全屏文本编辑器 A.vi B.ed C.pr D.cw (C)11.Linux的命令用下面哪个选择来解释 A.核心 B.用户接口 C.shell D.应用管理器 (A)12.在一行内运行多个命令需要用什么字符隔开 A.; B.$ C.* D.@ (D)13.在vi编辑器里,命令”dd”用来删除当前 A.字 B.字符 C.变量 D.行 (B)14.Turbolinux下主要用哪个shell A.tcsh B.bash C.ash D.csh

Linux期末考试重点

Linux 练习题 第一章:Linux基础及安装 (主干内容不多,主要了解一些Linux的基本概念) 1.Linux是属于真正的多任务多用户系统 1.Linux系统是一个()的操作系统 A.单用户、单任务 B.单用户、多任务 C.多用户、单任务 D.多用户、多任务 2.Linux的运行级别都有那些?如何更改默认运行级别?字符界面的运行级别是3?图形界面5? 0:关机。不能将系统缺省运行级别设置为0,否则无法启动。 1:单用户模式,只允许root用户对系统进行维护。 2:多用户模式,但不能使用NFS(相当于Windows下的网上邻居) 3:字符界面的多用户模式。 4:没有用到。 5:图形界面的多用户模式。 6:重启。不能将系统缺省运行级别设置为0,否则会一直重启。 查看运行级别命令: runlevel 先后显示系统上一次和当前运行级别。如果不存在上一次运行级别,则用N表示。 改变提供运行级别命令: init[0123456] 第二章:Linux文件系统及命令 (主要内容,文件操作命令,参数,文件系统结构) 1.什么是工作目录、当前目录、用户主目录?查看和切换的命令是什么? Pwd查看工作目录,cd切换工作目录,cd .工作目录,cd ..工作目录上级目录。 ~表示用户主目录。 2.当前目录和上层目录怎么表示? Pwd 。。。 3.Abc和ABC是一个目录么? 不是,linux严格区分大小写。 4.文件类型有哪些?怎么判断?(目录是文件么?) ①普通文件:首字符“-”表示该文件是普通文件 ②目录文件:首字符“d”表示该文件是目录文件 ③设备文件:首字符“c”表示该文件是字符设备,“b”表示该文件是块设备 ④符号链接文件:首字符“l”表示该文件是符号链接文件 5.根据树形图,写出从一个目录到另外一个目录的命令 圆圈代表目录,方框代表文件,当前目录为n,用相对路径法和绝对路径法分别写出文件e的路径 ○1绝对路径:cd /e ○2相对路径:cd ../../e 6.查看文件的命令cat more less cat 连续显示、查看文件内容 [user@localhost ~]$ catmyfile more :一次显示一屏内容;按空格翻下一屏内容;按回车键翻下一行内容;按Q或q或Interrupt退出more 命令 [user@localhost ~]$ more file less:分屏显示内容;按向前(PageUp)向后(PageDown)浏览文件;按q退出less命令

最新Linux复习大汇总

第一章概述 1、什么是POSIX标准,为什么现代造作系统的设计必须遵循POSIX标准? 答:POSIX表示可移植操作系统接口(Portable Operating System Interface)。 POSIX是在Unix标准化过程中出现的产物。 POSIX 1003.1标准定义了一个最小的Unix操作系统接口。 任何操作系统只有符合这一标准,才有可能运行Unix程序。 2、什么是GNU?Linux与GNU有什么关系? 答:GNU是GNU Is Not Unix的递归缩写,是自由软件基金会的一个项目。 GNU项目产品包括emacs编辑器、著名的GNU C和Gcc编译器等,这些软件叫做GNU 软件。 GNU软件和派生工作均适用GNU通用公共许可证,即GPL(General Public License)。 Linux的开发使用了众多的GUN工具。 3、Linux系统由哪些部分组成?Linux内核处于什么位置? 答:(1)符合POSIX标准的操作系统内核、Shell和外围工具。(2)C语言编译器和其他开发工具及函数库。(3)X Window窗口系统。(4)各种应用软件,包括字处理软件、图象处理软件等。 Linux内核是所有Linux 发布版本的核心。 第二章内存寻址 1、在80x86的寄存器中,哪些寄存器供一般用户使用?哪些寄存器只能被操作系统使用?答:通用寄存器EAX,EBX,ECX,EDX,EBP(基址指针),ESP(堆栈指针),ESI(扩展源指针),EDI(扩展目的指针),还有EFLAGS(标志寄存器). 专供操作系统使用的寄存器:IDTR中断描述符寄存器,GDTR全局描述符表寄存器,LDTR 局部描述符表寄存器,TaskRegisters任务寄存器,DebugRegister调试寄存器,ControlRegister 控制寄存器,Model-SpecificRegisters模型专用寄存器。 3、请用C语言描述段描述符表。 答:#include #include #define BASE_H 0xff00 #define BASE_M 0x00ff #define BASE_L 0xffff #define LIMIT_H 0x000f

linux复习资料

一、题型: 1、单选:15(题)*2(分/题) 2、填空:15*1 3、问答: 4、程序填空 5、编程 考试重点: 第一章: 1、Linux内核版本采用双树系统:一棵是稳定树,主要用于发行;一棵是非稳定树(开发树),用于产品开发和改进; 2、Linux内核版本号有3位数字组成:第一位为主版本号;第二位说明版本类型的此版本号(偶数表示产品化版本,奇数表示实验版本);第三位为修改号,表示错误修补的次数; 3、常用目录: 4、常用文件分区:dev;/根;swap;/boot;/usr ;/usr;/local; /var; /tmp,; /opt; /home (其中根和swap是必须要的两个分区); 5、文件结构

6、Vi编辑器:(参考嵌入式系统实验)分为命令行模式和插入模式 1)命令行模式主要命令有:移动光标命令(w b 0 $ H M L G gg) 文本编辑命令(x X dw d$ d0 dd) 保存和退出编辑器命令(Zz wq w q q!) 2)命令行模式和插入模式之间切换用 a,i,Esc命令(Esc从插入到命令行) 7、文件名命名规则以及与windows下的文件命名规则的差异://这个题有点问题,通过网络自行查询 包含大写键、小写键、数字、#、@、_ 不包含空格 不包含以下字符:* ? > < / ; $ \ ‘“ 不能以“+”或者“-”开头 区分大小写 最长文件名:255 8、几种关机方式:shutdown命令,shutdown -h time(分钟);使用root权限执行init 0;halt 9、Swap分区的作用:作为虚拟内存,一般是物理内存的2倍。 10、静态库与动态库之间的差异:静态库(.a文件);动态库/共享库 (.so文件); 11、库函数与系统调用的差异: 系统调用:linux内核对外接口;充当用户程序和内核之间唯一的接口; 函数库:依赖与系统调用;标准函数库建立在系统调用的上层,提供的功能比系统调用强,使用也更方便; 12、编辑器gcc: 由输入文件类型和传递的参数决定gcc具体调用的组件 为开发者提供足够多的参数,可让开发者全面控制代码的生成 gcc下的C程序编译过程(预处理、编译成汇编代码、汇编成目标代码、链接); 13、Makefile文件的读和写: 试根据下图所示的文件依赖关系,写出相应的makefile文件

怎样执行在Linux上运行应用程序

如何执行在Linux上运行的应用程序 关键字:Linux 先决条件 要充分理解本文,必须具备Windows 环境下桌面应用程序的工作经验,我认为读者对如何使用Linux 桌面有一个基本的了解。使用一个运行的Linux 计算来机探讨本文的概念和示例是很有帮助的。 概述 有时候第一次在Linux 上运行一个应用程序需要一点额外工作。有些应用程序,比如服务器服务,可能无法安装为服务,因此您需要从命令行启动这些应用程序。对于启动这些应用程序的用户帐户而言,需要在应用程序文件中设置执行许可标志(x)。 运行用户空间应用程序 Linux 在内核空间或用户空间运行进程。用户空间是操作系统的区域,应用程序通常在此运行。简单地说,每个用户帐户有其自己的用户空间,应用程序在这个领域内运行。 默认情况下,只有root 用户有权访问内核空间。root 用户是Linux 中的超级用户,相当于Windows 中的管理员帐户。在root 用户帐户下运行应用程序可能会引起安全风险,是不可取的。 很多服务器服务需要root 权限启动服务。然而,服务启动后,root 帐户通常会将其移至服务帐户。严格地说,Linux 中的服务帐户才是标准的用户帐户。主要区别是服务帐户仅用于运行一个服务,而不是为任何实际登录的用户准备的。 设置权限 您可以使用chmod 命令在一个文件中设置执行权限。在Linux 中,umask 设置通常用来防止下载的文件被执行,也有充分的理由相信,因为它有助于维护Linux 计算机的安全性。 大多数Linux 发行版具有一个值为022 的umask 设置,这意味着,默认情况下一个新文件权限设置为644.权限的数字表示形式采用读(4)、写(2)、执行(1) 的格式。因此,默认权限为644 的应用程序下载意味着文件所有者有读写权限,而组用户和其他用户只有读权限。 例如,为每个人赋予一个文件的执行权限,使用chmod a+x 命令。a 表示所有人,加号(+) 表示添加,而x 表示执行。同样地,如果应用程序是一个服务器服务,您应该确保只有授权帐户才有权执行此服务。 如果一个应用程序能够在标准用户帐户权限下运行,但只有特定组中的用户才需要使用它,您可以将该组所有者权限设置为可执行,然后将这些用户添加到该组中。 更具体地说,您可以在一个可执行文件中设置访问控制列表(ACL) 权限,赋予特定用户或组权限来运行该应用程序。使用setfacl 实用工具设置ACL 权限。 对于这些需要以root 用户启动进程的应用程序,比如服务器服务,您有几个选择。总结了允许用户执行需要root 权限的服务器服务的各种选项。 选项描述 作为root 用户不推荐用于服务器服务。当用户已经知道root 密码而且应用程序泄露不是首要关注问题时,可用于应用程序。 SetUID 由于安全问题,不推荐使用。SetUID 允许标准用户以另一个用户方式,比如root 用户,执行一个文件。 sudo 很常用,并且被认为是一个很好的实践。sudo 授予一个用户或组成员权限以执行可能额外需要root 权限的文件。该用户不需要知道root 密码。 带有文件权限的标准用户帐户在一个文件上为用户所有者、组所有者或其他人(所有人)

Linux操作系统期末复习题(含答案)

Linux 期末复习题(一) 一、选择题 (每小题2分,共50分) 2.在Ubuntu Linux中,系统默认的(A)用户对整个系统拥有完全的控制权。 A. root B. guest C. administrator D.supervistor. 3. 当登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么( B ) A. NID B. PID C. UID D. CID 4. 下面哪个命令是用来定义shell的全局变量( D ) A. exportfs B. alias C. exports D. export 5. 哪个目录存放用户密码信息( B ) A. /boot B. /etc C. /var D. /dev 6. 默认情况下管理员创建了一个用户,就会在( B )目录下创建一个用户主目录。 A. /usr B. /home C. /root D. /etc 7. . 当使用mount进行设备或者文件系统挂载的时候,需要用到的设备名称位于( D )目录。 A. /home B. /bin C. /etc D. /dev 8. 如果要列出一个目录下的所有文件需要使用命令行( C )。 A. ls –l B. ls C. ls –a(所有) D. ls –d 9. 哪个命令可以将普通用户转换成超级用户(D ) A. super B. passwd C. tar D. su 10. 除非特别指定,cp假定要拷贝的文件在下面哪个目录下( D ) A. 用户目录 B. home目录 C. root目录 D. 当前目录 11. 在vi编辑器里,命令"dd"用来删除当前的( A ) A. 行 B. 变量 C. 字 D. 字符 14. 按下(A )键能终止当前运行的命令 A. Ctrl-C B. Ctrl-F C. Ctrl-B D. Ctrl-D 17. 用"rm -i",系统会提示什么来让你确认( B ) A. 命令行的每个选项 B. 是否真的删除 C. 是否有写的权限 D. 文件的位置 18. 以下哪个命令可以终止一个用户的所有进程( D ) A. skillall B. skill C. kill D. killall 19.在Ubuntu Linux中,一般用(D )命令来查看网络接口的状态 A. ping B. ipconfig C. winipcfg D ifconfig 20. vi中哪条命令是不保存强制退出( C )(第五章) A. :wq B. :wq! C. :q! D. :quit 22.在下列分区中,Linux默认的分区是(B ) A. FAT32 B. EXT3 C FAT .D NTFS 24.如果用户想对某一命令详细的了解,可用(C) A. ls B. help (内部) C. man(列举的信息多) D dir 二、填空题 (每空1分,共10分) 26. 在Linux系统中,以_文件的_方式访问设备。 29. 某文件的权限为:d-rw-_r--_r--,用数值形式表示该权限644,该文件属性是目录。 30. 静态路由设定后,若网络拓扑结构发生变化,需由__系统管理员___修改路由的设置。 33. 编写的Shell程序运行前必须赋予该脚本文件__执行___权限。

UNIX_LINUX操作系统重点知识复习

1-2章 1.Linux系统的应用主要涉及4个方面:应用服务器、嵌入式领域、软件开发和桌面应用。 2.Linux具有开放性是指它遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。Linux系统一般有4个主要部分:内核、Shell、文件系统和应用程序。 3.简述Linux系统的以下特点:多用户;多任务;设备独立性;良好可移植性。 4.简述Linux系统的组成。 5.试比较Linux与windows系统的区别。 6.Linux的版本号分为两部分,即内核版本与发行版本。内核版本号由3个数字组成:r.x.y。r:目前发布的内核主版本。 x:偶数表示稳定版本;奇数表示开发中版本。 y:错误修补的次数。 Linux内核版本号2.1.11表明这是一个可以使用的稳定版本。(错) 7.一些组织和厂家,将Linux系统的内核、应用软件和文档包装起来,并提供一些系统安装界面、系统配置设定管理工具,就构成了Linux发行版本。Linux系统内核的版本号相对独立,根据GPL准则,虽然各发行版本都源自一个内核,但都没有自己的版权。Linux的各个发行版本都是使用Linus主导开发并发布的同一个Linux内核。 8.Linux系统使用较灵活的分区名方案,该方案基于文件,文件名的格式为/dev/xxyN,其中:/dev/是Linux系统下所用设备文件所在的目录名。 xx:分区名的前两个字母表示分区所在设备的、类型,通常是hd(IDE硬盘)或sd(SCSI硬盘)。y:这个字母表示分区所在的设备。如:/dev/had(第一个IDE硬盘)或/dev/sdb(第二个SCSI硬盘)。 N:最后的数字白代表分区。前4个分区(主分区或扩展分区)用数字1~4表示,逻辑驱动器从5开始。如:/dev/hda3是第1个IDE硬盘上的第3个主分区或扩展分区;/dev/sdb6是第2个SCSI硬盘上的第二个逻辑驱动器。 9.说明你所使用的计算机的硬盘及内存容量,并为自己的计算机设计一个合理的分区方案。第3章 1.Fedora8系统默认使用的桌面环境是GNOME。 2.Fedora8系统包括了一个功能强化的图形化桌面环境GNOME,并提供了面板图标、桌面 图标和菜单系统三种主要工具来使用系统上的应用程序。 第4章 1.在切断计算机机电源之前必须首先关闭Fedora8系统,不执行关闭Fedora8系统就直接 切断计算机的电源,这样做会导致未存盘数据的丢失、系统运行不稳定、甚至会损坏某些系统的硬件设备。 2.安装Fedora 8系统后,系统默认进入图形化界面,如果希望系统引导后自动进入字符界 面,则需要修改/etc/inittab文件。在/etc/inittab文件中找到”initdefault”的那一行,将其修改为“id:3:initdefault”,保存文件后重新启动计算机。 3.Linux系统用记登录后,超级用户的提示符是“#“,而其它用户登录后提示符是”$”。 4.登录字符界面后,可输入“startx”命令启动Linux图形化界面。 5.Fedora8 系统允许多个用户同时登录,还允许用户进行多次登录。字符界面下,虚拟控 制台的操作可以通过按下按下[ALT]键和一个功能键来实现(通常使用[F1]~[F6]键)。在图形界面下,则可使用[Ctrl+Alt+F1]~[Ctrl+Alt+F6]键切换不同的字符虚拟控制台,可使用[Ctrl+Alt+F7]键切换回图形界面。 6.Linux系统下常用的关闭和重启系统命令:(掌握语法与重要选项)

《Linux应用程序设计》复习题

.一、选择题 1.下面哪个命令是用来定义shell的全局变量( ) A. exportfs B. alias C. exports D. export 2. 将当前目录下的文件移动到目录/home/linux下的命令为。 A. cp /home/linux B. mv /home/linux C. lls / home/linux/ D. mv /root/ /home/linux/ 3.如果要列出一个目录下的所有文件需要使用命令行( )。 A. ls –l B. ls-t C. ls –a D. ls –d 下Makefile文件中,表示第一个依赖目标的系统变量是() A.$@ B.$* C.$< D.$# 位系统下,定义一个指向字符类型的变量short i,那么sizeof(i)的值是( ) B.2 6.在用ls –l 查看文件属性时,字符设备文件类型的标志是( ) 7. 在linux下进行shell编程时,注释符是。 A. # B. /* */ D. 以上都不对 8. 任何时候用户需要回到用户主目录时可以使用命令。 A. cd B. pwd C. path D. cd . 9. 下列属于文件包含的命令是_________。 A. #define N 25 B. #endif C. #include "" D. #else 10. 下列关于Linux安装的说法中,不正确的是。 A.如果计算机的内存为128MB,则SWAP分区(交换分区)的大小通常设定为256M。 B.安装时Linux分区的文件系统类型一般为ext2或ext3。

C.安装时要进行磁盘分区,如果选择“自动分区”,系统会自动保留硬盘上原来的数据。 除了可以从光盘安装外,还可以从网上下载Linux的iso映像文件,从硬盘安装。 11. 下列说法中,不正确的是。 A. Shell程序编写完后还需要用gcc编译器编译。 B.可以通过将shell程序作为sh命令的输入来执行shell程序。 C. shell程序中定义的函数不能有参数。 D. Linux是免费使用和自由传播的类UNIX操作系统,但它并不是没有版权。 二.判断题 init 启动进程需要读取的系统配置文件是/etc/inittab。(√) 下令某个进程在后台运行,可在此命令后面加符号&。( √) 3.如果route add default gw netmask 命令成功运行的话,此机器的IP地址有可能是。 (X ) 程序编写完后还需要用gcc编译器编译。(X ) 5.计算机内存中正数的补码和原码一样,负数的补码等于其原码加1(X ) 6.在RedHat中cd ~ 这个命令会把你送回到你的家目录。(√) 三.填空题 IP协议采用四层层级结构,从下到上分别是:网络接口层.____ 互联网络层______ 、_ ___传输层______ .和应用层。 2.使用GCC 生成可执行文件似乎是一步完成的,实际上经历了如下四个步骤:__预处理____.编译.汇编和__连接______。 3.一个C语言程序的执行起点是__主函数________。

相关文档
最新文档