unix-linux环境编程期末复习

unix-linux环境编程期末复习

ID:21620567

大小:81.00 KB

页数:23页

时间:2018-10-19

unix-linux环境编程期末复习_第1页
unix-linux环境编程期末复习_第2页
unix-linux环境编程期末复习_第3页
unix-linux环境编程期末复习_第4页
unix-linux环境编程期末复习_第5页
资源描述:

《unix-linux环境编程期末复习》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Unix/Linux环境编程期末复习一、填空题1.某文件的权限为:drwxr-xr-x,用数值形式表示该权限,则该八进制数为:755,该文件类型是目录。2.单字符正则表达式后跟星号(*),则匹配此单字符正则表达式的0次或任意多次出现。3.在vi编辑器中,存盘退出和不存盘退出的命令分别是:wq和:q!。4.在shell编程中,使用方括号表示测试条件时,最后一个参数必须是:右方括号]。5.管道的作用是将前一个命令的标准输出作为后一个命令的标准输入。6.在目录树中进行文件查找,一般使用find命令。7.硬连接的实质是:在不同目录表中可以有两个以上的目录项拥有相同的i节点号

2、。8.如果a=20,b=30,c=40,则命令echo‘($a+$b)*$c=?’和命令echo“($a+$b)*$c=?”的输出分别为:($a+$b)*$c=?,和(20+30)*40=?。9.利用open系统调用可以打开文件进行读写,该调用的返回值是:文件描述符,如果调用失败,其返回值是:-1。10.执行chmodu+s命令给可执行文件赋予SUID权限,其他用户就能够执行该程序以便访问只有执行文件属主才可以访问的其他文件。11.shell不仅是用户命令的解释器,它同时也是一种功能强大的编程语言。12.进行字符串查找,使用grep命令。13.使用*每次匹配若干个字

3、符。14.执行cchello.c命令后,生成的可执行程序名为:a.out。15.执行cc–ohellohello.c命令后,生成的可执行程序名为:hello。二、判断题1.命令ln仅允许对普通文件实现硬连接,对目录不许硬连接操作。所以,所有目录的link数总为1。答:错误。尽管命令ln仅允许对普通文件实现硬连接,对目录不许硬连接操作,但是,目录的硬连接由系统自动实现,当前目录下的.文件和子目录中的..文件,均是指向当前目录的硬连接,在创建新目录时系统自动实现。所以,目录的link数会大于1,一般情况下目录的link数=直属子目录数+2。2.一个文件的权限如果设置成对

4、所有用户只读,也就是r--r--r--,那么除了超级用户外其他用户既不可以修改该文件,也不可以删除。答:错误。上述权限设置文件为只读文件,这使得普通用户不可以修改文件的内容,因为没有写权限。但是,用户能否删除文件,是由该文件所处的目录的权限决定的,如果该文件所处的目录允许,就可以删除文件。3.用户liu为了保密,设置他的所有文件的权限为同组用户和其他用户都不可以读。尽管如此超级用户root仍然可以读取他的任何文件。答:正确。在UNIX系统中,超级用户不受文件访问权限的制约,可以随意读取和删除任何用户的文件。4.ASCII码文件必须是shell脚本程序,有可执行权限才

5、有意义,否则,无法执行。答:错误。任何文本文件都可以赋予可执行权限。默认情况下系统会启动一个shell进程解释执行文本文件的内容。程序员可以在文本文件的开头加#!行自行指定一个解释程序,当然可以是任意程序不一定是shell程序。5.fork后得到两个几乎完全相同的进程,父子进程有独立的数据区,所以,占用的系统内存是原先的两倍。答:错误。尽管fork后,从逻辑上可以得到两个几乎完全相同的进程,父子进程有独立的数据段、堆栈段和指令段,但是,操作系统可以通过使用copy-on-write技术等方式,使得父子进程可以共享同一段物理内存。三、改错题1.脚本程序如下:while

6、[–rlockfile]dols–llockfilesleep10 done错误:错在第一行whiletest–rlockfiledo。改为:应在lockfile与do之间加一个分号;,或让do另起一行。2.下面程序想在子进程中调用ps命令,该程序有两处错误,请改正之。intmain(void) { if(fork()<0){ execlp(“ps”,”-ef”,0); exit(0); } for(;;) sleep(1); }错误1:fork调用的条件判断错改正为:fork()==0;错误2:execlp调用缺少一个参数改正为:execlp(“ps”,“ps”,

7、”-ef”,0);四、简答及编程1.echo’*’与echo*的执行结果有什么区别?为什么?答:按照shell对文件通配符的处理方式,后者的*将被首先替换为当前目录下得所有文件和目录名,前者由于有了单引号,这种替换被禁止。所以,前者打印星号,后者打印当前目录下所有的文件和目录名。2.命令netstat有很多选项,如何得知使用哪个选项可以打印出ip的路由表?答:使用man命令,man命令可以在线查阅命令的使用手册,使用命令mannetstat查出netstat命令的使用手册,看看那个选项可以用来打印IP路由表。3.列出所有最近一个星期内曾修改过的所有文件的路径名。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。