Linux 复习题
- 格式:doc
- 大小:84.50 KB
- 文档页数:21
Linux复习题一、单项选择题1. Linux在确定文件名filename是否代表目录文件时,依据( C )。
A. 由程序员指定B. filename是否位于/etc目录中C. 该文件i结点中的类型信息D. filename中的扩展名2. . ls命令用于(A )。
A. 查看目录的内容B. 查看文本文件的内容C. 查看帮助D. 查看打印机3. rmdir命令可( B )。
A. 创建子目录B. 删除子目录C. 移动子目录D. 命名子目录4. cat命令可( B )。
A. 设置捕鼠器B. 查看子目录内容C. 查看文本文件内容D. 查看二进制文件5. stdin表示( C )。
A. 标注错误B. 标准输出C. 标准输入D. 标准打印6. cp命令用于( A )。
A. 拷贝文件B. 查询数据库C. 网络连接D. 执行命令7. 在创建Linux分区时,一定要创建(D )两个分区A. FAT/NTFSB. FAT/SWAPC. NTFS/SWAPD.SW AP/根分区8 .在Red Hat Linux 9中,系统默认的(A)用户对整个系统拥有完全的控制权。
A. rootB. guestC. administratorD.supervistor.9. 如果要列出一个目录下的所有文件需要使用命令行( C )。
A. ls –lB. lsC. ls –a(所有)D. ls –d10. 除非特别指定,cp假定要拷贝的文件在下面哪个目录下( D )A. 用户目录B. home目录C. root目录D. 当前目录11. 按下(A )键能终止当前运行的命令A. Ctrl-CB. Ctrl-FC. Ctrl-BD. Ctrl-D12. 用来分离目录名和文件名的字符是( B )A. dash (-)B. slash (/)C. period (.)D. asterisk(*)13.在下列分区中,Linux默认的分区是(B )A. FAT32B. EXT3 C FAT .D NTFS14.Linux文件权限一共10位长度,分成四段,第三段表示的内容是___C___ 。
一单选题1.最初开发了Linux系统的是()A.Andrew S. Tanwnbaum B.Linus TorvaldsC.Ken Thompson D.Dennis Ritchie2.linux操作系统内核创始人是()A.Bill Gates B.Richard StallmanC.Linus Torvalds D.Dennis Ritchie3.linux操作系统下有很多应用软件,其中大部分软件包括linux本身属于()A.商业软件B. 共享软件C.自由软件D.其他类型软件4.Linux系统是一个什么样的操作系统()A.单用户、单任务B.单用户、多任务C.多用户、单任务D.多用户、多任务5.Linux 核心的许可证是什么()A.NDA B.GDP C.GPL D.GNU6.若要将鼠标从VM中释放出来,可按什么键来实现()A. Ctrl + AltB. Ctrl +Alt +DelC. Ctrl +Alt +Enter D Ctrl +Enter7.用"rm -i",系统会提示什么来让你确认()A. 命令行的每个选项B. 是否真的删除C. 是否有写的权限D. 文件的位置8.下列提法中,不属于ifconfig命令作用范围的是()A 配置本地回环地址B 配置网卡的IP地址C 激活网络适配器D 加载网卡到内核中9.下列文件中,包含了主机名到IP地址的映射关系的文件是()A /etc/HOSTNAMEB /etc/hostsC /etc/resolv.confD /etc/networks10.在shell中变量的赋值有四种方法,其中,采用name=12的方法称()A 直接赋值B使用read命令C 使用命令行参数D使用命令的输出11.显示文件的头部的命令是()A.fdisk B.mount C.head D.man12.删除不需要的文件的命令是()A.mkdir B.rm C.mv D.remove13.Linux的根分区的文件系统类型是()A.FAT16 B.FAT32 C.ext3 D.NTFS14.登录后希望重新加载fstab文件中的所有条目,我们可以以root身份执行哪个命令()A.mount –d B.mount –c C.mount –a D.mount -b15.下面不具备循环功能的语句是()A.if B.for C.while D.until16.内核不包括的子系统是()A 进程管理系统B 内存管理系统C 文件管理系统D硬件管理系统17.对名为fido的文件用chmod 551 fido 进行了修改,则它的许可权是()A -rwxr-xr-xB -rwxr--r--C -r--r--r--D -r-xr-x--x18.将光盘/dev/hdc卸载的命令是()A umount /dev/hdcB unmount /dev/hdcC umount /mnt/cdrom /dev/hdcD unmount /mnt/cdrom /dev/hdc19.Linux文件系统的文件都按其作用分门别类地放在相关的目录中,对于外部设备文件,一般应将其放在哪个目录中()A /binB /etcC /devD /lib20.Linux将存储设备和输入/输出设备均看做文件来操作,哪个不是以文件的形式出现()A 目录B 软链接C i节点表D 网络适配器21.在Shell脚本中,用来读取文件内各个域的内容并将其赋值给Shell变量的命令是()A foldB joinC trD read22.修改用户自身的密码可使用()A. passwdB. passwd -d mytestC. passwd mytesD. passwd -l23.用于文件系统直接修改文件权限管理命令为()A. chownB. chgrpC. chmodD. umask24.若使pid进程无条件终止使用的命令是()A. kill -9B. kill -15C. killall -1D. kill -325.下列设备属于块设备的是()A.键盘B.终端C.游戏杆D.硬盘26.在vi编辑器里,命令"dd"用来删除当前的()A. 行B. 变量C. 字D. 字符27.Linux文件权限一共10位长度,分成四段,第三段表示的内容是()A 文件类型B 文件所有者的权限C 文件所有者所在组的权限D 其他用户的权限28.linux临时目录一般存在下面那个文件夹中()A /tmpB /procC /dataD /dev29.要配置NFS服务器,在服务器端主要配置文件()A /etc/rc.d/rc.inet1B /etc/rc.d/rc.MC /etc/exportsD /etc/rc.d/rc.S30.下列变量名中有效的shell变量名是()A -2-timeB _2$3C trust_no_1D 2004file31.想要看到命令执行后的返回值应在echo命令后使用参数()A.$# B.$! C.$* D.$?32.删除当前目录abc以及下面的所有子目录和文件,并不要求提示任何确认信息的命令是()A.del abc\*.* B.rm –rf abc C.rmdir abc D.rm –r abc\ *.* 33.某用户的主目录中有两个文本文件mail_a.txt和mail_b.txt,现在该用户想把mail_a.txt中的内容追加到mail_b.txt文件的尾部,那么应该使用()A.cat mail_a.txt > mail_b.txt B.cat mail_a.txt < mail_b.txtC.cat mail_a.txt >> mail_b.txt D.cat mail_a.txt | mail_b.txt34.linux中图象文件属于()A.文本文件B.连接文件C.特殊文件D.二进制文件35.在缺省情况下,使用ls -color命令显示当前目录下的所有文件时,对于可执行文件一般显示为()A.红B.绿C.黄D.蓝36.确定myfile的文件类型的命令是什么()A. type myfileB. type -q myfileC. file myfileD.whatis myfile37.用来分离目录名和文件名的字符是什么()A. slash (/)B. period (.)C. dash (-)D. asterisk (*)38.你想显示文件"longfile"的最后10行,下面那个命令是正确的()A. tail logfileB. head -10 longfileC. taid -d 10 longfileD. head longfile39.假如你得到一个运行命令被拒绝的信息,你可以用哪个命令去修改它的权限使之可以正常运行()A. path=B. chmodC. chgrpD. chown40.下面哪个Linux命令可以一次显示一页内容?()A.pause B.cat C.more D.grep41.怎样更改一个文件的权限设置?()A.attrib B.chmod C.change D.file42.如果你的umask设置为022,缺省的,你创建的文件的权限为()A.----w--w- B.-w--w---- C.r-xr-x--- D.rw-r--r--43.在一行结束位置加上什么符号,表示未结束,下一行继续?()A.\ B./ C.: D.|44.下面哪种写法表示如果cmd1成功执行,则执行cmd2命令()A.cmd1&&cmd2 B.cmd1|cmd2 C.cmd1;cmd2 D.cmd1||cmd245.在vi中退出不保存的命令是()A.:q B.:w C.:wq D.:q!46.下面哪个文件定义了网络服务的端口()A./etc/netport B./etc/services C./etc/server D./etc/netconf47.为了查看某接口是否正在工作,我们可以使用()A.ifup B.alias C.netcfg D.ifconfig48.linux中,显示当前登录用户详细信息的是()A.uname B.who C.who ami D.whose49.在linux中有关IDE设备命名编号正确的有()A.sda 第一个 IDE 控制器,主设备B.sdb 第二个 IDE 控制器,次设备C.hdb 第二个 IDE 控制器,主设备D.hda 第一个 IDE 控制器,主设备50.使普通用户可执行超级用户文件的命令是()A.chmod +v B.usermod +v C.chmod +s D.usermod +s51.以下哪种不是LINUX的SHELL类型()A.bash B.ksh C.rsh D.csh52.rm -rf filename的含义()A.强行删除filenameB.删除filename文件,删除时给予提示C.只是针对filename进行删除D.递归强行删除filename下的所有文件53.ps命令显示结果中STAT的s代表()A.运行B.休眠C.终止D.挂起54.为了达到使文件的所有者有读(r)和写(w)的许可,而其他用户只能进行只读访问,在设置文件的许可值时,应当设为()A.566 B.644 C.655 D.74455.不是shell具有的功能和特点的是()A.管道B.输入输出重定向C.执行后台进程D.处理程序命令56.下列对shell变量FRUIT操作,正确的是()A.为变量赋值:$FRUIT=appleB.显示变量的值:fruit=appleC.显示变量的值:echo $FRUITD.判断变量是否有值:[-f“$FRUIT”]57.Linux中第一个IDE接口从盘可以表示为()A./dev/had B./dev/hdb C./dev/sdb D./dev/sdc58.下面关于命令mv说法错误的是()A.mv命令可以重命名文件B.mv命令可以移动文件C.mv命令可以复制文件D.mv命令可以删除文件59.在使用ln建立文件链接时,为了不分配新的i node,需要使用()A.普通链接B.硬链接C.软链接D.特殊链接60.关于tar命令,下列说法正确的是()A.-x 参数,用于解压缩B.-x 参数,用于还原C.-c 参数,用于还原D.-c 参数,用于解压缩61.grep -v,表示()A.只显示整行严格匹配的行B.只显示匹配行的数量C.只显示不包含匹配串的行D.指定检索使用的模式62.Redhat Linux默认的SHELL程序是什么()A.bash B.tcsh C.ksh D.bsh63.为了查找出当前用户运行的所有进程的信息,我们可以用命令()A.ps -a B.ps -u C.ls -a D.ls -l64.GNU的含义是()A.GNU是UNIX B.GNU不是UNIX C.UNIX工程D.GNU工程65.以下哪个是LINUX 管道符()A.| B.> C.>> D.<66.在vi中,5yy表示()A.复制当前行及以下4行B.复制当前行下面的5行C.粘贴当前行及以下4行D.粘贴当前行下面的5行67.使用fdisk工具列出Linux支持的所有分区类型,可以使用命令()A.pB.lC.y D.u68.你在vi编辑器中对文本文件中的某行进行删除后,发现该行内容需要保留,重新恢复该行内容最佳的操作方法是()A.在编辑模式下重新输入该行B.不保存退出vi,并重新编辑该文件C.在命令模式下使用“u”命令D.在命令模式下使用“.”命令69.Linux通过VFS支持多种不同的文件系统。
Linux复习题一、选择题1.组台键( A )可用于关闭X window图形化用户界面。
A Ctrl+Alt+BackSpaceB Ctrl+Alt+SpaceC Ctrl+Shift+BackSpaceD Ctrl+Shift+Space2.pwd命令功能是(D)。
A 设置用户的口令B 显示用户的口令C 相当于Windows命令行界面输入cd命令D 相当于在Windows命令行界面输入命令dir3.以下( C )文件保存有用户账号的信息。
A./etc/users B./etc/gshadowC./etc/shadow D /etc/inittab4.超级用户的用户主目录是(B)。
A /目录B /root目录C /home目录D /home/root目录5.超级用户的UID为( A )。
A.0 B.1 C. 2 D.5006.执行命令“chmod o-rw myfile”后,myfile文件的权限变化为( B )。
A.同组用户可读写myfile文件B.其他用户可读写myfile文件C.所有用户都可读写myfile文件D.文件所有者读写myfile文件7.Linux中与Windows系统中Program Files文件夹功能相类似的目录是( D )。
A /varB /homeC /procD /usr8.要删除目录/home/user1/subdir连同其下级目录和文件,不需要依次确认,正确命令是( A )。
A rmdir –p /home/userl/subdirB rmdir -pf /home/userl/subdirC rm -df /home/userl/subdirD rm -rf /home/userl/subdir9.Linux系统中进程的优先级取值范围是( A )。
A. -20~19B. 20~-19C.-19~20 D.19~-2010.进程调度cron,at和batch中,可以多次执行的是( A )。
Linu期末考试复习试题含答案Linux期末考试复习试题含答案一、单项选择题1. 下列哪个命令可以用于在Linux系统中创建文件夹?a) mvb) cpc) rmd) mkdir答案:d) mkdir2. 下列哪个命令可以用于在Linux系统中显示当前工作目录?a) lsb) cdc) pwdd) grep答案:c) pwd3. 在Linux系统中,以下哪个命令用于将文件内容打印到终端上?a) catb) echoc) lessd) head答案:a) cat4. 在Linux系统中,要将一个文件copy至另一个目录,可以使用以下哪个命令?a) cpb) mvc) rmd) mkdir答案:a) cp5. 在Linux系统中,以下哪个命令可以用于查找某个文件或目录?a) findb) grepc) lsd) touch答案:a) find二、填空题1. 在Linux系统中,修改文件权限的命令是 _________。
答案:chmod2. 在Linux系统中,以管理员身份运行命令的命令是 _________。
答案:sudo3. 在Linux系统中,将某个文件重命名的命令是 _________。
答案:mv4. 在Linux系统中,创建一个空文件的命令是 _________。
答案:touch5. 在Linux系统中,以当前用户身份切换至另一个用户的命令是_________。
答案:su三、简答题1. 请解释Linux系统中的"root"用户是什么意思,以及它的作用。
答案:在Linux系统中,"root"用户是超级用户,拥有系统中所有权限的特殊用户。
它的作用是可以对系统进行完全的控制和管理,可以更改系统的核心设置,安装和卸载软件,以及对其他用户和文件进行操作。
2. 请简要介绍Linux系统中的三种常见文件权限,并解释每种权限的具体含义。
答案:- 读权限(r): 允许用户查看文件的内容或者读取目录中的文件列表。
Linux期末考试复习题--completed on Nov 17,2013 by lvlv一、选择题1.下列关于Linux说法中,不正确的是( B )A。
Linux操作系统具有虚拟内存的能力B。
Linux操作系统不是UNIX系统的变种,因此Linux上程序不适合UNIX平台上运行 C。
Linux操作系统不限制应用程序可用内存的大小D. Linux操作系统支持多用户,在同一时间可以有多个用户使用主机解析:与传统的网络操作系统相比,Linux操作系统主要有以下几个特点:不限制应用程序可用内存的大小;具有虚拟内存的能力,可以利用硬盘来扩展内存:允许在同一时间内,运行多个应用程序;支持多用户,在同一时间内可以有多个用户使用主机;具有先进的网络能力,可以通过TCP/IP协议与其他计算机连接,通过网络进行分布式处理;符合Unix标准,可以将 Linux上完成的程序移植到Unix主机上去运行;Linux操作系统是免费软件,并且开放源代码,这是其与其他网络操作系统最大的区别.2.Linux交换分区的作用是(C).A.保存系统软件 B.保存访问过的网页文件C.虚拟内存空间 D.作为用户的主目录3. 如果执行命令 #chmod 746 file.txt,那么该文件的权限是(A)。
A。
rwxr--rw- B。
rw-r--r—- C. ——xr-rwx D. rwxr-—r—4. Linux有三个查看文件的命令,若希望在查看文件内容过程中可以用光标上下移动来查看文件内容,应使用命令(C)A.cat B。
more C。
less D. menu解析:less具有more相同的功能,同时支持方向键和前翻页,后翻页滚屏。
more只能用空格键下翻,不小心翻多了就没法反回看.5. 若一台计算机的内存为8GB,则交换分区的大小通常是(C)A.64GB B。
128GB C。
16GB D。
32GB解析:交换分区的大小一般为内存的两倍.6. 在使用mkdir命令创建新的目录时,在其父目录不存在时先创建父目录的选项是(B)A.—m B. —p C。
目录1.1 Linux操作系统安装、登录及删除 (2)1.2:图形化用户界面 (5)1.3:字符界面及文本编辑器 (6)2.1:用户与组群管理 (8)2.2:文件系统及文件管理 (9)2.3:进程管理与系统监视 (12)3.1:网络配置 (13)3.2:网络服务器配置 (14)4:Linux下的C语言编程 (17)1.1 Linux操作系统安装、登录及删除一、选择题1.Linux最早是由哪位计算机爱好者开发?()A)Linus Torvalds B)Richard Peteresen C)Linux Sarwar D)Rob Pick2.下列哪个选项不是Linux支持的?()A)多用户B)多进程C)可移植D)非自由3.Linux是所谓的“Free Software”,这个“Free”的含义是什么?()A)Linux不需要付费B)Linux发行商不能向用户收费C)Linux可自由修改和发布D)只有Linux的作者才能向用户收费4.关于Linux内核版本号的含义,下列说法中哪个是错误的?()依次表示为主版本号.次版本号.修正次数的形式B)2.6.24表示稳定的发行版C)2.6.28表示对内核2.6的第28次修正D)2.6.29表示稳定的发行版5.以下哪个软件不是Linux发行版本?()Linux发行拥有发布内核的权利任何Linux发行版都不拥有发布内核的权利发行版本的版本号与内核版本号相对独立各发行版本之间的差别主要在于内核版本不同6.Linux系统最基础的组成部分是?()A)内核 B)Shell C)X Window D)GNOME7.Linux适合嵌入式系统,是因为它具有下列哪些优点?()A)功能强且内核小 B)内核可免费获得且能自由修改C)很强的移植性 D)上述特点都是8.下面关于Shell的说法,不正确的是哪个?()A)操作系统的外壳 B)用户与Linux内核之间的接口C)一种和C类似的高级程序设计语言 D)一个命令语言解释器9.以下哪种Shell不能在Linux环境下?()A)B Shell B)Bash C)C Shell D)R Shell10.与Windows相比Linux在哪个方面应用相对较少?()A)桌面 B)服务器 C)嵌入式系统 D)集群11.安装Linux至少需要几个分区? ()A)1 B)2 C)4 D)512./dev/hda5在Linux中表示什么? ()A)IDE0接口上的从盘 B)IDE0接口上主盘的逻辑分区C)IDE0接口上主盘的第五个分区 D)IDE0接口上从盘的扩展分区13.超级用户的口令必须符合什么要求? ()A)至少5个字符,且大小写敏感 B)至少6个字符号,且大小写敏感C)至少5个字符,且大小写不敏感 D)至少6个字符号,且大小写不敏感14.你安装RedHat Linux 9.0,该系统中有一个文件/dev/hda2。
《Linux操作系统》复习题一、选择题:1、在linux中有关IDE设备命名编号正确的有( D )A. sda 第一个 IDE 控制器,主设备B. sdb 第二个 IDE 控制器,次设备C.hdb 第二个 IDE 控制器,主设备D. hda 第一个 IDE 控制器,主设备2、linux操作系统内核创始人是( C )。
A. Bill GatesB. Richard StallmanC. Linus TorvaldsD. Dennis M· Ritchie、Ken Thompson3、Linux中,Tomcat的启动命令是( A )。
A.startup.sh B.startup.bat C.shutdown.sh D.shutdown.bat4、在Linux中,可以使用( B )配置网络。
A.网络管理工具 B. Samba服务器配置工具C. 网络接口D. 日志查看器5、为了将当前目录下的归档文件myftp.tgz解压缩到/tmp目录下,我们可以使用( A )。
A. tar xvzf myftp.tgz -C /tmpB. tar xvzf myftp.tgz -R /tmpC. tar vzf myftp.tgz -X /tmpD. tar xvzf myftp.tgz /tmp6、下列Shell预定义的变量中,包含用户在命令中指定的变元数目的是( D ) 。
A.$0 B.$1 C.$* D.$#7、默认情况下,Linux的大多数日志位于( B ) 。
A. /etc/syslog.conf B. /var/log/C. /var/log/program-name/ D. 以上均不是8、如果用户的网络中有DHCP服务器,则在( A )时,用户必须单击DynamicAddresses with DHCP。
A.配置网络接口 B. 配置主机名C.配置DNS D. 配置主机文件9、如果需要新建一个用户rose,但其密码由该客户第一次登录进系统后修改,可使用哪个命令( A )。
1.Linux最初是以( B MINIX )操作系统为模板而开发出来的。
2.自由软件的含义是( B 软件可以自由修改和发布)。
3.clear 命令的作用(A 清除终端窗口 )4.使用命令 chmod 的数字设置,可以改变 (C 文件/目录的访问特权)5.Linux 安装界面上有 3 个选项供用户选择,不包含下述哪种方式(D Setup 图标)6. 绝大多数Linux分区使用的典型文件系统类型是( D ext3 )。
7.一个文件的权限是-rw-rw-r--,这个文件所有者的权限是(C read-write )。
8. RHEL server默认的图形用户桌面是(B GNOME)9.在Linux系统中,硬件设备大部分是安装在(B /dev )目录下的。
10.RedHad Linux系统中用户默认的Shell是(A bash)11.Linux系统是一个(D 多用户、多任务)的操作系统12.要给文件file1加上所有用户可执行属性的命令是(A chmod a+x )13.对于所有用户都能写的文件权限是(A 777)14.下列不是linux优点的是(D单线程)15.查看系统当中所有进程的命令是(D ps -aux)16.以下哪一项不是进程和程序的区别?( B 程序只能在前台运行,而进程可以在前台或后台运行)17.我们将逻辑分区建立在___分区上?(B 扩展分区 )18. 在Linux中,系统配置文件存放在(A /etc )目录下的。
19.谁是Linux的创始人?( D Linus Torvalds)20.如果当前目录是/home/sea/china,那么”china”的父目录是哪个目录( A /home/sea )21.下面关于Shell的说法,不正确的是(D 一种和C类似的程序语言)22. 使用$cd ~ 命令后,我们会进入(A用户的主目录 )23. root用户的shell命令提示符是(C [root@localhost ~ ]#)24. root 用户的UID 是(B 0 )25. root 用户的基本组是(D root)26. Linux 命令中各组成部分的一般顺序是什么? (B command -options args )27. (A wc)命令的功能为统计指定文件中的字节数、字数、行数, 并将统计结果输出。
Linux复习题(答案)一.填空题:1. 在Linux系统中,以文件方式访问设备。
2. Linux内核引导时,从文件/etc/fstab中读取要加载的文件系统。
3. Linux文件系统中每个文件用索引节点来标识。
Linux文件系统使用索引节点来记录文件信息,作用于Windows的文件分配表类似,索引节点是一个数据结构,它包含了一个文件的文件名,位置,大小,建立或修改时间,访问权限,所属关系等文件控制信息,一个文件系统维护了一个索引节点的数组,每个文件或目录都与索引结点数组中的唯一一个元素对应,系统为每个索引结点分配了一个号码,也就是该结点在数组中的索引号,称为索引结点号。
Linux文件系统将文件索引结点号和文件名同时保存在目录中,所以目录只是将文件的名称和它的索引结点号结合在一起的一张表。
目录中每一对文件名称和索引结点号称为一个连接。
4. 全部磁盘块由四个部分组成,分别为引导块、专用块、i节点表块和数据存储块。
Linux系统中的每个文件都被赋予一个唯一的数值,这个数值称做索引节点。
索引节点存储在一个称作索引节点表<inode table>中,该表在磁盘格式化时被分配。
每个实际的磁盘或分区都有其自己的索引节点表。
一个索引节点包含文件的所有信息,包括磁盘上数据的地址和文件类型。
文件类型包括如普通文件、目录和特殊文件这样的信息。
linux硬盘组织方式为:引导区、超级块(superblock),索引结点(inode),数据块(datablock),目录块(diredtory block)。
其中超级块中包含了关于该硬盘或分区上的文件系统的整体信息,如文件系统的大小等;超级块后面的数据结构是索引结点,它包含了针对某一个具体文件的几乎全部信息,如文件的存取权限、所有者、大小、建立时间以及对应的目录块和数据块等;数据块是真正存储文件内容的位置。
但是索引结点中不包括文件的名字,文件名是放在目录块里的。
目录块里包含有文件的名字以及此文件的索引结点编号。
LINUX复习题参考答案一.填空题:1.在Linux系统中,以文件方式访问设备。
2.链接分为:硬链接和符号链接。
3.某文件的权限为:drw-r--r--,用数值形式表示该权限,则该八进制数为: 644,该文件属性是目录。
4.前台启动的进程使用Ctrl+c终止。
5.安装Linux系统对硬盘分区时,必须有两种分区类型:文件系统分区和交换分区。
6.编写的Shell程序运行前必须赋予该脚本文件执行权限。
7.系统交换分区是作为系统虚拟存储器的一块区域。
8.内核分为进程管理系统、内存管理系统、 I/O管理系统和文件管理系统等四个子系统。
9.唯一标识每一个用户的是用户ID和用户名。
10.在Linux系统中所有内容都被表示为文件,组织文件的各种方法称为文件系统。
11.DHCP可以实现动态 IP 地址分配。
12.Ping命令可以测试网络中本机系统是否能到达一台远程主机,所以常常用于测试网络的连通性。
13.vi编辑器具有两种工作模式:命令模式和输入模式。
14.可以用ls –al命令来观察文件的权限,每个文件的权限都用10位表示,并分为四段,其中第一段占 1 位,表示文件类型,第二段占3位,表示文件所有者对该文件的权限。
15.进程与程序的区别在于其动态性,动态的产生和终止。
16.DNS实际上是分布在internet上的主机信息的数据库,其作用是实现 IP地址和主机名之间的转换。
17.进行字符串查找,使用grep命令,使用 * 每次匹配若干个字符。
18.增加一个用户的命令是:adduser或useradd 。
19.Linux使用支持Windows 9.x/2000长文件名的文件系统的类型是vfat。
20.在Linux系统中,用来存放系统所需要的配置文件和子目录的目录是/etc。
21.硬连接只能建立对文件链接。
符号链接可以跨不同文件系统创建。
22.结束后台进程的命令是kill。
23.在超级用户下显示Linux系统中正在运行的全部进程,应使用的命令及参数是ps -aux。
《Linux System Programming》复习题1.简述API及ABI。
答:API(Application Programming Interface)应用程序接口,API规定了软件模块之间在源代码层交互的接口。
它通过提供一组标准接口(通常以函数的方式)进行抽象:一个程序片段(一般是较高层次的代码,但不见得一定是)可以调用另一个程序片段(通常位于较低层次)。
ABI(Application Binary Interface)应用程序二进制接口,ABI定义的是在特定的架构上两个或者多个软件模块之间的二进制接口。
定义了一个应用如何和自己交互,如何和内核以及库进行交互。
ABI主要关注的问题有调用约定、字节序、寄存器使用、系统调用、链接、库行为和二进制格式。
在Linux系统中,每一个机器架构都有自己的ABI集合。
2.简述使用基于系统调用的文件处理函数读写文件的过程。
答:首先使用open函数打开需要调用的文件,open函数有两个参数,第一个是打开的文件路径,第二个是打开的模式,该模式可以为只读、只写等。
open函数会返回打开文件的标记符fd。
利用fd可以对文件进行读写操作:若进行读,则使用read函数,read函数有三个参数,分别是要读的文件的标记符fd,将内容读到何处对应的区域指针buf和读取的长度len。
系统会直接将需要读取的内容存入到指定的缓冲区中。
若进行写,则使用write函数,write函数有三个参数,分别是要写的文件的标记符fd,将何处的内容写进文件对应的区域指针buf和写入的长度len。
系统会直接将需要写入的内容存入到指定的文件中。
最后需要利用close函数来关闭打开的文件。
3.简述常用基于系统调用的文件处理函数的使用方法,包括函数原型及参数意义。
答:(1)打开文件:通过open()函数调用来打开一个文件并获得一个文件描述符。
函数原型:#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>int open (const char *name, int flags);int open (const char *name, int flags, mode_t, mode);参数:name:文件路径名。
flags:O_RDONL Y只读、O_WRONL Y 只写、O_RDWR读写mode:除非创建了新文件,否则mode参数会被省略;而当O_CREA T给出时则需要,mode参数用于指定新文件的权限。
返回值:调用成功时返回一个文件描述符,错误时返回-1。
(2)创建文件:通过creat()函数调用来创建一个文件并获得一个文件描述符。
函数原型:#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>int creat (const char *name, mode_t mode);参数:name:文件路径名。
mode:用于指定新文件的权限。
返回值:调用成功时返回一个文件描述符,错误时返回-1。
(3)读文件:通过read()函数调用来读取一个文件。
函数原型:#include <unistd.h>ssize_t read (int fd, void *buf, size_t len);参数:fd:文件描述符。
buf:用于写入的缓冲区。
len:写入缓存区的字节数返回值:调用成功时返回写入buf中的字节数,错误时返回-1,并置error。
若返回为0。
则表示已经读取到文件的末尾。
(4)写文件:通过read()函数调用来读取一个文件。
函数原型:#include <unistd.h>ssize_t write (int fd, const void *buf, size_t count);参数:fd:文件描述符。
buf:存储要写入的字符的缓冲区。
count:写入的字节数返回值:调用成功时返回写入的字节数,并更新文件位置,错误时返回-1。
(5)同步输入输出:通过fsync()和fdatasync()控制读写的同步,或使用sync()对所有缓冲区进行同步。
(a)fsync()将fd对应文件的脏数据回写到磁盘上,该调用回写数据以及建立的时间戳和inode中的其他属性等元数据。
函数原型:#include <unistd.h>int fsync (int fd);参数:fd:文件描述符。
返回值:调用成功时返回0,错误时返回-1,并设置error。
(b)fsync()将fd对应文件的脏数据回写到磁盘上,但该调用不保证元数据同步到磁盘上。
函数原型:#include <unistd.h>int fdatasync (int fd);参数:fd:文件描述符。
返回值:调用成功时返回0,错误时返回-1,并设置error。
(c)sync()对所有缓冲区进行同步。
函数原型:#include <unistd.h>void sync (void);参数:无。
返回值:无,总是成功返回。
(6)关闭文件:通过close关闭用fd打开的文件。
函数原型:#include <unistd.h>int close (int fd);参数:fd:文件描述符。
buf:存储要写入的字符的缓冲区。
count:写入的字节数返回值:调用成功时返回0,错误时返回-1,并设置error。
(7)文件定位:lseek()能够对给定文件描述符引用的文件位置设定指定值。
函数原型:#include <sys/types.h>#include <unistd.h>off_t lseek (int fd, off_t pos, int origin);参数:fd:文件描述符。
pos:定位到的文件位置。
origin:参考的文件位置,有SEEK_CUR(当前位置)、SEEK_END(文件末尾)、SEEK_SET(文件开头)返回值:调用成功时返回新文件位置,错误时返回-1,并设置error。
4.简述使用C函数库带缓冲的文件处理函数读写文件的过程。
答:首先使用fopen函数打开需要调用的文件,fopen函数有两个参数,第一个是打开的文件路径,第二个是打开的模式,该模式可以为只读、只写等。
fopen函数会返回打开文件的文件指针*FILE。
利用*FILE可以对文件进行读写操作:若进行读,则使用fread函数,fread函数有四个参数,分别是缓冲区buf,buf的大小,每次读取的buf数,操作的文件指针。
系统会将需要读入的内容先存入到系统的缓冲区中,然后按照一定的长度再分批读入指定的区域中。
若进行写,则使用fwrite函数,fwrite函数有四个参数,分别是缓冲区buf,buf的大小,每次写入的buf数,操作的文件指针。
系统会将需要写入的内容先存入到系统的缓冲区中,然后按照一定的长度再分批写入文件中。
最后需要利用fclose函数来关闭打开的文件。
5.简述C函数库常用带缓冲的文件处理函数的使用方法,包括函数原型及参数意义。
答:(1)打开文件:通过fopen()函数调用来打开一个文件并获得一个文件指针。
函数原型:#include <stdio.h>FILE* fopen(const char * path, const char * mode);参数:path:文件路径名。
mode: 打开的模式:r读取,定位在文件开头处;r+读写,定位在文件开头处;w写入,如果已存在就清空,如果未存在就创建,定位在文件开头处;w+读写,如果已存在就清空,如果未存在就创建,定位在文件开头处;a追加写入,如果未存在就创建,定位在文件末尾;a+追加读写,如果未存在就创建,定位在文件末尾;返回值:调用成功时返回一个文件指针,错误时返回NULL。
(2)通过文件描述符打开:将一个已打开的文件描述符fd转成一个流。
函数原型:#include <stdio.h>FILE * fdopen (int fd, const char *mode);参数:fd:文件描述符。
mode:打开的模式:必须和原来fd对应的模式匹配。
返回值:调用成功时返回一个文件指针,错误时返回NULL。
(3)关闭文件:通过fclose()函数调用来关闭一个已经打开的文件。
函数原型:#include <stdio.h>int fclose (FILE *stream);参数:stream:文件指针。
返回值:调用成功时返回0,错误时返回EOF。
(4)关闭所有流:通过fcloseall()关闭所有和当前进程相关的流,包括标准输入、标准输出、标准错误。
函数原型:#define _GNU_SOURCE#include <stdio.h>int fcloseall (void);参数:无。
返回值:调用始终返回0。
(5)读取数据:分为单个字节的读取、单行的读取、二进制数据读取。
(a)单字节的读取:从流中读取下一个字符并把该无符号字符强转为int返回。
函数原型:#include <stdio.h>int fgetc (FILE *stream);参数:stream指向的流必须以可读模式打开。
返回值:调用成功时返回字符转换后的int,错误时返回EOF。
(b)把字符放回流中:把c转换成一个无符号字符并放回流中。
函数原型:#include <stdio.h>int ungetc (int c, FILE *stream);参数:int为要放入的字符对应的intstream指向的要放回的流。
返回值:调用成功时返回字符转换后的int,错误时返回EOF。
(c)按行读取:从流中读取一个字符串,函数从流中读取size-1个字节的数据,并把数据存入str。
函数原型:#include <stdio.h>int fgets (char *str, int size, FILE *stream);参数:str用来存放字符串的字符指针size存储的字符串的长度(最后加一个空字符)stream指向要读取的文件。
返回值:调用成功时返回str,错误时返回NULL。
(d)读取二进制文件:从流中读取二进制数据。
函数原型:#include <stdio.h>size_t fread (void *buf, size_t size, size_t nr, FILE *stream);参数:buf用来存放数据的缓冲区size每个数据长度nr 一次读取多少个数据stream指向要读取的文件。