当前位置:文档之家› Linux 高级流量控制

Linux 高级流量控制

Linux 高级流量控制
Linux 高级流量控制

Linux 高级流量控制

本篇主要讲用TC 对Linux 进行高级流量控制

通过大量实践结合TC 流控HOWTO 文档整理而得

如果你对Linux 流控感兴趣,如果你需要搭建高性能的Linux 网关, 本文将会使你受益颇多。

注:至少具备Linux OS 的中级水平知识,熟悉TCP/IP, Linux 网卡工作原理,以及配置Linux 网关的经验,将有助于对本文的理解。

本文参考文档:

Tc 流控HOWTO 文档

https://www.doczj.com/doc/4112926058.html,/HOWTO/html_single/Traffic-Control-HOWTO/

Linux TC 流量控制工具

https://www.doczj.com/doc/4112926058.html,/view/f02078db50e2524de5187e45.html

回页首一 . Linux 流控简介

Linux 流控的意义:

有效的控制Linux 网卡进出流量, 了解网卡工作原理, 搭建高性能的Linux 网关, 对Linux 高级系统流控有进一步的认识。

Linux 流量控制方法:

控发不控收, 所以只能对产生瓶颈网卡处的发包速率进行控制, 而网络瓶颈分析亦为Linux 网络流控的第一步 .

Linux 流量控制过程分二种:

1. 队列控制即QOS, 瓶颈处的发送队列的规则控制,常见的有SFQ

PRIO

2. 流量控制即带宽控制, 队列的排队整形,一般为TBF HTB

Linux 流量控制算法分二种:

3. 无类算法用于树叶级无分支的队列,例如:SFQ

4. 分类算法用于多分支的队列,例如:PRIO TBF HTB

Linux 流控实现工具TC:

Linux 下流量控制工具, 从Linux2.2 版开始已并入内核,功能非常强大,详见参考文档。

回页首

二 . 以下文章将以二种算法的不同流控分别介绍:

1. 无类算法SFQ

a. 队列控制的无类算法SFQ

SFQ(Stochastic Fairness Queueing 随机公平队列) 是公平队列算法家族中的一个简单实现 . 它的精确性不如其它的方法, 但实现了高度的公平, 需要的计算量亦很少 .

SFQ 算法主要针对一个TCP 会话或者UDP 流 . 流量被分成相当多数量的FIFO 队列中, 每个队列对应一个会话 . 数据按照简单轮转的方式发送, 每个会话都按顺序得到发送机会 . 这种方式非常公平, 保证了每一个会话都不会没其它会话所淹没 .

SFQ 之所以被称为"随机", 是因为它并不是真的为每一个会话创建一个队列, 而是使用一个散列算法, 把所有的会话映射到有限的几个队列中去 . 因为使用了散列, 所以可能多个会话分配在同一个队列里, 从而需要共享发包的机会, 也就是共享带宽 . 为了不让这种效应太明显,SFQ 会频繁地改变散列算法, 以便把这种效应控制在几秒钟之内( 时间由参数设定).

注:SFQ 只会发生在数据发生拥堵, 产生等待队列的网卡上 .. 出口网卡若无等待队列,SFQ 亦不起作用 ...

清单 1. 在网卡上建立SFQ

#tc qdisc add dev eth0 root handle 1: sfq

SFQ 参数有 perturb( 重新调整算法间隔 ) quantum 基本上不需要手工调整 :

handle 1: 规定算法编号 .. 可以不用设置由系统指定 ..

#tc qdisc sh dev eth0 显示算法

#tc qd del dev eth0 root 删除注 : 默认 eht0 支持 TOS

SFQ 队列一般用在树叶级, 配合其它流量整形算法一并使用……

b. 流量控制的无类算法TBF

令牌桶过滤器(TBF) 是一个简单的队列规定: 只允许以不超过事先设定的速率到来的数据包通过, 但可能允许短暂突发流量朝过设定值 .

TBF 很精确, 对于网络和处理器的影响都很小, 实现是针对数据的字节数进行的, 而不是针对数据包进行, 常用于网关限速 .

TBF 的实现在于一个缓冲器( 桶), 不断地被一些叫做"令牌"的虚拟数据以特定速率填充着 . (token rate). 桶最重要的参数就是它的大小, 也就是它能够存储令牌的数量 . 每个到来的令牌从数据队列中收集一个数据包, 然后从桶中被删除 . 这个算法关联到两个流上——令牌流和数据流, 于是我们得到 3 种情景:

A. 数据流以等于令牌流的速率到达TBF. 这种情况下, 每个到来的数据包都能对应一个令牌, 然后无延迟地通过队列 .

B. 数据流以小于令牌流的速度到达TBF. 通过队列的数据包只消耗了一部分令牌, 剩下的令牌会在桶里积累下来, 直到桶被装满 . 剩下的令牌可以在需要以高于令牌流速率发送数据流的时候消耗掉, 这种情况下会发生突发传输 .

C. 数据流以大于令牌流的速率到达TBF. 这意味着桶里的令牌很快就会被耗尽 . 导致TBF 中断一段时间, 称为"越限". 如果数据包持续到来, 将发生丢包 . 此种情况最重要, 因为它可以用来对数据通过过滤器的速率进行整形 . 令牌的积累可以导致越限的数据进行短时间的突发传输而不必丢包, 但是持续越限的话会导致传输延迟直至丢包 .

清单 2. 在网卡建立TBF

#tc qd add dev eth1 root handle 1: tbf rate 256kbit burst 10000 latency 50ms 速率 256kbit 突发传输 10k 最大延迟 50ms

#tc -s qd sh dev eth1 统计

#tc qd del dev eth1 root 删除

rate 限制的传输速率用位来计算

latency 确定了一个包在TBF 中等待传输的最长等待时间 .

burst 桶的大小, 以字节计 . 指定了最多可以有多少个令牌能够即刻被使用 . 注: 管理的带宽越大, 需要的缓冲器就越大 . 在Intel 体系上,10 兆bit/s 的速率需要至少10k 字节的缓冲区

才能达到期望的速率 . 缓冲区太小导致潜在的丢包 .

c. 无类算法除这二种队列以外, 另有pfifo_fast( 网卡出口默认根队列规定) 经常使用的也就是SFQ/TBF ……

这二种用法如下:

单纯地降低出口速率, 使用令牌桶过滤器 . 调整桶的配置后可用于控制很高的带宽 .

链路已经塞满, 保证不会有某一个会话独占出口带宽, 使用随机公平队列 . 当然最要的还是工作中得来的经验, 就其应用方面只要能满足需求即可 .. 要做到灵活应用还得大量的实践 ..

2. 分类算法—— PRIO/CBQ/HTB

分类算法主要作用是可以对多种数据流区别对待 . 一旦数据包进入一个分类的队列规定, 它就得被送到某一个类中分类, 对数据包进行分类的工具是过滤器 . 过滤器会返回一个决定, 队列规定就根据这个决定把数据包送入相应的类进行排队 . 每个子类都可以再次使用它们的过滤器进行进一步的分类 . 直到不需要进一步分类时, 数据包才进入该类包含的队列规定排队 . 除了能够包含其它队列规定之外, 绝大多数分类的队列规定能够流量整形

注: 过滤器对数据包进行分类的工具, 是从队列规定内部调用的, 而不是从别处 .( 用在分叉的分支上)

列规定家族: 根, 句柄, 兄弟和父辈

每块网卡都有一个出口"根队列规定", 缺省情况下是前面提到的pfifo_fast 队列规定 . 每个队列规定都指定一个句柄, 以便以后的配置语句能够引用这个队列规定 . 除了出口队列规定之外, 每块网卡还有一个入口, 以便policies 进入的数据流 .

队列规定的句柄有两个部分: 一个主号码和一个次号码 . 习惯上把根队列规定称为"1:", 等价于"1:0". 队列规定的次号码永远是0. 类的主号码必须与它们父辈的主号码一致 .

数据包如何出队并交给硬件

当内核决定把一个数据包发给网卡的时候, 根队列规定1: 会得到一个出队请求, 然后把它传给1:1, 然后依次传给10:,12: 和13:( 子类自定义), 然后试图从它们中进行dequeue() 操作 . 也就是说, 内核需要遍历整颗树, 换句话说, 类及其兄弟仅仅与其"父队列规定"进行交谈, 而不会与网卡进行交谈 . 只有根队列规定才能由内核进行出队操作! 更进一步, 任何类的出队操作都不会比它们的父类更快 . 我们可以把SFQ 作为一个子类, 放到一个可以进行流量整形的父类中, 从而能够同时得到SFQ 的调度功能和其父类的流量整形功能 .

a. 队列控制的分类算法PRIO

PRIO 分类优先算法( 从左至右优先发包), 队列规定并不进行整形, 它仅仅根据你配置的过滤器把流量进一步细分 . 你可以认为PRIO 队列规定是

pfifo_fast 的一种衍生物, 区别在每个频道都是一个单独的类, 而非简单的FIFO.

当数据包进入PRIO 队列规定后, 将根据你给定的过滤器设置选择一个类 . 缺省情况下有三个类, 这些类仅包含纯FIFO 队列规定而没有更多的内部结构 . 你可以把它们替换成你需要的任何队列规定 . 每当有一个数据包需要出队时, 首先处理:1 类 . 只有当标号更小的类中没有需要处理的包时, 才会标号大的类 .

PRIO 配置范例示意图:

大批量数据使用30:, 交互数据使用20: 或10:.

清单 3. 在网卡建立PRIO

分类的一示例图:

2. HTB 分层令牌桶

网卡工作示例图:

3. ADSL 上网流量限控脚本

ADSL 带宽是下行3200Kbit, 上行只有320Kbit 网卡工作示例图:

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运维工程师面试题个人总结)

这下面的是一个企业发的面试题 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. 谈谈你对运维工程师的理解

linux网络操作系统和实训课后习题答案解析(1)

练习题 一、选择题 1. Linux 最早是由计算机爱好者 B 开发的。 A. Richard Petersen B. Linus Torvalds C. Rob Pick D. Linux Sarwar 2. 下列 C 是自由软件。 A. Windows XP B. UNIX C. Linux D. Windows 2000 3. 下列 B 不是Linux 的特点。 A. 多任务 B. 单用户 C. 设备独立性 D. 开放性 4. Linux 的内核版本2.3.20 是 A 的版本。 A. 不稳定 B. 稳定的 C. 第三次修订 D. 第二次修订 二、填空题 1. GUN 的含义是:GNU's Not UNIX。 2. Linux 一般有 3 个主要部分:内核(kernel)、命令解释层(Shell 或其他操作环境)、 实用工具。 三、简答题(略) 1. 简述Red Hat Linux 系统的特点。 2. 简述一些较为知名的Linux 发行版本。 练习题 一、选择题 1. Linux 安装过程中的硬盘分区工具是 D 。 A. PQmagic B. FDISK C. FIPS D. Disk Druid 2. Linux 的根分区系统类型是 C 。 A. FATl6 B. FAT32 C. ext3 D. NTFS 二、填空题 1. 安装Linux 最少需要两个分区,分别是 swap 交换分区和/(根)分区。 2. Linux 默认的系统管理员账号是 root 。 3. X-Window System 由三部分构成:X Server、X Client 和通信通道。 三、简答题(略) 1. Linux 有哪些安装方式 2. 安装Red Hat Linux 系统要做哪些准备工作 3. 安装Red Hat Linux 系统的基本磁盘分区有哪些 4. Red Hat Linux 系统支持的文件类型有哪些 练习题 一、选择题 1. C 命令能用来查找在文件TESTFILE 中包含四个字符的行 A. grep’’TESTFILE B. grep’….’TESTFILE C. grep’^$’TESTFILE D. grep’^….$’TESTFILE 2. B 命令用来显示/home 及其子目录下的文件名。 A. ls -a /home B. ls -R /home C. ls -l /home D. ls -d /home 3. 如果忘记了ls 命令的用法,可以采用 C 命令获得帮助 A. ls B. help ls C. man ls D. get ls 4. 查看系统当中所有进程的命令是 D 。 A. ps all B. ps aix C. ps auf D. ps aux

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面试题 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

运维工程师笔试题及答案

运维工程师笔试题及答案 第一部分: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运维工程师面试真题答案.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

Linux操作系统学习心得

Linux操作系统学习心得 这学期有幸学习了《嵌入式系统设计》这门课,在胡佳文老师的教导下深入了解了有关于嵌入式系统,ARM9,Linux系统等很多方面的知识,获益良多,在学习过程中自己也遇到了很多问题,同时受到了很大的启发,现在就本学期的学习谈谈自己的学习心得体会。 Linux操作系统这个名词记得在很早以前就听过,知道这是一个开放性很大的系统,源代码是直接公布在互联网上,很多计算机高手可以根据自己的需求来修改这个程序,同时它比较不易死机,在自己的印象中一直是一种高大上的系统,但是更深入的了解确是零,对于这个学期选这门公共选修课,很大一部分原因是怀着一颗要了解一种早就想知道的东西的心选的.当然我平时也喜欢玩点电脑什么的,只是停留在用别人设计好的现成的东西。 经过一个学期linux操作系统的学习,在老师在课堂对linux系统的介绍及通过网络的了解下,知道了linux原来是一种和windows差不多的电脑操作系统,windows是图形界面的,linux类似以前的DOS,是文本界面的,如果你运行了图形界面程序X-WINDOWS后,linux也能显示图形界面,也有开始菜单、桌面、图标等。Windows有MS-DOS方式,在该方式下通过输入DOS命令来操作电脑;而linux与windows类似,也有命令方式,linux 启动后如果不执行X-WINDOWS,就会处于命令方式下,必须发命令才能操作电脑。另外linux上也有很多的应用软件,安装运行了这些软件后,你就可以在linux上编辑文档、图片,玩游戏、上网、播放多媒体文件等。 当然我们对linux的学习首先是通过对它的产生,发展,到今天仍然在不断完善开始的。它的产生和需要花钱买得windows系统形成了对比,因为 linux 的核心是免费的,自由使用的,核心源代码是开放的.任何人都可以根据自己的喜好来编辑创作适合自己的操作系统,linux是抢占式多任务多用户操作系统,Linux最大的优点在于其作为服务器的强大功能,同时支持多种应用程序及开发工具,所以linux操作系统有着广泛的应用空间。 而且在课上随着老师的讲解和自己动手查资料,慢慢的学习到了更深入的知识,知道了linux的安装:硬盘安装及光盘安装,清楚了解安装Linux应注意的有关问题。学习了linux系统的进入,关闭和重启。掌握了linux系统的硬件配置,如显卡,声卡,网卡等,并且通过对linux系统基本命令的学习,尤其是shell命令语言(亦称命令解释器),熟悉了系统的基本操作。当然在学习中发现英文学得好也是学好linux的关键。同时还了解了linux对应下的一些常用软件及这些软件的安装。因为linux在服务器中广泛的应用,于是我们进一步学习了linux下接入internet的WEB服务器的安装与配置方法。之后还了解了linux的网络安全,系统的安全,用户的安全等。 眼看这个学期Linux的课程已经告一段落了,在这段时间的学习如果要问我在这门课中学到了什么,我觉得是一种为学的方法,使我受益非浅。 首先每学一部分内容前必定有很多疑问,想要独立解开疑问,从网络上找资

最小的Linux操作系统制作过程详解

最小的Linux操作系统制作过程详解 一,什么是BabyLinux BabyLinux不是一个完整的发行版,他是利用原有的一套完整的linux系统的内核原代码和编译工具,利用busybox内建的强大功能,在一张软盘上做的一个很小的linux系统。他具备一个linux系统的基本特征,支持linux系统最常用的一百多个命令,支持多种文件系统,支持网络等等,你可以把他当做一张linux 起动盘和修复盘来用,你也可以把他当做一个静态路由的路由器软件,当然,你也可以把他当做一个linux玩具,向你的朋友炫耀linux可以做的多么小。我把他叫做BabyLinux因为他很小巧,小的很可爱,像一个刚刚出生的小baby。 二.为什么要作这样一个linux 先说说我一开始的想法,当我一开始接触linux的时候,看到书上说,linux 通常安装只需要60M左右的空间,但是我发现装在我硬盘上的Redhat 6.0确要占据好几百M的空间。为什么我的linux这么大呢? 后来我发现,装在我机器上的那么多东西只有不到30%是我平时常用的,还有30%是我极少用到的,另外的40%基本上是不用的。于是,我和大多数初学者一样,开始抱怨,为什么linux 不能做的精简一点呢?于是,我萌发了自己裁减系统的想法。可惜那个时候我还没有听说过有LFS和Debain。等到我积累了足够的linux知识后,我开始制作这样一个小系统。 制作这样一个小系统最大的意义在于,你可以通过制作系统了解linux的启动过程,学会ramdisk的使用,让你在短时间内学到更多的linux知识。当然,你会得到很大的乐趣。这个项目只是做一个具有基本特征的linux系统,如果你想自己做一个具有完整功能的linux,请阅读Linux From Scratch (LFS)文档。 三,什么人适合读这篇文档 如果你是一个linux爱好者,并且很想了解linux的启动过程和系统的基本结构,而且是一个喜欢动手研究小玩意的人,那么这个文档可以满足你的需求。如果你仅仅是用linux来做一些普通的日常工作,而不在乎你的linux到底怎么工作,那么这份文档也许不太适合你。另外,如果你是linux爱好者,但是目前还是一个刚刚入门的newbi,我建议你先把linux命令学好。不过我想我会尽可能的把这份文档写详细一些,如果你有足够的毅力,或许一个newbi也能成功做一个babylinux。或者,你遇到一件很不巧的事情,比如你的老婆来例假了,你的这个周末就泡汤了,那么阅读这篇文档并做一个linux小玩具可以打发你的时间。 四,应该具备的知识 在做一个babylinux之前,你应当已经会应用linux最常用的命令。并且至少有一次成功编译并安装系统内核的经历,会通过编译源代码来安装软件。如果你具备了这些条件,那么做这样一个小系统会很顺利,如果你还没有掌握这些知识,你可能会遇到一些困难。但是只要有毅力,也可以成功。你不需要具备编程的知识,因为我的目标是:让具有中等以上linux水平的爱好者可以通过阅读文档轻松完成这个项目。关于一张软盘上的linux还有一个很著名的linux叫LOAP

linux运维笔试题

linux运维笔试题 [键入文档标题] Linux 参加面试人 : 面试时间: 北京京泰昊驰网络科技有限公司 | Linux系统运维面试题 一、填空题 1、CD-ROM标准的文件系统类型是 ________ 2、在Linux系统中,测试DNS服务器是否能够正确解析域名的的客户端命令,使用命令 ________ 3、将/home/ixdba目录做归档压缩,压缩后生成ixdba.tar.bz2文件,并将此文件保存到/home目录下, 实现此任务的tar命令格式________ 4、在Linux系统下,第二个IDE通道的硬盘(从盘)被标识为______ 5、Vim编辑器基本上可以分为3种模式,分别为________ 、________插入模式_____和_________ 6、ping命令用于测试网络的连通性,ping命令通过________协议来实现。 7、dns(域名系统)实际上是分布在internet上的主机信息的数据库,其作用是实现_______和________ 之间的转换。 二、判断题 1、,分区越大约好,因为/越大,Linux启动速度越快。( ) 2、在进行网络配置时,netstat命令用于测试网络中主机之间是否连通 ( )

3、可以在/etc/fstab中的文件系统在系统启动的时候自动加载 ( ) 4、通过ping命令就可以知道此IP是否处于激活状态( ) 5、 dns是专为基于tcp/ip的网络提供主机名到ip地址翻译的专用域名解析 系统。( ) 6、在shell命令行方式下,一行只能写一个指令,每次只能使用一个命令( ) 7、邮件系统由三部分组成:用户代理、传输代理、和投递代理。其中传输代 理功能是将邮件放入用户 的邮箱。( ) 8、在linux系统上做备份时,有两种备份形式:系统备份和用户备份。其中 用户备份的目的是尽量在 系统崩溃后能快速、简单、完全地恢复系统的运行。( ) 9、当需要中断一个进程时,可以使用键( ) 三、选择题 1、一个文件名字为rr.gz,可以用来解压缩的命令是 A.tar B.gzip https://www.doczj.com/doc/4112926058.html,press D.uncompress 2、查看以太网mac地址的命令为: A.ping B.ifconfig C.arp D.traceroute 3、在vi编辑器中的命令模式下,键入可在光标当前所在行下添加一新行。 A. B. C. D.a 4、你使用命令“vi /etc/inittab”查看该文件的内容,你不小心改动了一些 内容,为了防止系统出问题, 你不想保存所修改内容,你应该如何操作 A.在末行模式下,键入:wq B.在末行模式下,键入:q! C.在末行模式下,键入:x! D.在编辑模式下,键入“ESC”键直接退出vi

Linux操作系统学习心得

Linux操作系统学习心得 Linux操作系统这个名词记得在很早以前就听过,但具体是什么样的系统却真的不知道,甚至都不知道它是手机系统还是电脑系统,知道的只是它好像比较不易死机,。对于这个学期选这门公共选修课,很大一部分原因是怀着一颗要了解一种早就想知道的东西的心选的.当然我平时也喜欢玩点电脑什么的,只是停留在用别人设计好的现成的东西。 经过一个学期linux操作系统的学习,在老师在课堂对linux系统的介绍及通过网络的了解下,知道了linux原来是一种和windows差不多的电脑操作系统,windows是图形界面的,linux类似以前的DOS,是文本界面的,如果你运行了图形界面程序X-WINDOWS后,linux 也能显示图形界面,也有开始菜单、桌面、图标等。Windows有MS-DOS 方式,在该方式下通过输入DOS命令来操作电脑;而linux与windows 类似,也有命令方式,linux 启动后如果不执行X-WINDOWS,就会处于命令方式下,必须发命令才能操作电脑。另外linux上也有很多的应用软件,安装运行了这些软件后,你就可以在linux上编辑文档、图片,玩游戏、上网、播放多媒体文件等。 当然我们对linux的学习首先是通过对它的产生,发展,到今天仍然在不断完善开始的。它的产生和需要花钱买得windows系统形成了对比,因为linux的核心是免费的,自由使用的,核心源代码是开放的.任何人都可以根据自己的喜好来编辑创作适合自己的操作系统,linux是抢占式多任务多用户操作系统,Linux最大的优点在于其作为服务器的强大功能,同时支持多种应用程序及开发工具,所以linux 操作系统有着广泛的应用空间。 而且在课上随着老师的讲解和自己动手查资料,慢慢的学习到了更深入的知识,知道了linux的安装:硬盘安装及光盘安装,清楚了解安装Linux应注意的有关问题。学习了linux系统的进入,关闭和重启。掌握了linux系统的硬件配置,如显卡,声卡,网卡等,并且通过对linux 系统基本命令的学习,尤其是shell命令语言(亦称命令解释器),熟悉了系统的基本操作。当然在学习中发现英文学得好也是学好linux 的关键。同时还了解了linux对应下的一些常用软件及这些软件的安装。因为linux在服务器中广泛的应用,于是我们进一步学习了linux 下接入internet的WEB服务器的安装与配置方法。之后还了解了linux 的网络安全,系统的安全,用户的安全等。 眼看这个学期Linux的课程已经告一段落了,在这段时间的学习如

运维面试题(含答案)

运维工程师面试题 姓名: 答题时间: 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端执行了同样的查询或操作语句,所以两端的数据是完全一样的。

(完整版)系统运维工程师笔试题目--答案版.doc

系统运维工程师测试题 一填空题 1 在 linux 系统中,以文件的方式访问设备。 2 连接分为:软连接(符号链接)和硬链接。 3 某文件的权限为 d-rw-_r--_r-- ,用数值形式表示该权限,则该8 进制数位64 4 ,该文件的属性为目录。 4 编写 shell 程序之前必须赋予该脚本可执行的权限。 5 系统管理的主要任务是能够在分布式环境中实现对程序和数据的安全保护、备份、 恢复、更新。 6 内核分为进程管理、内存管理、I/O 系统管理、文件系统管理四个子系统。 7 唯一标识每一个用户的是用户的id 和用户名。 8 远程连接 mysql 数据库的命令是什么mysql –h ip –u (用户) -p(密码) 9 如果 nginx.pid 的目录在 '/usr/nginx/logs/nginx.pid' 下,那么平滑重启的命令为kill –HUP /usr/nginx/logs/nginx.pid 。 10 在超级用户下显示linux 系统中正在运行的全部进程,应使用的命令和参数是ps -aux 。 二选择题 1.Linux 文件权限一共 10 位长度,分成四段,第三段表示的内容是。 A 文件类型 B 文件所有者的权限 C 文件所有者所在组的权限 D 其他用户的权限 2.终止一个前台进程可能用到的命令和操作。 A kill B ctrl+c C shut down D halt

3.在使用mkdir 命令创建新的目录时,在其父目录不存在时先创建父目录的选项是。 A -m B -d C -f D -p 4.一个文件名字为 rr.Z ,可以用来解压缩的命令是:。 A tar B gzip C compress D uncompress 5.文件 exer1 的访问权限为 rw-r--r-- ,现要增加所有用户的执行权限和同组用户的写权限,下列命令正确的是。 A chmod a+x g+w exer1 B chmod 765 exer1 C chmod o+x exer1 D chmod g+w exer1 6. .关闭 linux 系统(不重新启动)可使用命令。 A Ctrl+Alt+Del B halt C shutdown -r now D reboot 7.在日常管理中,通常CPU 会影响系统性能的情况是:。 A CPU已满负荷地运转 B CPU 的运行效率为30% C CPU的运行效率为50% D CPU 的运行效率为80% 8.若一台计算机的内存为128MB ,则交换分区的大小通常是。 A 64M B B 128MB C 256MB D 512MB 9. Samba 服务器的配置文件是。 A httpd.conf B inetd.conf C rc.samba D smb.conf 10. Linux 有三个查看文件的命令,若希望在查看文件内容过程中可以用光标上下移动来查看文件内容,应使用命令。 A cat B more C less D menu 11.建立动态路由需要用到的文件有。 A /etc/hosts B /etc/HOSTNAME C /etc/resolv.conf D /etc/gateways 12. 下面对 www和ftp的端口描述正确的是

linux运维笔试面试题

13、简述raid0 raid1 raid5 三种工作模式的工作原理及特点。 RAID 0:连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据 传输率,但它没有数据冗余,因此并不能算是真正的 RAID 结构。RAID 0 只是单纯地提高 性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据。因此,RAID 0 不能应用于数据安全性要求高的场合。 RAID 1:它是通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此 RAID 1 可以提高读取性能。RAID 1 是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。简单来说就是:镜象结构,类似于备份模式,一个数据被复制到两块硬盘上。 RAID5:分布式奇偶校验的独立磁盘结构,它的奇偶校验码存在于所有磁盘上,任何一个 硬盘损坏,都可以根据其它硬盘上的校验位来重建损坏的数据。支持一块盘掉线后仍然正常 运行。 一、打印出file1 文件第 1 到第 3 行 sed n ’1,3p’ file1 head 3 file1 二、如何将本地 80 端口的请求转发到 8080 端口,当前主机 IP 为 192.168.2.1 iptables -t nat -A PREROUTING -d 192.168.10.10 -p tcp --dport 80 -j DNAT --to-destination 192.168.10.10:8080 三、crontab 在 11 月份内,每天的早上 6 点到 12 点中,每隔 2 小时执行一次/usr/bin/httpd.sh 怎 么 实现 任务调度文件:/etc/crontab 执行任务:#crontab–e 终止任务:#crontab–r 列出调度任务:#crontab–r 0 612/2 * 11 * /usr/bin/httpd.sh

linux课程培训之Linux运维工程师笔试题(13题)

linux课程培训之Linux运维工程师笔试题(13题) 千锋Linux云计算运维培训课程,系统全面地教授学员自动化运维,云运维(公有云,私有云,混合云)的专业技术,毕业后具有核心竞争力和发展的岗位有:Linux高级运维工程师,云计算架构师,云计算开发工程师,云计算安全工程师。 小编整理了一下Linux运维工程师的笔试题,分享给大家。 1、如何过滤出已知当前目录下oldboy中的所有一级目录(不包含子目录,即只能是一级目录) 方法1:find./-type d-maxdepth1 方法2:ls-F 方法3:ls-l|grep^d 方法4:ls-F|grep/$ 方法5:ls-l|grep-v^- 方法6:tree-L1/ 方法7:根据颜色来区分文件和目录 方法8:ls-l|sed-n/^d/p 2、一个目录中有很多文件(ls查看时好多屏),想最快速度查看到最近更新的文件,如何看?ls-lrt/etc#最底部的就是最新更新的文件 参数说明: -r,–reverse#翻转排序 -t#按照修改时间排序 3、已知apache服务的访问日志按天记录在服务器本地目录/app/logs下,由于磁盘空间紧张,现在要求只能保留最近7天访问日志!请问如何解决? 办法或配置或处理命令(提示:可以从apache服务配置上着手,也可以从生成出来的日志上着手) 1>.服务自身的功能实现 2>.手动删除 find./-mtime+7-type f-name“*.log”-exec rm-f{}\;#查找7天以前的日志并删除之 4、打印配置文件nginx.conf内容的行号及内容,该如何做? 方法1:cat-n nginx.conf 方法2:less-N nginx.conf 方法3:grep-n.nginx.conf#此处的.(点)号,表示任意单个字符,-n是给过滤出的每一行加行号 5、如何迅速返回到上一次的目录? cd–#环境变量OLDPWD始终记录着上一次的位置 6、调试系统服务时,希望能实时查看系统日志/var/log/messages的更新,如何做? 方法1:tail-f/var/log/messages

《Linux操作系统》课程教学大纲

《Linux操作系统》教学大纲 一、课程目的 Linux操作系统是一个功能强大而且十分灵活的操作系统,安全行、稳定性好,很少受到病毒和黑客的攻击。本课程系统介绍Linux操作系统的基本操作、讲解系统的安装及配置、系统常用命令的使用,用较多的课时学习系统的图形界面及图形界面下的应用程序的功能及使用方法,特别是对于Linux强大的网络服务功能安排了综合实验来加强应用和动手能力。本课程可以配合操作系统原理课,使学生能理论结合实践。 二、课程性质和任务 本课程的主要任务是讲授Linux操作系统的理论基础和服务器配置实践知识,同时通过大量实验,着重培养学生的动手能力。 (1)使学生了解Linux操作系统在行业中的重要地位和广泛的使用范围。 (2)在学习Windows Server的基础上,加深对服务器操作系统的认识和实践配置能力。 (3)加深对计算机网络基础知识的理解,并在实践中加以应用。 (4)掌握Linux操作系统的安装、命令行操作、用户管理、磁盘管理、文件系统管理、软件包管理、进程管理、系统监测和系统故障排除。 (5)掌握Linux操作系统的网络配置、DNS、DHCP、HTTP、FTP、SMTP和POP3服务的配置与管理。 (6)为更深一步学习其它网络操作系统和软件系统开发奠定坚实的基础。 三、教学要求 (1)通过对网络基本概念、基本原理的理解,使学生加深网络基础知识在服务器领域的应用。 (2)通过实践教学,使学生掌握Linux操作系统的安装、基本配置和图形界面及命令行界面的使用方法。 (3)通过理论和实践教学,使学生掌握Linux操作系统的用户管理、磁盘管理、文件系统管理、软件包管理、进程管理、系统监测和系统故障排除的能力。 (4)通过理论和实践教学,使学生掌握Linux操作系统的网络配置、DNS、DHCP、HTTP、FTP、SMTP和POP3服务的配置与管理。 四、教学内容和课时安排 本课程共56学时,3.5学分,具体教学内容和课时安排如下:

运维工程师笔试题及答案

第一部分: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 https://www.doczj.com/doc/4112926058.html,stat 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.索引字段值不唯一,应该使用的索引类型为普通索引。 4.人员基本信息一般包括:身份证号,姓名,性别,年龄等。其中可以作为主关键字的是身份证号。 5.SQL语言中,用于排序的是__Order by__子句,用于分组的是__group by__子句。 6.在数据库技术中,实体集之间的联系可以是一对一或一对多或多对多的,那么“学生”和“可选课程”的联系为多对多。 7.在关系A(S,SN,D)和关系B(D,CN,NM)中,A 的主关键字是S,B 的主关键字是D,则称____D____是关系 A 的外键。 8.通过封锁机制可以保证在多用户操作下,并发数据一致性。 9.锁可以分为两种类型:共享锁和排它锁。 10.关系数据模型由数据结构、数据操作和完整性约束规则三部分组成。 选择题: 1.用SQL语句建立表时将属性定义为主关键字,应使用短语?( B ) A.CHECK B.PRIMARY KEY C.FREE D.UNIQUE 2.在关系模型中,实现"关系中不允许出现相同的元组"的约束是通过?(B) A.候选键 B.主键 C.外键 D.超键 3.SQL语句中修改表结构的命令是?(C) A.MODIFY TABLE B.MODIFY STRUCTURE C.ALTER TABLE D.ALTER STRUCTURE 4.用SQL语句建立表时将属性定义为主关键字,应使用短语?( B ) A.CHECK B.PRIMARY KEY C.FREE D.UNIQUE 5.在oracle中下列哪个表名是不允许的?(D) A.abc$ B.abc

相关主题
文本预览