当前位置:文档之家› Linux程序设计2018年度-2018年度期末试地的题目部分问题详解小东编辑

Linux程序设计2018年度-2018年度期末试地的题目部分问题详解小东编辑

Linux程序设计2018年度-2018年度期末试地的题目部分问题详解小东编辑
Linux程序设计2018年度-2018年度期末试地的题目部分问题详解小东编辑

兰州商学院2011-2012学年第二学期期末考试

Linux 程序设计 试卷A

一、单项选择题(每小题1分,共计20分)

1. Linux 在确定文件名filename 是否代表目录文件时,依据( C )。

A. 由程序员指定

B. filename 是否位于/etc 目录中

C. 该文件i 结点中的类型信息

D. filename 中的扩展名

2.

在进程p1中用系统函数execvp 执行程序p2,则( D )。 A. p1创建一个子进程执行p2 B. p2结束后返回prog1继续执行

C. p1和p2并行执行

D. p2将替换掉prog1的代码

3. 进程调用wait 将被阻塞,直到( D )。

A. 用户按任意键

B. 收到时钟信号

C. 子进程被创建 D . 子进程结束

4. Shell脚本中的注释用( C )标记。

A. //

B. /*…*/

C. #

D. *

5. head命令用于( B )。

A. 显示文件的前10行

B. 显示C语言头文件

C. 显示目录的前10行

D. 显示

6. bind调用用于( A )。

A. 为socket分配地址

B. 客户端与服务器连接

C. 接收socket上的连接

D. 监听socket上的连接

7. 一个进程收到SIGCHILD信号,表示( B )。

A. 创建子进程成功

B. 创建子进程失败

C. 子进程结束

D. 子进程开始运行

8. 当客户端用GET命令请求某文件时,Web服务器用返回码( B )表示没有该文件。

A. 200

B. 404

C. 8080. ②exit(0)

9. 删除命名管道的系统调用是( A )。

A. unlink

B. close

C. fcolse

D. dup2

10. 设可能有多个线程调用pthread_cond_wait(&buf_empty, &lock)后等待条件变量

buf_empty,当某线程pt1调用pthread_cond_signal(&buf_empty)后,( B )。

A. 所有等待buf_empty的线程被唤醒

B. 有一个等待buf_empty的线程被唤醒

C. 所有等待buf_empty的线程都没有被唤醒

D. 没有线程等待buf_empty时pt1被阻塞

11. ls命令用于(A )。

A. 查看目录的内容

B. 查看文本文件的内容

C. 查看帮助

D. 查看打印机

12. rmdir命令可( B )。

A. 创建子目录

B. 删除子目录

C. 移动子目录

D. 命名子目录

13. cat命令可( B )。

A. 设置捕鼠器

B. 查看子目录内容

C. 查看文本文件内容

D. 查看二进制文件

14. man命令可( D )。

A. 查看编译信息

B. 编译源程序

C. 查看用户信息

D. 查看帮助信息

15. 在Shell中Ctrl+D用于( B )。

A. 输入文件结束符

B. 撤销最近做的操作

C. 输出文件结束符

D. 输出文件名

16. pwd命令可( B )。

A. 查看密码

B. 查看当前目录

C. 查看在线用户

D. 查看终端

17. kill命令的功能是( C )。

A. 停止进程

B. 执行异步IO

C. 向进程发送信号

D. 查看帮助信息

18. stdin表示( C )。

A. 标注错误

B. 标准输出

C. 标准输入

D. 标准打印

19. 在Linux中执行命令时,重定向IO的是( D )。

A. 命令

B. 参数

C. 标准输入

D. Shell

20. cp命令用于( A )。

A. 拷贝文件

B. 查询数据库

C. 网络连接

D. 执行命令

二、判断题(每小题1分,共计10分)

1. open返回的文件描述符的类型为FILE* (>< )

2. 内核缓冲区位于磁盘文件中(\/)

3. lseek函数用于在文件中查找字符串(><)

4. 任何用户不能修改文件类型(>< )

5. 链接(link)是一个指向文件的指针(\/ )

6. 软件工具总是针对特殊的终端模式来设计()

7. 软件工具总是从标准输入或文件来获取需要处理的数据()

8. 所有的信号都可以被忽略(>< )

9. fdopen用于打开指定文件名的文件(>< )

10. fopen可以打开设备文件但不能打开磁盘文件(>< )

三、填空题(每空1分,共计10分)

1.(WHO )命令通过读系统日志的内容显示当前已经登录的用户。2.当系统调用出错时会把全局变量()设为相应的错误代码。

3.Ctrl+C按键可向进程发送(中断)信号。

4.命令$who>usrlist中的>表示(标准输出)重定向。

5.每个进程都有一个唯一的(ID )。

6.运行Linux程序时返回(0 )表示成功。

7. ()为程序提供了与文件、设备和其它进程通信的统一编程接口。8.Web服务器的请求和应答协议称为(超文本传输协议(http) )。9.Linux程序可以通过(缓冲)来减少访问磁盘IO的次数。10.文件描述符2称为(标准错误输出)。

四、简答题(每小题6分,共计30分)

1. 如何在Linux中获取必要的编程参考信息?

2. 进程如何处理信号?

(1)接受默认处理;(2)忽略信号;(3)调用一个函数;

3. Shell是如何实现输入重定向的?

(1)输出重定向的表示或者时机;

(2)调用close关闭文件描述符1,调用open打开文件,根据最低可用文件描述原则,新文件描述符为1,调用exec函数执行命令\命令的标准输出进入文件.

4. 请简要说明什么是搜索路径

5. 请简要说明你选择的是Linux发行版的特点?

五、代码分析(10分)

请分析下列脚本实现了什么功能。

who | sort > prev

while true

do

sleep 30

who | sort > current

echo "Logged out:"

comm -23 prev current

echo "Logged in:"

comm -13 prev current

mv current prev

done

六、设计题。(每小题10分,共计20分)

1、请实现一个文件拷贝程序copy,它运行时带有两个参数,分别表示

拷贝的源文件和目标文件。

1、请实现一个有两个线程的并行程序。线程一对某全局变量执行加1操作1000次,线程二对同一个全局变量执行减1操作1000次。

2016Linux程序设计复习题

一、填空题 1、在Linux 系统中,以文件方式访问设备。 2、Linux 内核引导时,从文件/etc/fstab 中读取要加载的文件系统。 3、Linux 文件系统中每个文件用i 节点来标识。 4、全部磁盘块由四个部分组成,分别为引导块、专用块、i 节点表块和数据存储块。 5、链接分为:硬链接和符号链接。 6、超级块包含了i 节点表和空闲块表等重要的文件系统信息。 7、某文件的权限为:drw-r--r-- ,用数值形式表示该权限,则该八进制数为:644 ,该文件属性是目录。 8、前台起动的进程使用Ctrl+C 终止。 9、静态路由设定后,若网络拓扑结构发生变化,需由系统管理员修改路由的设置。 10、网络管理的重要任务是:控制和监控。 11、安装Linux 系统对硬盘分区时,必须有两种分区类型:文件系统分区和交换分区。 12、编写的Shell 程序运行前必须赋予该脚本文件执行权限。 13、系统管理的任务之一是能够在分布式环境中实现对程序和数据的安全 保护、备份、恢复和更新。 14、系统交换分区是作为系统虚拟存储器的一块区域。 15、内核分为进程管理系统、内存管理系统、I/O 管理系统和文件管理系统等四个子系统。 16、内核配置是系统管理员在改变系统配置硬件时要进行的重要操作。 17、在安装Linux 系统中,使用netconfig 程序对网络进行配置,该安装程序会一步步提示用 户输入主机名、域名、域名服务器、IP 地址、网关地址和子网掩码等必要信息。 18、唯一标识每一个用户的是用户ID 和用户名。 19、RIP 协议是最为普遍的一种内部协议,一般称为动态路由选择协议。 20、在Linux 系统中所有内容都被表示为文件,组织文件的各种方法称为文件系统。 21、DHCP可以实现动态IP 地址分配。 22、系统网络管理员的管理对象是服务器、用户和服务器的进程以及系统的各种资源。 23、网络管理通常由监测、传输和管理三部分组成,其中管理部分是整个网络管理的 中心。 24、当想删除本系统用不上的设备驱动程序时必须编译内核,当内核不支持系统上的 设备驱动程序时,必须对内核升级。 25、Ping 命令可以测试网络中本机系统是否能到达一台远程主机,所以常常用于测试网络 的连通性。 26、vi 编辑器具有三种工作模式:命令模式、底行模式和输入模式。 27、可以用ls –al 命令来观察文件的权限,每个文件的权限都用10 位表示,并分为四段, 其中第一段占 1 位,表示文件类型,第二段占 3 位,表示文件所有者对该文件的权限。 28、进程与程序的区别在于其动态性,动态的产生和终止,从产生到终止进程可以具有的基 本状态为:运行态、就绪态和等待态(阻塞态)。 29、DNS实际上是分布在internet 上的主机信息的数据库,其作用是实现IP地址和主

28个运维经典面试题

1、Linux如何挂载windows下的共享目录 ‘{print $1″.”$2″.”$3″.”$4″.”}’ | sort |uniq -c | sort -nr | head-5 4、如何查看/var/log目录下的文件数 ls /var/log/ -1R | grep “-” | wc -l 5、如何查看Linux系统每个ip的连接数 netstat -n | awk ‘/^tcp/ {print $5}’ | awk -F: ‘{print $1}’ | sort | uniq -c | sort -rn 6、shell下生成32位随机密码 cat /dev/urandom | head -1 | md5sum | head -c 32 >> /pass 7、统计出apache的中访问量最多的5个ip cat | awk ‘{print $1}’ | sort | uniq -c | sort -n -r | head -5 8、如何查看二进制文件的内容 我们一般通过hexdump命令来查看二进制文件的内容。 hexdump -C XXX(文件名) -C是参数不同的参数有不同的意义 -C 是比较规范的十六进制和ASCII码显示 -c 是单字节字符显示 -b 单字节八进制显示 -o 是双字节八进制显示 -d 是双字节十进制显示 -x 是双字节十六进制显示 9、ps aux 中的VSZ代表什么意思,RSS代表什么意思 VSZ:虚拟内存集,进程占用的虚拟内存空间 RSS:物理内存集,进程战用实际物理内存空间 10、如何检测并修复/dev/hda5 fsck用来检查和维护不一致的文件系统。若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查 11、介绍下Linux系统的开机启动顺序 加载BIOS–>读取MBR–>Boot Loader–>加载内核–>用户层init一句inittab文件来设定系统运行的等级(一般3或者5,3是多用户命令行,5是界面)–>init进程执行–>启动内核模块–>执行不同级别运行的脚本程序–>执行/etc/(本地运行服务)–>执行/bin/login,就可以登录了。 12、符号链接与硬链接的区别 我们可以把符号链接,也就是软连接当做是windows系统里的快捷方式。 硬链接就好像是又复制了一份,举例说明: ln 这是硬链接,相当于复制,不可以跨分区,但修改3,4会跟着变,若删除3,4不受任何影响。

运维人员面试试题

一.填空题 1. 在Linux系统中,以______方式访问设备。 2. Linux内核引导时,从文件______中读取要加载的文件系统。 3. Linux文件系统中每个文件用______来标识。 4. 全部磁盘块由四个部分组成,分别为。 5. 链接分为:______ 和______。 6. 超级块包含了______ 和______ 等重要的文件系统信息。 7. 某文件的权限为:drw-r--r--,用数值形式表示该权限,则该八进制数为:______ ,该文件属性是______ 。 8. 前台起动的进程使用______ 终止。 9. 静态路由设定后,若网络拓扑结构发生变化,需由______修改路由的设置。 10. 网络管理的重要任务是:______和______ 。 11. 安装Linux系统对硬盘分区时,必须有两种分区类型:______ 和______。 13. 编写的Shell程序运行前必须赋予该脚本文件______ 权限。 14. 系统管理的任务之一是能够在______ 环境中实现对程序和数据的安全保护、备份、恢复和更新。 15. 系统交换分区是作为系统______ 的一块区域。 16. 内核分为______、______ 、______ 和______ 等四个子系统。 17. 内核配置是系统管理员在改变系统配置______ 时要进行的重要操作。 19. 唯一标识每一个用户的是用户______ 和用户名。 20 . 协议是最为普遍的一种内部协议,一般称为动态路由选择协议。 21. 在Linux系统中所有内容都被表示为文件,组织文件的各种方法称为______ 。 23. 系统网络管理员的管理对象是服务器、______和______ 以及系统的各种资源。 25. 当想删除本系统用不上的______ 时必须编译内核,当内核不支持系统上的______ 时,必须对内核______ 。 26 Ping命令可以测试网络中本机系统是否能到达,所以常常用于测试网络的______ 。 27. vi编辑器具有两种工作模式:______和______ 。 28. 可以用______命令来观察文件的权限,每个文件的权限都用10位表示,并分为四段,其中第一段占______ 位,表示,第二段占3位,表示______ 对该文件的权限。 29. 进程与程序的区别在于其动态性,动态的产生和终止,从产生到终止进程可以具有的基本状态为:______、______ 和。 30. DNS实际上是分布在internet上的主机信息的数据库,其作用是实现______ 和______ 之间的转换。 34. 当lilo.conf配置完毕后,使之生效,应运行的命令及参数是______ 。 35. 在使用ls命令时,用八进制形式显示非打印字符应使用参数______ 。 36. Linux使用支持Windows 9.x/2000长文件名的文件系统的类型是______ 。 37. 设定限制用户使用磁盘空间的命令是______ 。 38 在Linux系统中,用来存放系统所需要的配置文件和子目录的目录是______ 。 39. 硬连接只能建立对______ 链接。可以跨不同文件系统创建。 40. 套接字文件的属性位是______ 。 41. 结束后台进程的命令是______ 。 42. 进程的运行有两种方式,即______。 43. Links分为______ ______。 44. 在超级用户下显示Linux系统中正在运行的全部进程,应使用的命令及参数是______ 。

it运维面试题及答案.doc

it 运维面试题及答案 【篇一:运维中心笔试题答案】 xt> 一、单项选择 1、t-sql 语句是由哪一家公司设计出的:(a)a microsoftb ibmc sun 2、sql-server 的数据库类型属于哪一类型:(a) a 关系型数据库 b 网络型数据库 c 层次型数据库 3、要启动sql -server 的服务器,在命令提示符下键入以下什么 命令可以启动sql -server 服务器:(b) a net send b net start mssqlerver c net help 4、输入和调试t-sql 语句的工具是:(b) a 企业管理器 b 查询分析器 c 服务器网络使用工具 d 联机丛书 5、创建数据库的关键字是: (b) a delete b create c from d talbe 6、数据库的日志文件的扩展名是:(b) a mdf b ldf c ndf d log 7、创建表的主约束使用哪个关键字:(b) a check b primary c foreign d rull 8、datetime 属于什么数据类型:(a) a 日期型 b 时间型 c 字符串型 d 整数型 9、下列数据类型中不能属于sql_variant 型的是:(c) a varchar b int c image d datetime 10、存储过程sp_bindrule 的作用是什么:(a) a 绑定规则 b 查看表结构 c 绑定默认值 d 查看过程 11、insert 表示的含义:(a) a 添加 b 删除 c 查询 d 更改 12、sql-server 中外键约束关键字为:(c) a primary key b unique c foreign key d check 13、alter view 表示:(b) a 创建视图 b 更改视图 c 检索视图 d 删除视图 14、去掉结果集中的重复值用关键字: (b ) a top b distinct c in d null 15、语句“delete from 员工表where 工资2000”表示含义:(a) a 删除工资大于2000 的员工资料 b 添加工资>2000 的员工姓名 c 检索工资>2000 的员工姓名 d 更改工资>2000 的员工姓名

Linux运维面试题

北京华宇信息技术有限公司 BEIJING THUNISOFT INFORMATION TECHNOLOGY CORPORATION LIMITE 北京华宇信息技术有限公司 应聘人员笔试题目 (对应聘系统服务工程师人员适用) 姓名: 性别: 年龄: E-Mail: 考试日期: 考试开始时间: 考试结束时间: 须知及要求: 1.本套试题对应聘运维服务部系统服务工程师适用; 2.笔试时间不得超过90分钟; 3.笔试开始前应聘者须如实填写本页中有关应聘者信息; 4.答题请注意字迹清晰,叙述简练明了,绘图力求准确; 5.笔试题共150分,84道题,分为六部分,包括: 1)系统服务工程师调查 2)理论知识部分 3)实践知识基础部分 4)实践知识扩展部分 5)运维管理和信息服务部分 6)综合素质和沟通管理部分 6.应届毕业生以1、2、3、5、6部分为主,其他部分为辅;非应届毕业生以2、3、 4、5、6部分为主,其他部分为辅; 7.请笔试者本着“知之为知之,不知为不知”的态度; 笔试者承诺: 我已经阅读并同意笔试要求,同意如实答题,并同意不将题目内容告知他人。 签名:

CORPORATION LIMITE 应聘登记表 填表要求:应聘登记表是公司了解应聘人员情况的重要途径之一,所以请应聘人员根据自己的实际情况尽可能的填写详细,填写结束后,请务必阅读声明并签字确认。谢谢您的合作! 填写说明:家庭背景情况请至少填写2位直系亲属的基本情况 填写说明:教育经历请按照时间顺序由近至远填写(最低学历填写到高中即可)

CORPORATION LIMITE 填写说明:工作经历请按照时间顺序由近至远来填写 请您在以下招聘途径中勾“√”:我是通过以下招聘途径了解此次招聘信息的:□公司主页招聘信息□现场招聘会□熟人介绍 □网上招聘(请具体描述网站名称,例如:前程无忧等__________________)声明: 本人保证以上表内所填内容的真实性,自愿承担因隐瞒事实而造成的一切后果。 签名:日期:

Linux程序设计报告

Linux程序设计课程设计 Linux程序设计课程组 长春工业大学 2017-12-24

课程设计任务书

目录 第1章设计要求 (1) 2.1设计目的 (1) 2.2设计要求 (1) 第2章测试数据设计 (2) 第3章算法实现 (3) 第4章算法结果 (19) 第5章结果可视化 (21) 第6章性能分析 (21) 参考文献 (22) 心得 (22)

第1章设计要求 2.1设计目的 理解临界区和进程互斥的概念,掌握用信号量和PV操作实现进程互斥的方法。 2.2设计要求 在linux环境下编写应用程序,该程序运行时能创建N个线程,其中既有读者线程又有写者线程,它们按照事先设计好的测试数据进行读写操作。 读者/写者问题描述如下: 有一个被许多进程共享的数据区,这个数据区可以是一个文件,或者主存的一块空间,甚至可以是一组处理器寄存器。有一些只读取这个数据区的线程(reader)和一些只往数据区中写数据的线程(writer)。以下假设共享数据区是文件。这些读者和写者对数据区的操作必须满足以下条件:读—读允许;读—写互斥;写—写互斥。这些条件具体来说就是: (1)任意多的读线程可以同时读这个文件; (2)一次只允许一个写线程往文件中写; (3)如果一个写线程正在往文件中写,禁止任何读线程或写线程访问文件; (4)写线程执行写操作前,应让已有的写者或读者全部退出。这说明当有读者在读文件时不允许写者写文件。 对于读者-写者问题,有三种解决方法: 1、读者优先 除了上述四个规则外,还增加读者优先的规定,当有读者在读文件时,对随后到达的读者和写者,要首先满足读者,阻塞写者。这说明只要有一个读者活跃,那么随后而来的读者都将被允许访问文件,从而导致写者长时间等待,甚至有可能出现写者被饿死的情况。 2、写者优先 除了上述四个规则外,还增加写者优先的规定,即当有读者和写者同时等待时,首先满足写者。当一个写者声明想写文件时,不允许新的读者再访问文件。 3、无优先 除了上述四个规则外,不再规定读写的优先权,谁先等待谁就先使用文件。

上海Linux运维工程师面试题个人总结)

这下面的是一个企业发的面试题 1你常上的相关技术站有哪些? 2简述你所理解运维工程师的主要职责? 3你管理过的服务器数量级? 1台 2台 2-5台 5-10 台 10台以上 4描述一次你印象深刻的服务器运维经历。 5有一台服务器出现安全问题,你会采取什么样的方法处理?说出你的诊断处理思路。 6有多台服务器需部署相同应用文件,文件会持续更新,你用什么方式实现不同服务器间的文件同步。 7某一台服务器部署多个Web站点,其中有一个w3wp的CPU占用达到100%如何找出有问 题的Web站点? 8你眼中的沪江是怎样的?谈谈你对沪江的理解。 9是否有以下相关经验?如有请简要说明掌握情况。 a、S quid相关经验 b、N ginx、Lighttpd 等 c、Memcached d、负载均衡 e、分布式文件处理 f、Email Server 上午-10点雷傲普文化传播有限公司 1. DNS使用的端口号和协议,简单描述一下DNS正向解析和反向解析的工作原理和作用还 有应用场景? 2. 编写IPTABLES使用内网某台机器的80端口可以在公网访问,假设公网IP为10.10.1.1 , 实现192.168.1.0/32 段的NAT. 3. 举出三个以上的主流WEB服务器,并简述他们的特性和优缺点不限操作系统? Apache 源代码开放可以欲行在unix , windowns , linux 平台上,可移植性,而且模块很是丰富缺点:性能,速度上不及其他轻量级的web服务器,但是也是重量级产品,所消耗的内存,cpu也比其他的要高

Ngi nx 源代码开放发高性能的http和反向代理服务器,在高并发的情况下,ngi nx 是apache不错的替代品,他能够支持高达50000个并发连接响应,内存,cpu等系统资 apache稳定,支持动态页面源消耗也是很低的。缺点,支持模块比较少吧,相对没有不是很 强。 Tomcat对高并发跟静态页面处理还不是很强 Microsoft IIS 配置很简单,只能运行在windows。Linux上,如果要使用还购买商业 win dows server 操作系统。 4, 举出两个主流代理服务器,简述工作模式和优缺点? 5, 举出两个负载均衡的软件,并简述工作模式和优缺点? 6,IE,FF,chrome游览器最大并发请求数是多少?, 7,简单举例一下linux和windows系统今年都有哪些漏洞? 8, mysql数据库备份都有哪一些,部署一个高可用mysql应用环境,并说明他的高可用性? 9, 什么是裸设备,他的好处是什么?,mysql支持裸设备吗?10, 如果给你一个100g的INNODB类型数据库,你会用什么备份方案来做备份。 11,写一个简单的shell脚本,脚本运行时让CTRL+(无法中断的该shell脚本? 12、如何快速编译单一的内核模块? 13、如何动态增加apache和PHP模块? 14、说出linux开机流程? 15、具体说说cacti的安装过程? 16、cacti 与nagios 的区别?cacti 如何监控mysql ? 17、mysql主从复制如何实现? 18、raid 0 与raid 的区别? 19、DNS解析详细过程?从主机访问域名(三家公司都问这个问题)让写出来? 20、脚本会多少?掌握程度?sed awk区别? 人事问题(下面的都是每一个企业问的最多的问题,这些问题是我自己经历的,都是我自己的回答,仅供参考,每个人经历不一样,回答的时候一定要和写在网上的还有自己写的简历保持一致,他们好多都是把你投的简历下载下来,然后看着下载下来的简历问你问题)1. 先问问你写的工作经历,在以前公司主要做什么,是什么公司,多少人,主要负责什么, 还有你写的项目经验,项目具体怎么实施的,(一定要明白原理性的东西,把他说出来就可以) 2. 问完工作经历后,问你为什么辞职?。 我说因为以前的公司的工作接触到了linux。被linux的开源所吸引,对linux的开源产 生了兴趣,但是靠自己去学有点吃力,就辞去工作在郑州找了一家培训机构培训RHCE 3. 问为什么不在本地工作,来上海有什么规划? 4. 谈谈你对运维工程师的理解

运维面试题(含答案)

运维工程师面试题 姓名: 答题时间: 1.新安装MYSQL后怎样提升MYSQL的安全级别? A.修改mysql默认端口 B.linux下可以通过iptables来限制访问mysql端口的IP地址 C.对所有用户设置较复杂密码并严格指定对应账号的访问IP(可在mysql库 中user表中指定用户的访问可访问IP地址) D.root特权账号的处理(建议给root账号设置强密码,并指定只允许本地登录) E.开启二进制查询日志和慢查询日志 F.mysql安装目录及数据存储目录权限控制:给mysql安装目录读取权限,给mysql日志和数据所在目录读取和写入权限 G.删除无用mysql账号和删除无用的数据库(安装好的mysql默认会有个 test库,可将其删除) 2.MYSQL的主从原理,怎么配置文件? 整体上来说,复制有3个步骤: A.master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日 志事件,binary log events); B.slave将master的binary log events拷贝到它的中继日志(relay log);

C.slave重做中继日志中的事件,将改变反映它自己的数据。 3.mysql主从复制的优点 <1> 如果主服务器出现问题,可以快速切换到从服务器提供的服务; <2> 可以在从服务器上执行查询操作,降低主服务器的访问压力; <3> 可以在从服务器上执行备份,以避免备份期间影响主服务器的服务。 4.Mysql复制的基本原理过程 (1)Slave上面的IO线程连接上Master,并请求从指定日志文件的指定位置(或者从最开始的日志)之后的日志内容; (2)Master接收到来自Slave的IO线程的请求后,通过负责复制的IO线程根据请求信息读取指定日志指定位置之后的日志信息,返回给Slave端的IO线程。返回信息中除了日志所包含的信息之外,还包括本次返回的信息在Master端binary log文件的名称以及在Binary log中的位置; (3)Slave的IO线程收到信息后,将接收到的日志内容依次写入到Slave端的RelayLog 文件(mysql-relay-lin.xxxxx)的最末端,并将读取到的Master端的 bin-log的文件名和位置记录到master-info文件中,以便在下一次读取的时候能够清楚的告诉master“我需要从某个bin-log的哪个位置开始往后的日志内容,请发给我” (4)Slave的SQL线程检测到Relay Log中新增加了内容后,会马上解析该Log 文件中的内容成为在Master端真实执行时候的那些可执行的查询或操作语句,并在自身执行那些查询或操作语句,这样,实际上就是在master端和Slave端执行了同样的查询或操作语句,所以两端的数据是完全一样的。

浙江大学Linux程序设计实验报告

Linux程序设计实验报告1 ——操作系统基本命令使用 一、实验目的 1.通过对Emacs、vi、vim、gedit文本编辑器的使用,掌握在Linux环境下文本文件的编辑方法; 2.通过对常用命令mkdir、cp、cd、ls、mv、chmod、rm等文件命令的操作,掌握Linux操作系统中文件命令的用法。 二、实验任务与要求 1.emacs的使用,要求能新建、编辑、保存一个文本文件 2.vi或vim的使用,要求能新建、编辑、保存一个文本文件 3.gedit的使用,要求能新建、编辑、保存一个文本文件 4.掌握mkdir、cd命令的操作,要求能建立目录、进入与退出目录 5.掌握cp、ls、mv、chmod、rm命令的操作,要求能拷贝文件、新建文件、查看文件、文件重命名、删除文件等操作。 三、实验工具与准备 计算机PC机,Linux Redhat Fedora Core6操作系统 四、实验步骤与操作指导 任务1.学习emacs的使用,要求能新建、编辑、保存一个文本文件 (1)启动emacs (2)输入以下C程序 (3)保存文件为kk.c (4)用emacs打开文件kk.c (5)修改程序 (6)另存为文件aa.txt并退出。 任务2.vi或vim的使用,要求能新建、编辑、保存一个文本文件 (1)点击”应用程序”→ “附件”→“终端”,打开终端,在终端输入命令: [root@localhost root]#vi kk.c 按i键,进入插入状态。 (2)输入以下C程序 #include int main( ) {

printf(“Hello world!\n”); return 0; } 此时可以用Backspace、→、←、↑、↓键编辑文本。 (3)保存文件为kk.c 按Esc键,进入最后行状态,在最后行状态输入:wq保存文件,退出vi。 (4)用vi打开文件kk.c,输入命令: [root@localhost root]#vi kk.c (5)修改程序为: #include int main( ) { printf(" Hello world!\n"); printf("*****************\n"); return 0; } (6)按Esc键,进入最后行状态,在最后行状态输入:wq aa.txt保存文件,如图1所示,另存为文件aa.txt并退出vi。。 图1 程序编辑环境 任务3.gedit的使用,要求能新建、编辑、保存一个文本文件 (1)启动gedit,点击”应用程序”→ “附件”→“文本编辑器”,打开文本编辑器,如图所示。

2013年最新Linux系统运维面试题(附答案)

一、有文件file1 1、查询file1 里面空行的所在行号 awk ?{if($0~/^$/)print NR}‘ file or grep -n ^$ file |awk ?BEGIN{FS=‖:‖}{print $1}‘ 2、查询file1 以abc 结尾的行 grep abc$ file1 3、打印出file1 文件第1 到第3 行 sed -n ‘1,3p‘ file1 head -3 file1 二、如何将本地80 端口的请求转发到8080 端口,当前主机IP 为192.168.2.1 Iptables -A PREROUTING -d 192.168.2.1 -p tcp -m tcp –dport 80 -j DNAT –to-destination 192.168.2.1:8080 三、crontab 在11 月份内,每天的早上6 点到12 点中,每隔2 小时执行一次/usr/bin/httpd.sh 怎么实现 0 6-12/2 * 11 * /usr/bin/httpd.sh 四、编写个shell 脚本将/usr/local/test 目录下大于100K 的文件转移到/tmp 目录下 #!/bin/bash for file in `ls /root` do if [ -f $file ]; then if [ `ls -l $file|awk '{print $5}'` -gt 10000 ]; then mv $file /tmp/ fi fi done 五、简述raid0 raid1 raid5 三种工作模式的工作原理及特点。 RAID 0:连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余,因此并不能算是真正的RAID 结构。RAID 0 只是单纯地提高 性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据。因此,RAID 0 不能应用于数据安全性要求高的场合。 RAID 1:它是通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1 可以提高读取性能。RAID 1 是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时, 系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。简单来说就是:镜象结构,类似于备份模式,一个数据被复制到两块硬盘上。 RAID10:高可靠性与高效磁盘结构 一个带区结构加一个镜象结构,因为两种结构各有优缺点,因此可以相互补充。 主要用于容量不大,但要求速度和差错控制的数据库中。 RAID5:分布式奇偶校验的独立磁盘结构,它的奇偶校验码存在于所有磁盘上,任何一个硬盘损坏,都可以根据其它硬盘上的校验位来重建损坏的数据。支持一块盘掉线后仍然正常

Linux程序设计模式(机制与策略)

Linux程序设计模式—机制与策略 什么是设计模式(Design pattern)? 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、软件设计经验的总结。使用设计模式是为了提高代码或模块的重用、让程序更容易被他人理解、提高代码可靠性和可维护性。同时,通过学习设计模式可以降低解决一般性问题的开发难度。 Linux程序设计模式的起源和发展 Linux程序的设计模式起源于Unix文化,是Unix哲学的重要组成部分,而Linux本身就是Unix的一个发展分支。Unix哲学说来不算是一种正规设计方法,它是自下而上的,而不是自上而下的。Unix哲学注重实效,立足于丰富的经验。你不会在正规方法学和标准中找到它,它更接近于隐性的半本能的知识,即Unix文化所传播的专业经验。它鼓励那种分清轻重缓急的感觉,以及怀疑一切的态度,并鼓励你以幽默达观的态度对待这些。 什么是Unix哲学? Unix管道的发明人、Unix传统的奠基人之一Doug McIlroy在[McIlroy78]中曾经说过: I. 让每个程序就做好一件事。如果有新任务,就重新开始,不要往原程序中加入新功能而搞得复杂。 II. 假定每个程序的输出都会成为另一个程序的输入,哪怕那个程序还是未知的。输出中不要有无关的信息干扰。避免使用严格的分栏格式和二进制格式输入。不要坚持使用交互式输入。 III. 尽可能早地将设计和编译的软件投入试用, 哪怕是操作系统也不例外,理想情况下, 应该是在几星期内。对拙劣的代码别犹豫,扔掉重写。 IV. 优先使用工具而不是拙劣的帮助来减轻编程任务的负担。工欲善其事,必先利其器。后来他这样总结道(引自《Unix的四分之一世纪》): Unix哲学是这样的:一个程序只做一件事,并做好。程序要能协作。程序要能处理文本流,因为这是最通用的接口。 从整体上来说,可以概括为以下几点: 01.模块原则:使用简洁的接口拼合简单的部件。 02.清晰原则:清晰胜于机巧。 03.组合原则:设计时考虑拼接组合。 04.分离原则:策略同机制分离,接口同引擎分离。 05.简洁原则:设计要简洁,复杂度能低则低。 06.吝啬原则:除非确无它法,不要编写庞大的程序。 07.透明性原则:设计要可见,以便审查和调试。 08.健壮原则:健壮源于透明与简洁。 09.表示原则:把知识叠入数据以求逻辑质朴而健壮。 10.通俗原则:接口设计避免标新立异。 11.缄默原则:如果一个程序没什么好说的,就沉默。 12.补救原则:出现异常时,马上退出并给出足够错误信息。 13.经济原则:宁花机器一分,不花程序员一秒。 14.生成原则:避免手工hack,尽量编写程序去生成程序。 15.优化原则:雕琢前先要有原型,跑之前先学会走。 16.多样原则:决不相信所谓“不二法门”的断言。 17.扩展原则:设计着眼未来,未来总比预想来得快。 给大家推荐一本书《UNIX 编程艺术》————这不是一本讲如何编程的书,而是一本讲UNIX设计哲学的书,当然也适应于Linux。这本书是我来威胜工作后,同事们推荐我读的第二

linux运维面试题中级

linux面试题 1.解释top命令和vmstat命令 top 动态 vmstat静态 2.请写出iptables语句iptables [-t 表名] -命令 -匹配 -j 动作/目标 1)本地80端口的请求转发到8080端口,当前主机IP为192.168.2.1 iptables -t nat -A PREROUTING -d 192.168.2.1 -p tcp -dport 80 -j DNAT -to 192.168.2.1:8080 2)允许本机对外连接80端口(本机能连外界服务器为80) iptables -A OUTPUT -p tcp –dport 80 -j ACCEPT 3)开放本机的3306端口 iptables -A INPUT -p tcp --dport 3306 -j ACCEPT 4)禁止外界ping本服务器 iptables -A INPUT -p icmp -j DROP 5)防止SYN攻击(轻量级预防) iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT 3.mysql高可用方案有哪些?mysql备份方案有哪些?有什么优缺点? 4.写出apache 2.x的两种工作模式,以及各自的工作原理。如何查看apache当前支持的模块。并查看在哪种模式下工作。prefork和worker #apachectl -l 5.linux基础问题 1)linux怎么查看用户登陆日志 who /var/log/wtmp cat /var/log/secure

28个运维经典面试题

1、Linux如何挂载windows下的共享目录? mount.cifs //IP地址/server /mnt/server -o user=administrator,password=123456 linux 下的server需要自己手动建一个后面的user与pass 是windows主机的账号和密码注意空格和逗号 2、如何查看http的并发请求数与其TCP连接状态? netstat -n | awk ‘/^tcp/ {++b[$NF]}’ END {for(a in b) print a,b[a]}’ 还有ulimit -n 查看linux系统打开最大的文件描述符,这里默认1024,不修改这里web服务器修改再大也没用。若要用就修改很几个办法,这里说其中一个: 修改/etc/security/limits.conf soft nofile 10240 hard nofile 10240 重启后生效 3、如何用tcpdump嗅探80端口的访问看看谁最高? tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F”.” ‘{print $1″.”$2″.”$3″.”$4″.”}’ | sort |uniq -c | sort -nr | head-5 4、如何查看/var/log目录下的文件数? ls /var/log/ -1R | grep “-” | wc -l

netstat -n | awk ‘/^tcp/ {print $5}’ | awk -F: ‘{print $1}’ | sort | uniq -c | sort -rn 6、shell下生成32位随机密码 cat /dev/urandom | head -1 | md5sum | head -c 32 >> /pass 7、统计出apache的access.log中访问量最多的5个ip cat access.log | awk ‘{print $1}’ | sort | uniq -c | sort -n -r | head -5 8、如何查看二进制文件的内容? 我们一般通过hexdump命令来查看二进制文件的内容。 hexdump -C XXX(文件名) -C是参数不同的参数有不同的意义 -C 是比较规范的十六进制和ASCII码显示 -c 是单字节字符显示 -b 单字节八进制显示 -o 是双字节八进制显示 -d 是双字节十进制显示 -x 是双字节十六进制显示 9、ps aux 中的VSZ代表什么意思,RSS代表什么意思?

IDC运维工程师面试题及其答案

面试职位:姓名:日期: IDC 运维工程师基础技能测试题 (答卷期间请勿查阅手机及其他资料) 1 . Windows的主流远程登陆方式是:微软系统自带的远程桌面连接工具 , Linux 的主流远程登陆方式是 ssh远程登陆工具,常见的有PUTTY或securecrt软件 2. MYSQL 的监听端口是3306 , SQLSERVER的监听端口是1433 , HTTP的监听端口是 80 PPTP的监听端口是 1723 3.交换机是OSI模型的 2层设备。 5.测试网络连通性的常用命令是ping , WINDOWS上路由追踪的命令是tracert , linux上路由追踪 的命令是 WINDOWS上查看MAC地址的命令是ipconfig /all ,linux查看MAC地址命令是ip addr show 或 ifconfig -a 6. RAID常见的RAID级别包括 7. 磁盘最多 4 个主分区。 8. windows平台上主流的数据库是SQLServer 、MysQL、 Oracle(列举3种) 9. Linux的主要发行版RedHat红帽、CentOS、FreeBSD、Debian、Ubuntu 、中标麒麟Kylin 10. 常见网页动态语言7种) 11. 当前国内流行的云防护,其中,开启云防护和开启回源的区别(通过流量角度分析) 提示:开启云防护,该域名的子域名的流量将经过防御节点 开启回源,该域名的子域名的流量直接返回到源站 12. Windows 主流的文件系统格式类型是 NTFS ,Linux主流的文件系统格式类型是 EXT3或EXT4 。 13. Linux 下主流的web服务器是 APACHE , windows下自带的web服务器是: IIS 。 14. 以太网交换机的工作原理是:当有一个数据帧到来时,它会检查其目的地址并对应自己的MAC地址表,如果存在目的地址,则转发,如果不存在则泛洪(广播),广播后如果没有主机的MAC地址与帧的目的MAC地址相同,则丢弃,若有主机相同,则会将主机的MAC自动添加到其MAC地址表中。 16. 路由器工作在OSI模型的第 3 层,其主要作用是连通不同网段的网络 , 选择信息传送的线路。 17. NAT是网络地址转换,其作用是 NAT技术是将多个私有IP地址转换为公用IP地址的一种技术,主要解决IP地址不够用的问题。 ARP 是地址解析协议,其作用是根据IP地址查询物理地址(MAC地址) , DNS的作用是 DNS是域名解析服务器,把网址解析成服务器的IP,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。 18. 列举做网线时,568A 或 568B 任一种线序 19. 关于Linux目录结构 /dev 目录用于存放linux系统下的设备文件, /etc 目录为配置文件的存放目录, /usr 为系统应用程序存放的目录, /var 放置系统执行过程中经常变化的文件,

运维工程师笔试题及答案

运维工程师笔试题及答案 第一部分:Linux系统知识 填空题: 1.创建目录用mkdir命令,创建文件用touch命令。 2.移动文件用mv命令,复制文件用cp命令。 3.使用history命令查看用过的命令列表。 4.查看各类环境变量用env命令。 5.终止进程用kill命令。 6.编写的Shell程序运行前赋予该脚本文件读和执行权限。 7.链接分为:硬链接和软链接/符号链接。 8.在Linux系统中,以文件方式访问设备。 9.当前用户主目录用~/表示。 10.L inux下命令可使用的通配符有“?”和“*”。 选择题: 1.某文件的组外成员的权限是只读、属主是全部权限、组内权限是可读可写、该文件权限为?(D) A.467 B.674 C.476 D.764 2.Linux配置文件一般放在什么目录?(A) A.etc

B.bin C.lib D.dev 3.什么命令常用于检测网络主机是否可达?(C) A.ssh C.ping D.exit 4.对所有用户的变量设置,应当放在哪个文件下?(B) A./etc/bashrc B./etc/profile C.~/.bash_profile D./etc/skel/.bashrc 5.什么命令解压缩tar文件?(B) A.tar-czvf filename.tgz B.tar-xzvf filename.tgz C.tar-tzvf filename.tgz D.tar-dzvf filename.tgz 第二部分:数据库 填空题: 1.数据库系统的核心是___数据库管理系统___。 2.事务四大特性分别是原子性、隔离性、一致性、持久性。 3.索引字段值不唯一,应该使用的索引类型为普通索引。

Linux程序设计考试例题

例题1程序A生成1个文件,其大小为1000字节,其内容为小写字母abcd...z的循环。试编写该程序。 文件名t 1.c #include #include int main(){char x; int i; int fd=open("aa",O_CREAT|O_TRUNC|O_WRONLY,0666); if(fd<0){printf("open file error!\r\n");exit (0);}; for(i=0;i<1000;i++){x='a'+(i%26); write(fd,&x,1);}close(fd);}例题2读出一个文件a.txt的倒数第2个字节和倒数第1个字节,显示在屏幕上。并且显示出当前时间。 文件名t 2.c #include #include #include int main(){char x[2]; int fd=open("a.txt",O_RDONLY); if(fd<0){printf("open file error!\r\n");exit

lseek(fd,-3,SEEK_END); read(fd,x,2); printf("倒数第二和第一字节为%c%c\r\n",x[0],x[1]); close(fd); time_t t; time(&t); printf("当前时间: %s",asctime(localtime(&t)));}例题3产生一个进程树父进程有3个子进程,这三个子进程分别有2个子进程。每个进程退出前打印自己的进程id号 文件名t 3.c #include #include int main(){int ret,i; for(i=0;i<3;i++){ret=fork(); if(ret==0)break;}if(ret==0) for(i=0;i<2;i++){ret=fork(); if(ret==0)break;}sleep (10); printf("thread %d is exiting now \r\n",getpid());}测试方法: 在另一窗口

(完整版)美团Linux运维工程师面试真题答案.doc

美团对 Linux运维工程师招聘岗位的面试题与答案分析 1、 LINUX 系统软件安装和卸载的常见方法 答:有3种方式安装与卸载软件包: rpm 包卸载: rpm -e XXX.rpm (如果想忽略依赖,可加上–nodeps) yum remove xxx.rpm这种方法非常不建议使用,卸载过程会将待卸载的软件包所依赖的软件包一并卸载掉,很容 易造成系统缺少某些包而崩溃等问题 源码包卸载: cd 命令进入编译后的软件目录,即安装时的目录,执行 make uninstall 命令即可;或者直接删除安装目录 2、 Windows 和 LINUX 常用的远程连接工具有那些 答: 命令远程连接工具:图形远程连接工具:自带的远程桌面( Xshell、 SecureCRT、Putty 、 SSH Secure Shell Client等 xmanager(需安装配置服务并打开 177 端口)、VNC-Viewer(linux 需安装 vncserver)、windows linux 需安装 xrdp 和 vnc) 3、如何修改LINUX 的 IP 地址、网关和主机名: 答: A、修改 IP 地址、网关:编辑/etc/sysconfig/network -scripts/ifcfg -eth0 ,修改里面IPADDR和 GATEWAY内容,没有这两行,则添加即可,添加时确保BOOTPROTO=static,静态地址,如IPADDR=192.168.1.100GATEWAY=192.168.1.1 B、修改主机名称:编辑/etc/sysconfig/network,修改里面的HOSTNAME 内容,如设置主机名称为mysql,则:HOSTNAME=mysql即可; 4、编写脚本实现以下功能 每天早上 5 点开始做备份 要备份的是 /var/mylog里所有文件和目录可以压缩进行备份 备份可以保存到别一台器上192、168、 1、 2 FTP帐号aaa 密码bbb 要示每天的备份文件要带有当天的日期标记 答:脚本内容如下: [root@haojiu ~]#cat /root/mylogbak.sh #!/bin/bash #scripts for dirbakup and upload to ftp server. #author by haojiu #create by bakdir=mylog date=`date +%F` cd /var tar zcf ${bakdir}_${date}.tar.gz ${bakdir} sleep 1 ftp -n <<- EOF open 192.168.142.129#远程 ftp 服务器 IP user aaa bbb put mylog_*.tar.gz bye EOF

相关主题
文本预览
相关文档 最新文档