Linux复习资料
GNU:是“GNU's Not Unix”的递归缩写,又称革奴计划,是一个组织,是一种操作系统也是一类规范。GPL(General Public License):通用公共许可证。
POSIX(Portable Operating System Interface):表示可移植操作系统接口,POSIX标准定义了操作系统应该为应用程序提供的接口标准。
UNIX:是一种广泛使用的商业操作系统的名称。是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统。
MINIX:是一种基于微内核架构的类UNIX计算机操作系统。
LINUX:是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。
GNOME(The GNU Network Object Model Environment):是一种让使用者容易操作和设定电脑环境的工具。GNOME 包含了Panel (用来启动此程式和显示目前的状态)、桌面(应用程式和资料放置的地方)及一系列的标准桌面工具和应用程式,并且能让各个应用程式都能正常地运作。
KDE(Kool Desktop Environment):一种运行于 Linux、Unix 以及FreeBSD 等操作系统上面自由图形工作环境。
? 2.LINUX版本:
内核(kernel)版本
发行(Distribution)版本
? 3.内核版本号的含义:
Kernel 2.6.18-19 :表示对内核2.6版本的第18次修改修改了19处
Kernel 3.19.3 官方版布(2015.3.9) :内核测试版本(偶数2.4是稳定版本,奇数3.9测试版本)
?4、LINUX安装
作为工作站安装:至少需要3个分区:“/”根分区、“swap”交换分区、“/boot”分区。
作为服务器安装:至少需要5个分区:“/”根分区、“swap”交换分区、“/boot”分区、”/home”分区、”/usr”分区
?5、LINUX用户接口
命令接口(用于命令行操作:交互、批处理)
图形接口(用于图形化操作:桌面、窗口)
程序接口(用于编程:系统调用CALL)
?LINUX系统启动引导过程
(1)BIOS自检,加载MBR主引导区记录;
(2)MBR中LILO或者GRUB启动,加载内核映像文件vmlinuz;
(3)LINUX内核运行,加载硬件驱动程序、安装文件系统;
(4)运行init进程,根据inittab配置文件、完成系统初始化、提供用户登录界面;
(5)用户登录:
root用户登录,shell提示符“#”
普通用户登录,shell提示符“$”
?系统运行级别与切换
(1)/etc/inittab 文件的记录格式及含义:Id:runlevels:action:process、行记录标识:系统运行级别:本行执行动作:本行运行的命令
(2)运行级别(runlevels)及对应的含义:0、1、2、3、4、5、6
(3)运行级别切换:# init 0/1/2/3/4/5/6
?系统关闭与重启命令
# init 0或telinit 0 关机
# poweroff 关机
# reboot 重新启动系统
?linux内核功能特点(2015.3.9发布最新内核Kernel 3.19.3 ):
1. 支持intel、alpha、ppc、sparc、ia-64 、arm、mips、amiga、atari和ibm s/390等
2.支持32位大文件系统。而在intel平台上,物理内存最大支持可以达到64GB
3.加强对ide和scsi硬件系统的支持,并增强了对usb设备和3d加速卡的支持
?linux kernel更新日志:
完整支持DynTicks(动态定时器),并成为内核级别的内核特性;KVM虚拟化改进;音频/声音驱动更新;ARM架构支持改进,包括更好地支持64位架构;大量的Linux加密子系统优化;AMD电源管理改进;分阶段驱动(Staging Drivers)改进与新举措;BCache固态硬盘/机械硬盘缓存框架已经可用,使用两种硬盘的系统将会大大提速;AMDKFD HSA(异构系统架构)内核驱动;eCryptfs AES-NI性能改进,支持AES 指令集的AMD/Intel x86处理器将会大大提速;Btrfs文件系统支持skinny extent,quota也进行了一些重建;Btrfs文件系统改进RAID5 / RAID6支持;F2FS闪存文件系统重大改进;XFS额外保护;DRM驱动多方面改进;Radeon DRM驱动支持golden registers、UVD视频解码、RadeonSI tiling;引入QXL KMS驱动;SquashFS支持LZ4压缩。
?用户登录方式
(1)本地登录
(2)远程登录:telnet (23) 、ssh(22)、rlogin、rsh
(3)虚拟终端:字符终端、切换(Ctrl+Alt+Fx:F1~F6)、图形终端、切换(Ctrl+Alt+F7)
?用户账号管理:
添加用户、设置口令、删除用户、修改用户属性和权限等。
} 用户配置文件/etc/passwd、/etc/shadow、/etc/group、/etc/shadow的格式及含义
passwd(account:passwd:UID:GID:GECOS:directory:shell)
Shadow(account :encrypted passwd:last:may:must:warn:expire:reserved)
Group(group_name:passwd:GID:user_list)
Gshadow(group_name:encrypted passwd:group administrators:group members)
} 显示系统默认新增用户(不加任何选项)时的用户环境配置:#useradd –D
GROUP=100 # 新增用户的所属主组的GID是从100开始,0~99由系统用户有服务使用,新增用户时不指定组时自动排除豫留GID后,GID+1 #
HOME=/home #新增用户时,用户的家目录建在/home中,该目录也可以自己设定。#
INACTIVE=-1 #是否启用密码过期后是否会失效,-1表示密码永远不会失效。如10,则代表过期10天后才失效#
EXPIRE= #帐号终止日期,不设置表示不启用#
SHELL=/bin/bash #用户默认登录的shell(为bash)#
SKEL=/etc/skel #用户家目录里面文件的参照位置,即用命令adduser/useradd添加用户时,用户家目录下的文件,都是从这个目录中复制过去的,目录中文件通常以隐藏文件形式存在#
CREATE_MAIL_SPOOL=yes #创建用户的邮件池,为新增用户设置邮箱#
?系统用户角色及UID与GID
root用户。系统真实用户,可登录系统,拥有最高权限。UID=0、GID=0;
虚拟用户(系统用户、假用户、伪用户)。不能登录,但是系统运行不可缺少的用户,UID、GID预留给系统使用,1 普通用户。真实用户(500 (说明:预留的UID/GID,以及真实用户可用的UID/GID,不同的LINUX发行版本定义的可能不一样, 可通过/etc/login.defs设置。) ?添加新用户# useradd <新用户名> # adduser <新用户名> ?说出下列命令组的含义 # useradd user01 # passwd user01 # tail -1 /etc/passwd # tail -1 /etc/shadow ?删除用户# userdel <用户账号> ?说出下列命令的含义及执行后结果 # useradd user01 # passwd user01 # grep user01 /etc/passwd (查询user01是否存在) # userdel user01 (删除user01) # grep user01 /etc/passwd (再次查询已不在) # ll –d /home/user01 (用户宿主目录并没删除) ?删除用户及家目录# userdel -r <用户账号> ?说出下列命令的含义及执行后结果 # useradd user01 # passwd user01 # grep user01 /etc/passwd (查询user01是否存在) # userdel –r user01 (删除user01,同时删除其宿主目录) # ll –d /home/user01 (用户宿主目录已删除) ?修改用户属性命令# usermod 改变用户账号名:#usermod –l newuser olduser 修改用户宿主目录:usermod –d newdir user 锁定用户账号(锁定符号“!”):# usermod –L user 解锁用户账号:# usermod –U user 将某用户添加到现有的标准组中,原属组不变:# usermod -G softgroup userycb ?维护用户账号口令# passwd 设置指定用户的口令:#passwd user01 (设置用户user01的口令,输入两次)、#passwd (修改当前用户自己口令,输入两次) 查询用户口令状态:#passwd –S user01 (查询user01口令状态,root可用) 锁定用户账号:#passwd –L user01 (锁定user01账号的口令,root可用) 解锁用户账号:#passwd –U user01 (解锁user01账号,root可用) 删除用户账号口令:#passwd –d user01 (删除user01账号口令,使用户不能登录,root可用) ?用户组账号管理 组的分类:私有组(主组):当在创建一个新用户user时,若没有指定他所属于的组,系统就建立一个和该用户同名的私有组。 标准组(可容纳其他用户的附加组):标准组可以容纳多个用户,若使用标准组,在创建一个新的用户时就应该指定他所属于的组。 ?命令: groupadd :添加组账号 groupmod:修改用户组账号属性 groupdel:删除组用户账号 ?新建组账号 ?添加组账号(GID>500):#groupadd <组账号名>、#groupadd mygroup (建立组账号)、#grep mygroup /etc/group (查询组账号):mygroup:x:502 (组账号存在) ?建立系统组账号(GID<500) #groupadd –r <系统组账号名> #groupadd –r sysgroup (建立系统组账号) #grep sysgroup /etc/group (查询系统组账号):sysgroup:x:11 (组账号存在) ?修改组账号属性 ?改变组账号名(GID不变) #groupmod -n <新组账号名> <原组账号名> #groupmod –n newgroup mygroup (组账号改为newgroup) #grep newgroup /etc/group (查找newgroup组账号是否存在) ?newgroup:x:502 (newgroup组账号存在!) ?改变组账号的GID(组账号名不变) #groupmod –g <新的GID> <组账号名> #groupmod –g 503 mygroup (组账号GID改为503) #grep mygroup /etc/group (查找mygroup组账号是否存在) ?mygroup:x:503 (mygroup组账号存在!) ?删除组账号#groupdel <组账号名> ?请说出下列命令及结果的含义 #grep mygroup /etc/group (在group组账号文件中查找有没有mygroup组) mygroup:x:502 (查找到有mygroup 组) #useradd –g mygroup myuser (新增加myuser用户,并加入mygroup组) #groupdel mygroup (删除mygroup 组) groupdel : cannot remove user’s primary group (不能删除mygroup 组账号) #userdel myuser (先删除该组下的用户myuser) #groupdel mygroup (再删除组账号mygroup) ?文件类型 (1)普通文件(-):文本文件、二进制文件 (2)目录文件(d):由目录项构成[两部分:文件名和文件号(即i节点号:i_number] (3)链(连)接文件(l):硬链接、软链接 (4)设备文件(b、c):块设备、字符设备 (5)管道(FIFO)文件(p):管道命令“|” ?文件权限 (1)文件和目录的使用者 a:超级用户(root) b:文件或目录的属主(u) c:属主的同组人(g) d;其他人(o) (2)对每一类使用者设置文件的权限有4种:读(r),写(w),执行(x),无权限(-) ?目录权限 (1)目录权限的修改和文件权限修改不同 r:可列出目录中的内容 w:可在目录中创建、删除和修改文件 x:可以使用cd命令切换到此目录 -:没有任何此目录的访问权限 ?文件系统结构 Ext2,ext3、, VFS接口:proc 逻辑文件系统:Minix,Msdos,Iso9660(.iso镜像),Iso9600(cdrom),nfs,vfat ?文件系统目录结构:安装时在根分区下创建ext3逻辑文件系统的根目录”/”?#ls –al ?Linux系统目录说明 /boot 存放内核及启动所需要的文件,使用独立分区。 /bin 存放普通用户可以执行的命令,任何用户均可执行。 /sbin 存放系统管理命令,普通用户不能使用。 /dev 存放系统所有设备文件,光盘、硬盘、U盘等。 /etc 存放系统配置文件,文本文件,可查看和修改。 /mnt 或/media 是可移动存储设备的挂载点 /var 存放系统中经常变化的文件,如日志文件、用户邮件等。 /usr 存放大量应用程序及相关文件,文件较多,需独立分区。 /opt 存放第三方的可选择安装的应用软件 /home 是普通用户的宿主目录所在地,用于存放用户数据,需独立分区。 /root 超级用户root的宿主目录,独立分区。 /tmp 用来存放临时文件 /lib 存放必要的运行库 /proc 虚拟文件系统:存放存储进程和系统信息 ?/dev目录下常用设备文件表示(参见P115) (1)IDE硬盘 (驱动器标识符为hdx*) X:第一块IDE硬盘:hda;第二块IDE硬盘:hdb等等 *:指分区,即主分区和扩展分区,从5开始就是逻辑分区。 例:hda3 表示主硬盘上的第3个主分区或扩展分区,hdb1 表示第二块IDE硬盘上的第1个主分区或扩展分区。 (2)SCSI硬盘 (驱动器标识符为sdx*) X :第一块SCSI硬盘:sda;第二块SCSI硬盘:sdb等等 * :指分区,即主分区和扩展分区,从5开始就是逻辑分区。 例:SCSI的引导盘使用的设备文件/dev/sda1、/dev/sda2、/dev/sda3、/dev/sda4作为主分区,/dev/sda5作为扩展分区。 (3)USB盘(U盘、USB接口移动硬盘) 没有SCSI接口盘的情况下,使用sda、sdb、sdc等 有SCSI接口盘或虚拟机使用SCSI接口盘时,按sda、sdb、sdc等顺序使用。 ?挂、卸载文件系统的注意事项 (1)、挂载目录必须存在而且是空; (2)、移动设备、即插即用设备的挂载目录为/mnt、/media; (3)、不能在挂载目录下进行挂载操作; (4)、将光盘、DVD盘、U盘等移动存储设备放入驱动器或接入USB接口后,才能实施挂载操作; (5)、卸载前不要取出光盘、DVD盘、U盘等移动设备; (6)、不能在同一个目录下挂载两个文件系统; ⑺、不能在挂载目录下进行挂、卸载操作; (8)、自动挂载需配置/etc/fstab文件,且开机前移动设备已连接在电脑上。 ?硬链接与软链接的异同 硬链接(#ln <源文件名> <硬链接文件名>) 硬链接:在被链接的位置生成一个该文件的拷贝。硬链接的存取权限与原始文件完全相同。 特点:两个文件,长度相等、删除其中一个文件,另一个仍然存在、修改其中一个文件,另一个也修改。 ?软链接(符号链接)(#ln –s <源文件名> <软链接文件名>) 软链接:建立一个指向某文件的指针。相当于文件的另外一个副本,指向同一数据存储区。(类似快捷方式) ?特点:仅保存一个指针,长度小于原文件、删除符号链接,不影响原文件、删除原文件,符号链接则没有意义 ?新增第2块IDE硬盘,用作ftp服务,挂载点为/usr/ftp,如何建立文件系统,使用哪些命令? (1) 、在硬盘上建立分区(命令:fdisk、parted):#fdisk /dev/hdb (2)、在分区上建立文件系统(命令:mkfs ):# mkfs /dev/hdb1 (3)、把分区挂载到系统中(命令:mount):#mkdir /usr/ftp 、#mount /dev/hdb1 /usr/ftp ?光盘的挂载及使用 (1)放入光盘到光驱 (2)# mount -t iso9660 /dev/cdrom /mnt/cdrom 或# mount /mnt/cdrom (挂载光盘到/mnt/cdrom 目录) (3)#cd /mnt/cdrom (切换到光盘所在目录) (4)#ls – l (以详细列表方式列光盘根目录下文件与目录的清单) (5)#cd .. (返回到上级目录) (6)# umount /mnt/cdrom (卸载光盘文件) (7)#eject (取盘、退盘) ?光盘镜像文件iso的使用 ?假设/root目录下有一个光盘镜像文件office2003.iso (1)#mkdir /media/office (2)# mount -o loop /root/office2003.iso /media/office或 # mount /root/office2003.iso /media/office -t iso9660 -o loop (3)#cd /media/office (切换到镜像文件挂载目录) (4)#ls – l (以详细列表方式列镜像文件下的清单) (5)# cd ~ (切换到root用户家目录) (6)#umount /media/office (卸载iso镜像文件) ?光盘镜像文件iso的使用 ?假设/root目录下有一个光盘镜像文件office2010.iso (1)#mkdir /media/iso (在media目录下创建子目录iso) (1)#mkdir /root/office (在root目录下创建子目录office) (2)#mount -o loop office2010.iso office (在root当前目录下,将office2010.iso镜像文件挂载到子目录office下) (2)# mount office2010.iso /media/iso -t iso9660 -o loop (在root当前目录下,将office2010.iso镜像文件挂载到/media/iso子目录下) (2)# mount -o loop /root/office2010.iso /root/office (在任意当前目录下,将/root/office2010.iso镜像文件挂载到/root/ioffice子目录下) (3)# umount office (在root当前目录下卸载office镜像文件所挂目录) (3)# umount /media/iso (在任意非iso当前目录下卸载iso镜像文件所挂目录) (3)# umount /root/office (在任意非office当前目录下卸载office镜像文件所挂目录) ?磁盘使用情况管理 #more /etc/fstab (逐屏显示系统自动挂载的文件系统) #df (查看每个磁盘文件系统的空间使用情况) # df -ah (以MB、GB为单位查看每个磁盘文件系统的空间使用情况) #du (显示磁盘上目录或文件的大小) #fsck (检测并修复磁盘上使用的文件系统) ?解释/etc/fstab 文件的含义 /etc/fstab 文件内容如下,请解释其中含义: ?文件与目录的权限管理chmod 权限范围:u、g、o、a 修改动作:+、-、= 权限代号:r(数字4)、w(数字2)、x(数字1)、-(数字0) 例:#chmod u+rwx file1 #chmod g+rx file1 #chmod a+rwx file1 #chmod 755 file2 #chmod 444 file2 ?改变文件属主、所在组 # useradd user1 #passwd user1 #chown user1 file1 将文件file1的属主改为user1 #chown –R user1 mydir1/ 将当前目录下的子目录mydir1中所有文件的属主改为user1 #groupadd ftpusers #chgrp ftpusers file1 改变文件file1的所属群组为ftpusers #chgrp –R ftpusers /root/mydir1/ 将目录/root/mydir1下所有文件的所属群组改成ftpusers ?目录切换、创建、删除 #cd .. (返回到上一级目录) #pwd (打印/显示当前目录) #cd ~ (返回到当前用户的家目录) #cd /home/user (切换到绝对路径指示的目录) #cd mydir/user (切换到相对路径指示的目录) #mkdir /var/mydir (在var目录下创建子目录mydir) #mkdir mydir (在当前目录下创建子目录mydir) #rmdir /var/mydir (删除var目录下的空目录mydir) #rmdir mydir (删除当前目录下的空目录mydir) ?文件与目录的复制 #cp [选项] <源文件> <目标文件> # cp [选项] <源文件列表> <目标目录> #cp /etc/* .conf ./mydir (将/etc目录下所有扩展名为conf的文件复制到当前目录下mydir子目录中。) #cp /etc/* .conf mydir/ (同上) #cp –a /etc/*.* mydir/ (将/etc目录下所有文件与子目录复制到当前目录下mydir子目录中。) #cp -r/home mydir/ (将/home 目录下所有文件与目录递归复制到当前目录下mydir子目录中。) ?文件与目录列表显示、删除 #ls或dir (显示当前目录下的所有文件名与目录名) #ls或dir –l (以详细列表方式/横向列表方式,显示当前目录下的文件与目录) #ls或dir –al (以详细列表方式/横向列表方式,显示当前目录下的所有文件与目录,包含隐藏文件) #rm * (删除当前目录下的所有文件,需确认) #rm -r * (删除当前目录下的所有文件与子目录,需确认) #rm -f * (强制删除当前目录下的所有文件) #rm -rf * (强制删除当前目录下的所有文件与子目录) ?查找文件名称 #find [路径] -name <文件名> (查找文件名称) #find [路径] -user <用户名> (查找属主的文件) #find /etc -name n*.conf (在/etc目录下查找所有以n开头的扩展名为.conf的文件) #find . -name n*.conf (在当前目录下查找所有以n开头的扩展名为.conf的文件) #find /home -user user01 (从home目录下查找属于user01的所有文件) #find /var -name *.log (从var目录开始查找所有扩展名为.log的日志文件) ?查找文件里的内容 #grep [选项] <字符串> <文件名> #ls /etc -al > ls.txt (将/etc目录下所有文件和子目录清单以横向列表方式复位向(保存)到文件ls.txt中) #grep –5 “glib” ls.txt (在当前目录下的ls.txt文件中,查找包含“glib” 字符串的行,关显示该行前后各5行的内容) #grep “user02” /etc/passwd (在用户账号文件中查找有没有user02用户) ?查看文件里的内容 #more /etc/inittab (逐屏显示系统祖先进程init的配置文件/etc/inittab的内容) #less /etc/fstab (逐屏显示系统自动加载文件系统的配置文件/etc/fstab的内容) #head -10 /etc/passwd (显示用户账号文件passwd前10行的内容) #tail -10 /etc/shadow (显示用户口令文件shadow后10行的内容) # cat file1.txt (显示当前目录下file1.txt文件的内容) #cat file1.txt file2.txt > file3.txt (将file2.txt 文件的内容追加到file1.txt 文件的尾部,并保存在file3.txt 文件中) ?文件压缩、解压缩 用法:gzip [参数] <压缩或解压的文件名> #gzip * (将当前目录下每个文件压缩成对应的gz文件) #gzip –dv *.gz (对当前目录下所有压缩文件进行解压缩并显示详细信息) #gzip -r * (当前目录下每个文件压缩成对应的gz文件,包括子目录中的文件) #gzip –1 file1.jpg (将file1.jpg文件进行快速压缩) #gzip –d file1.jpg.gz (将file1.jpg.gz文件解压缩) #gzip –9 myfile (将myfile文件进行深度压缩) #gzip –d myfile.gz (将myfile.gz文件解压缩) #gzip *.tar (将当前目录下所有扩展名为tar的文件压缩成对应名称的*.tar.gz文件) #gzip –d *.tar.gz (将当前目录下的所有扩展名为.tar.gz的文件解压缩) #gunzip = gzip –d (解压缩用法同gzip) #gunzip –r mydir1/ (解开mydir1目录中的所有gzip的压缩文件) #gunzip –dv *.gz (对当前目录下所有压缩文件进行解压缩并显示详细信息) ?文件归档(打包) ?用法:tar [参数] <文件或目录> -c 建立一个新的.tar文件 -f filename.tar (指定新文件名filename.tar ) -x (解压某个归档文件) -v (显示冗余信息) -z (通过gzip过滤器进行归档) ?建立tar包 #tar cvf #tar cvf tmp.tar /tmp/ 建立压缩的TAR包 #tar zcvf #tar zcvf tmp.tar.gz /tmp/ ?建立压缩的TAR包 #tar zcvf #tar zcvf tmp.tar.gz /tmp/ ?文件归档(打包)续 查询TAR包中的内容 # tar tf # tar tf tmp.tar 查询压缩TAR包中的内容 # tar ztf <压缩TAR包文件名> #tar ztf tmp.tar.gz ?磁盘文件与目录的备份、备份策略 完全备份:指一次从磁盘上复制所有指定的文件与数据到备份介质上。 增量备份:指复制从上一次备份后所有改变的文件与数据到备份介质。 ?备份命令:#tar,#cpio,#dump 完全备份、增量备份的shell脚本参见后续章节 ?RPM (1)RPM名词: Redhat Package Manager缩写 (2)RPM包分类:RPM、SRPM (3)RPM/SRPM包格式规律: (1)软件包名称-软件包版本号-发行号-运行的硬件平台.rpm (2)软件包名称-软件包版本号-发行号-运行的硬件平台.src.rpm ?RPM包的使用 (1)安装:#rpm –ivh #rpm –ivh webmin-1.740-1.noarch.rpm (2)查询: #rpm –q <软件包名称> (查询某软件包是否安装) #rpm –q webmin #rpm –q xinetd #rpm –qa (查询系统中安装的所有RPM包) #rpm –qa | more #rpm –qa > rpminstall.txt #rpm –qi <软件包名称> (查询某软件包的信息) #rpm –qi webmin #rpm –ql <软件包名称>(查询软件包安装的文件) #rpm –ql xinetd (3)升级:#rpm –U 升级指定的RPM包,若指定的RPM包当前没安装,则直接安装 #rpm –U webmin-1.740-1.noarch.rpm (4)删除:#rpm –e 用于从当前系统中删除指定的RPM包 #rpm –e webmin-1.740-1.noarch.rpm (5)校验:#rpm –V 检查软件包中的所有文件是否与系统中所安装的一致。即根据RPM所维护的数据库对文件大小、存取权限和属主属性等进行校验。 #rpm –V webmin (6)数据库维护:#rpm --initdb/--rebuilddb —initdb选项,建立一个新的RPM数据库; —rebuilddb选项,重建所有已经安装软件包的数据库。 ?4、SRPM包的使用 #rpm –ivh gcc* (确认已安装C或者C++编译器) #rpm –ivh make* (确认已安装make工具) #rpm –ivh autoconf* (确认已安装autoconf配置工具) (1)将SRPM软件包导入系统 #rpm –ivh webmin-1.260-1.src.rpm (导入源代码包) #cd /usr/src/redhat/SOURCES (2)将压缩文件解压缩 #tar –zxvf webmin-1.260-1.tar.gz # cd webmin-1.260-1 (3)编译源代码并安装 #./configure (执行configure文件,产生makefile文件) #make (执行make命令,编译源代码) #make install (安装编译生成的可执行文件) #make clean (删除安装时产生的临时文件) ?进程的状态:就绪、执行、等待、疆死 ?2、进程的类型: 交互进程:由shell启动的进程,既可以在前台运行,也可以在后台运行。 批处理进程:这种进程和终端没有联系,是一个进程序列。 守护进程(监控进程):Linux系统启动时启动的进程,并在后台运行。 3、作业一个正在执行的进程称为一个作业,而作业可以包含一个或多个进程,尤其是在使用了管道和复位向命令时。 4、#ps –ef 、# ps –l、#ps –aux、#jobs 、#ps 、#ps –e含义 5、init进程的PID=1 ?停止系统中的进程 #kill 停止系统中不用或者死掉的进程的运行 #kill 停止指定进程号的进程,使用前应该用ps 命令显示需要停止的进程 命令向指定的进程发送终止运行的信号,进程将自动结束并处理好结束前的相关事务,属于安全结束?#kill -9 强制停止系统中的进程运行。 该命令对于结束已经“死掉”而没有能力自动结束的进程特别有效,属于非正常结束,应慎重使用。?#killall 使用进程名称停止相应的进程 #killall <进程名称> 停止指定进程名称的进程,及相同名称的多个进程 #killall -9 <进程名称> 强制停止指定名称的所有进程。 ?At命令设置定时任务 #at 2 pm + 4 days -f /root/backup.sh #at 8 am + 2 weeks -f /root/backup.sh #at 18:30 tomorrow -f /root/backup.sh #at 00:00 12/1/2008 -f /root/backup.sh #at now + 5 hours -f /root/backup.sh #at now +5 minutes -f /root/backup.sh #at –l //查看当前的at任务列表 #at –d 4 //删除at 任务,4是任务号 #at –v //显示任务预设的运行时间 #at –c //显示at任务定义的所有任务 ?Crontab设置定时任务 #service crond status //检查crond服务状态 # service crond start //启动crond服务 # service crond stop //启动crond服务 Crontab可以根据分钟、小时、日期、月份、星期(数字均要有效)的组合来调度任务的自动执行。用户只要要Crontab中设置好任务启动时间,到了相应的时间后系统就会自动启动该任务。例: #每天晚上8点30分执行/root/backup_db.sh脚本 30 20 * * * /root/backup_db.sh #每周的星期天晚上10点整执行/root/backup_appl.sh脚本 00 22 * * 0 /root/backup_appl.sh #每天早上7点整执行/root/check.sh脚本 00 07 * * * /root/check.sh ?说出下列命令的含义及执行结果 #vi /root/atscripttask.sh atscripttask.sh脚本文件内容如下: ls –al /etc/*.conf > conffiles.txt More conffiles.txt #chmod u+x /root/atscripttask.sh #at now+5 minutes –f /root/atscripttask.sh ?说出下列命令的含义及执行结果 #service crond start #vi crontabfile crontabfile文件内容如下: 30 20 * * * /root/backup_db.sh 00 22 * * 0 /root/backup_appl.sh 00 07 * * * /root/check.sh #chmod u+x crontabfile # crontab crontabfile ?SHELL编程 1、ls –l /tmp >dir 将ls命令生成的/tmp目录的一个清单存到当前目录中的dir文件中,而不在屏幕输出。 ls –l /etc >>dir 将ls命令生成的/etc目录的一个清单以追加的方式存到当前目录中的dir文件中,而不在屏幕输出。?I/O复位向 复位向:不使用系统的标准输入、输出、错误端口,而进行重新指定。 stdin :标准输入设备端口,默认为键盘 stdout :标准输出设备端口,默认为显示屏幕 stderr :标准错误设备端口,默认为显示屏幕 输入复位向:< 、<< 实现输入复位向,通常大多数命令及参数都是通过键盘输入,当命令或者参数输入是通过已经存在的文件里提供时,就可以用输入复位向解决问题。在shell编程时经常会用到。 输出复位向:> 、>>(考) 实现输出复位向,比输入复位向更常用。当输出的很多,在屏幕上不能完全显示,即可通过输出复位向到一个文件中进行查看。 错误输出复位向2> 、&> 实现错误输出复位向,shell编程进行调试时,调试信息经常需要存到文件中,以便分析和处理。 ?Shell脚本的执行 1、将文件名作为shell命令的参数, 调用:$ bash script-file 优点:没有执行权限的shell脚本也可运行,可以利用shell的调试功能。 2、将脚本文件script-file的访问权限改为可执行,然后执行 改权限:$ chmod u+x script-file(文本编辑器编辑后的脚本是没有执行权限的) 调用执行:$ <路径>script-file 3、将脚本文件script-file所在目录添加PATH路径中 在任何目录下均可直接执行$ script-file 注意:当前目录下的命令或者脚本执行时要加./,表示在当前shell中执行脚本文件中的命令。如:$ ./script-file 若脚本不是在当前目录下,则要指定脚本文件的路径。如:$ /usr/local/src/script-file (其中script-file 在/usr/local/src/目录下) 通常是结合上述三种,调试shell脚本时用第一种;调试好的脚本使用第二种方法;脚本商用时,一般用第三种方法。 ?环境变量 概念:shell执行已经定义的变量,与系统工作环境有关,通常用大写(是全局变量global) ,Shell用环境变量来确定查找路径、注册目录终端类型及名称、用户名等(P234) $HOME 当前用户主目录 $USER 当前用户 $UID 当前用户的标识号 $PWD 当前工作的绝对路径 $PATH bash寻找可执行文件的搜索路径 $PS1 第一级提示符(默认“#”“$”,如:“[\u@\h\W]\$”) $PS2 第二级提示符(默认“>”) 注意:用户可以重新定义。 定义:export varName = value 环境变量示例: export PATH=$PATH:/usr/bin 在当前的路径中加上/usr/bin路径 export SERVER=https://www.360docs.net/doc/ea11242147.html, export :显示当前设置的环境变量 export –n varName :删除设置的环境变量 ?预定义变量、内部变量 概念:shell执行时已经定义的变量,与环境变量不同(是局部变量local)。 $0 :shell脚本的程序名 $1,$2,$3,…..脚本程序的位置参数 $* :全体位置参数的内容 $# :传递到脚本程序的位置参数个数 $$ :当前进程的进程ID $! :后台进程的最后一个进程号 $?:命令执行后的返回状态 注意:用户不能重新定义。 ?hello.sh脚本程序带参数与不带参数执行 ? ? ?进程管理和作业控制 进程的种类 交互进程:由shell启动的进程,既可以在前台运行,也可以在后台运行。 批处理进程:这种进程和终端没有联系,是一个进程序列。 守护进程(监控进程):Linux系统启动时启动的进程,并在后台运行。 ?2作业 一个正在执行的进程称为一个作业,而作业可以包含一个或多个进程,尤其是在使用了管道和复位向命令时。 识别linux的用户身份 Linux中不同的用户,其操作权限不同,日常使用时使用普通用户,只有进行系统管理时,才使用root 用户。 Linux中查询用户身份的命令有: # w [username] 显示当前已登录的所有用户,或显示某用户的登录信息 # who 显示当前已登录的所有用户 # whoami 显示当前用户的用户名 #id [username] 显示指定用户的UID、GID ?执行命令程序 命令程序的执行属性 Windows使用文件扩展名来标识可执行文件。 Linux通过对文件设置相应的可执行属性,确定该文件可执行。 ?可执行程序的种类 二进制可执行程序(类似于.com和.exe文件) 可执行脚本文件(类似于.bat) #file /etc/rc.d/init.d/xinetd (bash的脚本文件) /etc/rc.d/init.d/xinetd:Bourne-Again shell script text executable #ll /etc/rc.d/init.d/xinetd (具有“X”可执行属性) -rwxr-xr-x 1 root root 2407 8 月16 2002 /etc/rc.d/init.d/xinetd #head /etc/rc.d/init.d/xinetd 可使用各种文本文件编辑器对脚本程序进行浏览和修改 ?执行命令程序(续) ?系统命令程序所在的目录 ?/bin (系统中普通用户所必需的命令程序) ?/sbin (系统管理员所必需的命令程序,用于维护管理系统) ?/usr/bin (系统中普通用户可使用的应用程序命令) ?/usr/sbin(系统管理员可以使用的管理工具程序) ?命令程序的路径 ?执行命令程序时需指出其所在的目录,即命令路经。 ?PATH环境变量 ?#echo $PATH ?/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin ?命令在PATH的值里,执行命令程序时,就可省去绝对路径 ?#export PATH=$PATH:<应用程序路径> ?将应用程序路经加入到PATH环境变量中 ?执行一般应用程序 ?<绝对路径名>/<应用程序> ?./<应用程序> (当前目录下执行程序) ?<应用程序> (PATH环境变量里有应用程序路径) ?程序的前台与后台运行 ?后台运行程序(在要执行的命令后面加入“&”符号) ?如#startx & (在后台运行X-Windows,可不占用当前控制台) ?把程序挂起到后台(CTRL+Z) ?把当前控制面板运行的程序挂起到后台,回到前台shell,后台挂起的进程不进行任何操作。?查看当前控制台中的命令进程 ?#jobs ?查看当前控制台中的命令进程:jobs ?#jobs ?恢复后台进程到前台:fg <后台进程序号> ?#jobs ?[1]- stopped vi ?[2]- stopped man ls ?//使用fg命令恢复后台进程之前,需要先使用jobs命令查看后台中的所有进程。 ?#fg 2 ?将man ls 命令恢复到前台运行 ?恢复后台挂起的进程: bg <后台进程序号> ?#jobs ?#bg 2 ?相当于命令运行时在后台加了“&”符号 ?查看系统中的进程状态 ?ps 显示系统中运行的进程的详细信息 ?#ps (显示当前控制台的进程) ?#ps -e (显示系统中的所有进程) ?#ps –ef |head (详细显示系统的所有进程的前10个) ?#top 显示CPU、进程状态、内存利用率 ?#top (运行后会持续不断更新显示内容,实时监控) ?#free 显示系统内存使用情况 ?管理系统中的进程 ?#kill 停止系统中不用或者死掉的进程的运行 ?#kill ?停止指定进程号的进程,使用前应该用ps 命令显示需要停止的进程 ?命令向指定的进程发送终止运行的信号,进程将自动结束并处理好结束前的相关事务,属于安全结束 ?#kill -9 ?强制停止系统中的进程运行。 ?该命令对于结束已经“死掉”而没有能力自动结束的进程特别有效,属于非正常结束,应慎重使用。?#killall 使用进程名称停止相应的进程 ?#killall <进程名称> ?停止指定进程名称的进程,及相同名称的多个进程 ?#killall -9 <进程名称> ?强制停止指定名称的所有进程。 ? ?、网络服务的检测、启动、停止、重启 ?#service httpd status/start/stop/ restart ?#service named status/start/stop/ restart ?#service webmin status/start/stop/ restart ?2、网络配置的查询、链路检测、路由跟踪 ?#ifconfig ?#netstat ?#traceroute https://www.360docs.net/doc/ea11242147.html, ?#ping https://www.360docs.net/doc/ea11242147.html,–c 6 ? ?网络服务软件包的安装 ?(1)#rpm –ivh webmin-1.740-1.noarch.rpm ?(2)#tar –zxvf httpd-2.2.29.tar.gz ?#cd httpd-2.2.29 ?#./buildconfig ?#./configure ?#make ?#make install ?网络服务的配置文件 ?DNS配置文件: ?#/etc/named.conf(主配置)文件 ?#/etc/hosts(本地解析文件) ?#/var/named/named.ca(根域缓存文件) ?#/var/named/named.forward(正向解析区域文件,可自由起名。)?#/var/named/named.rev (反向解析区域文件,可自由起名。) ?(2)WEB配置文件: ?#/etc/httpd.conf ? 凌阳教育 嵌入式培训系统编程部分测试试题 注:考试为闭卷,程序题需上机操作运行出结果,考试时间为120分钟 一:选择题(本题共4小题,每题3分共12分) 1)下列不是Linux系统进程类型的是( D ) A 交互进程 B 批处理进程 C 守护进程 D 就绪进程(进程状态) 2)以下对信号的理解不正确的是( B ) A 信号是一种异步通信方式 B 信号只用在用户空间进程通信,不能和内核空间交互 C 信号是可以被屏蔽的 D 信号是通过软中断实现的 3)进程有三种状态( C ) A 准备态、执行态和退出态 B 精确态、模糊态和随机态 C 运行态、就绪态和等待态 D 手工态、自动态和自由态 4)不是进程和程序的区别( B) A 程序是一组有序的静态指令,进程是一次程序的执行过程 B 程序只能在前台运行,而进程可以在前台或后台运行 C 程序可以长期保存,进程是暂时的 D 程序没有状态,而进程是有状态的 二:填空题(本题共6小题,2)、3)两题每空四分,其余每空一分。共23分) 1) 列举八种常见的进程间通信方式无名管道、有名管道、消息队列、信号量、共享内存、信号、套接字 网络上两个主机的进程间通信方式为套接字 2) 命名管道比无名管道的优势提供了一个可以访问的路径名,实现没亲缘关系的进程 间通信 3) 消息队列比命名管道和无名管道的优势可以按类型实现消息的随机查询,没必要先 进先出 4) 按照逻辑结构不同进行数据库划分,Sqlite 数据库属于哪一类关系型数据库 5) 在C语言中操作sqlite数据库,常用的2中方式是sqlite_exec(回调)、 sqlite_gettable(非回调) 6) 列举四种进程调度算法先来先调度(FCFS)、短进程优先调度(SPF)、高优先级调度 (HPF)、时间片轮转调度 三:问答题(本题共7题,每题5分,共35分) 1) 什么是系统调用?系统调用是通过什么方式陷入内核态的?请写出你对系统调用的理解。什么是文件I/O和标准I/O库?文件I/O和标准I/O库的区别? 系统调用是指操作系统提供给用户程序调用的一组特殊接口,用户程序可以通过这组接口获得操作系统内核提供的服务。 系统调用是通过软件中断方式陷入内核的 linux的文件I/O是由操作系统提供的基本IO服务, 标准I/O库通过封装系统调用,提供了一个到底层I/O的接口。 标准I/O默认采用了缓冲机制,还创建了一个包含文件和缓冲区相关数据的数据结构;文件I/O一般没有采用缓冲模式,需要自己创建缓冲区。一种是标准库封装系统调用而成,更高级,一种是系统提供的,比较低级;标准I/O可移植性高、文件I/O可移植性低。 2) 什么是进程?用fork()创建一个子进程时,系统会做什么工作 进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配的单位,不仅是系统内部独立运行的实体也是独立竞争资源的实体。 用fork()时系统会分配子进程一个ID号然后继承父进程的地址空间,包括进程上下文进程堆栈打开的文件描述符等等,他就是父进程的一个复制品。 3) 进程和线程有什么区别? 每个独立的进程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在进程程中,由进程提供多个线程执行的控制。 进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源. 一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行。 4) 什么是线程的互斥和同步,程序应怎样写才能达到互斥或同步? 互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。 同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问资源。 在写程序时可以用互斥锁和信号量实现线程同步,一个线程访问共享资源时给这个资源上锁其他线程就不能访问了直到上锁的进程释放互斥锁为止。 5) 什么是僵尸进程?孤儿进程?守护进程? 僵尸进程:僵尸进程是指它的父进程已经退出(父进程没有等待(调用wait/waitpid)它),而该进程dead之后没有进程接受,就成为僵尸进程,也就是(zombie)进程。 孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成 一、题型: 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文件 一、填空题 1.建立用户账号的命令是__useradd________。 2.修改账号密码的命令是__passwd________。 3.更改用户密码过期信息的命令是__chage________。 4.创建一个新组的命令是___groupadd_______。 5.用于在不注销的情况下切换到系统中的另一个用户的命令是___su_______。 6.显示系统中进程信息的命令是_____ps__-aux_____。 7.以树状方式表现进程的父子关系的命令是___pstree_________。 8.显示当前系统正在执行的进程的相关信息的命令是___top_________。 9.显示或者设置当前系统的主机名的命令是___hostname_________。 10.Linux系统中使用最多的文件系统是_______ext3/4____________。 11.列出磁盘分区信息的命令是___df_______。 12.将设备挂载到挂载点处的命令是__mount________。 13.检查文件系统的磁盘空间占用情况的命令是____du______。 14.统计目录(或文件)所占磁盘空间大小的命令是__du________。 15.为文件建立在其他路径中的访问方法(链接)的命令是__ln_______,链接有两种:___ 软链接______和___硬链接 ______。 16.改变文件或目录的读写和执行权限的命令是__chmod________。 17.指定在创建文件或目录时预设权限掩码的命令是___umask_______。 18.改变文件或目录所有权的命令是__chown________。 19.ACL可以为某个文件单独设置该文件具体的某用户或组的权限。需要掌握的命令也只有 三个:__getfacl__、__setfacl__、__chacl__。 20.gzip命令的功能是____压缩文件________。 21.使用tar命令时,应该记住的两个选项组合是:__-cvf__和_-xvf________,他们的功 能分别是:___打包目录(文件)成一个文档___和__释放打包的文档_______。 22.Shell有四种变量:__用户自定义变量__、_环境变量_、__内部变量__和__位置变量__。 23.在定义变量时,变量名前不应加符号____$______,在引用变量的内容时则应在变量名 前加该符号。 24._route___命令用来查看或编辑路由表。 25.__ping_命令可以用于检查网络的连接情况,有助于分析判定网络故障。 26.__tracert______命令可用于显示从本机到目标机的数据包所经过路由。 27.DHCP的全称是___动态主机配置协议_____。 28.Linux上的WWW服务器是__Apache_______。 29.fdisk命令中可以创建的分区类型有:_主分区__、扩展分区和__逻辑分区___。 30.将前一个命令的标准输出作为后一个命令的标准输入,称之为__管道______。 31.Linux系统中测试DNS服务器是否能够正确解析域名的的命令是__nslookup______。 32.添加一个用户并设置密码:先用_______添加用户,再用_______命令设置该用户的密码。 33.在Linux系统下,第一个SCSI通道的硬盘会被标识为__sda___第二个IDE通道的硬盘 被标识为___hdb_____。 34.结束后台进程的命令是 kill 35.把文件file1和file2合并成file3的命令是___cat file1 file2 > 36.________top________ 命令能够实时地显示进程状态信息。 Linux模拟试题 1.以下的TCP/IP描述哪个是错误的? (选择所有正确答案) A. IPv4 使用32 位的IP 地址 B. 只由TCP 层和IP 层组成 C. 使用IP 地址通信 D. 在传输前将信息加密 答案:BD(TCP/IP概念) 2.下列哪一个关于卸载(umount)的说法是不正确的? (选择所有正确的) A. 你能在卸载前移出软盘. B. 你能在卸载前移出光盘. C. 缺省条件下普通用户能使用这个命令. D. 缺省条件下Root 用户能利用这个命令卸载任何路径下的文件系统. 答案:ABCD(文件系统) 3.下列哪一个目录下存储的脚本用来在重起系统时被init进程执行? (选择最恰当的一个) A. /etc/rc.d/rc0.d B. /etc/rc.d/rc1.d C. /etc/rc.d/rc3.d D. /etc/rc.d/rc6.d 答案:D(系统启动) 4.以下关于DNS 服务器的描述哪一个是正确的? (选择最合适的答案) A. 主DNS 服务器不缓冲记录 B. 次DNS 服务器定义在"/etc/resolv.conf" C. Cache-only DNS 服务器只缓冲非授权记录 D. 转发DNS server 需要专门的配置 答案:BCD (dns) 5.下面哪一个是/usr文件系统的标准说法? (选择最恰当的一个) A. 是用来安装附加的应用的 B. 是用来存储可执行程序,系统管理工具和库文件 C. 是用来设立用户的根(home)目录 D. 是用来存储系统管理的配置文件 答案:B(文件系统) 6.当加载CDROM时缺省的文件系统类型是那一个? (选择最恰当的一个) A. vfat B. ufs C. ext2 D. iso9660 答案:D(文件系统) 7.以下哪个命令能用来显示server当前正在监听的端口? (选择最合适的答案) A.ifconfig https://www.360docs.net/doc/ea11242147.html,lst C.ipchains https://www.360docs.net/doc/ea11242147.html,stat 答案:D(网络基本命令) 1、Linux可以运行在两种模式 用户模式和内核模式 2、VFS及其的四个数据结构 虚拟文件系统是Linux内核中的一个软件层,用于给用户空间的程序提供文件系统接口;它也提供了内核中的一个抽象功能,允许不同的文件系统共存。 系统中所有的文件系统不但依赖VFS共存,而且也依靠VFS协同工作。 四个数据结构:超级块对象、索引结点对象、文件对象以及目录项对象 3、进程号、用户号? Linux系统上所有运行的东西都可以称为一个进程。 进程的基本状态三种:运行态、就绪态和阻塞态(或等待态)。 进程大致上来讲可分为两大类:系统进程与用户进程。 4、Linux进程有五种状态 linux上进程有5种状态: 1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生) 4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释 放) 5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行) 5、函数库 人们把大量的基础性操作编写成一个个独立的函数,这些函数具有低耦合、高内聚的特点,这些函数集合成一个已经编译好的不完整的二进制代码文件,就是函数库 写出函数原型或函数功能(字符串、开方) 测试参数所对应的字符是否为拉丁字母 #include Linux 期末考试试题(七) 一、填空题(20%) 1.默认情况下,超级用户和普通用户的登录提示符分别是:“#”和“$”。 2.Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统。 3.Linux系统下经常使用的两种桌面环境是:GNOME和KDE。 4.链接分为:硬链接和符号链接。 5.Linux系统中有三种基本的文件类型:普通文件、目录文件和设备文件。 6.某文件的权限为:drw-r--r--,用数值形式表示该权限,则该八进制数为: 644 ,该文件属性是目录。 7.在超级用户下显示Linux系统中正在运行的全部进程,应使用的命令及参数是 ps -aux 。 8.将前一个命令的标准输出作为后一个命令的标准输入,称之为管道。 9./sbin 目录用来存放系统管理员使用的管理程序。 10.观察当前系统的运行级别可用命令:who -r实现。 11.grep -E '[Hh]enr(y|ietta)' file的功能是:(在文件File中查找Henry、 henry、Henrietta或 henrietta) 12.设C语言程序my.c A. 生成目标文件my.o的命令是(gcc -c my.c)。 B. 生成汇编语言文件my.s的命令是(gcc -S my.c)。 C. 生成可执行程序myp的命令是(gcc -o myp my.c)。 13.设有两个C语言程序模块c1.c和c2.c(不含main函数) A. 由c1.c和c2.c生成静态库libmyar.a的命令是(gcc -o libmyar.a -c c1.c c2.c)。 B. 由c1.c和c2.c生成共享库libmyar.so的命令是(gcc -shared -o libmyvar.so -c f1.c f2.c)。 14.在某Makefile内有以下语句: SRC = f1.c f2.c f3.c TGT = $(SRC:.c=.d) SRC += f4.c 则TGT=________ f1.o f2.o f3.o ____________ SRC=_______ f1.c f2.c f3.c f4.c _________ 二、选择题(40%) 1.关于Linux内核版本的说法,以下错误的是()。 A.表示为主版本号.次版本号.修正号B.1.2.3表示稳定的发行版 C.1.3.3表示稳定的发行版 2.自由软件的含义是()。 A.用户不需要付费B.软件可以自由修改和发布 C.只有软件作者才能向用户收费D.软件发行商不能向用户收费 3.系统引导的过程一般包括如下几步:a.MBR中的引导装载程序启动;b.用户 登录;c.Linux内核运行;d.BIOS自检。正确的顺序是()。 A.d,b,c,a B.d,a,c,b C.b,d,c,a D.a,d,c,b 4.字符界面下使用shutdown命令重启计算机时所用的参数是()。 A.-h B.-t C.-k D.-r 5.下列设备属于块设备的是()。 一、单项选择题 1-5:CBADA 6-10:CBBDD 11-15:BACAD 16-20:ABBDC 21-25:CACCD 26-30:CBCDC 1.Linux文件权限一共10位长度,分成四段,第三段表示的内容是()。 A、文件类型 B、文件所有者的权限 C、文件所有者所在组的权限 D、其他用户的权限 2.终止一个前台进程可能用到的命令或操作()。 A、kill B、 一、选择 1、下列()不属于Linux常用的shell: A、bash B、sh C、ash D、bach 2、在添加用户的时候可以使用()参数来指定用户的默认shell: A、-d B、-s C、-c D、-g 3、更改用户密码使用()命令: A、useradd B、passwd C、groupadd D、finger 4、使用rpm安装一个软件的正确命令是(): A、rpm -e B、rpm -i C、rpm -v D、rpm -U 5、观察系统当前进程的运行情况的命令是(): A、free B、dmesg C、top D、last 6、下列()环境变量表示当前目录: A、PATH B、HOME C、PWD D、SHELL 7、删除用户的时候可以使用()参数,把用户的主目录也一起删除: A、-d B、-r C、-c D、-g 8、添加用户组使用()命令: A、groupadd B、newgrp C、useradd D、userdel 9、卸载一个rpm包的命令是(): A、rpm -e B、rpm -i C、rpm -U D、rpm -v 10、下面哪个命令可以显示文本文件的内容( ): A、more B、ln C、man D、type 11、下面哪个目录存放用户密码信息() : A、/boot B、/etc C、/var D、/dev 12、下面哪个命令可以分页显示大文本文件( ): A、cp B、cat C、more D、type 13、默认情况下管理员创建一个用户,就会在()目录下创建一个用户主目录: A、/usr B、/home C、/root D、/etc 14、为了将当前目录下的归档文件myftp.tgz解压缩到/tmp目录下,我们可以使用: A. tar xvzf myftp.tgz -C /tmp B. tar xvzf myftp.tgz -R /tmp C. tar vzf myftp.tgz -X /tmp D. tar xvzf myftp.tgz /tmp 15、为了保证系统的安全,现在的linux系统一般将/etc/passwd密码文件加密后,保存为____ 文件。 A. /etc/group B. /etc/netgroup C. /etc/libsafe.notify D. /etc/shadow 16、一般说来,RedHat Linux内核的源程序可以在_______目录下找到。 A. /usr/local B. /usr/src C. /lib D. /usr/share 17、若一台计算机的内存为128MB,则交换分区的大小通常是()。 A 64M B B 128MB C 256MB D 512MB 18、关于进程调度命令,是不正确的。 A 当日晚11点执行clear命令,使用at命令:at 23:00 today clear B 每年1月1日早上6点执行date命令,使用at命令:at 6am Jan 1 date C 每日晚11点执行date命令,crontab文件中应为:0 23 * * * date D 每小时执行一次clear命令,crontab文件中应为:0 */1 * * * clear 试题及答案 一、试完成下列小题: (1)在根目录下创建目录aa cd /->mkdir aa (2)在根目录下创建一个文件cc,然后把cc拷贝到aa下 touch cc->cp cc aa (3)更改目录aa的权限为777,然后查看是否更改成功 chmod 777 aa->ls -l (4)创建用户bob,更改目录aa的拥有着和组群都为bob,然后查看是否更改成功useradd bob->chown bob aa->chgrp bob aa->ls -l (5)删除该目录以及该目录下的所有文件并不作提示 rm -rf aa 二、试完成下列小题: 1)、用命令把当前工作目录切换到”/root“,并用命令查看是否切换成功。 cd或cd /root->pwd 2)、用命令新建文件”testfile“,然后为其创建软链接和硬链接文件,查看其ionde编号、文件类型、文件权限、连接计数、大小等属性。 touch testfile->ln testfile test->ln –s testfile file-> ls –l 3)、创建文件file1,并将file1改为file2,然后将文件file1和文件file2移动到目录/tmp下,并查看是否移动成功 touch file1->cp file1 file2->mv file1 file2 /tmp->ls /tmp 三、试完成下列小题: 1、查找系统命令pwd指令文件的位置 w hich pwd 2、查找whereis文件,且只将二进制文件查找出来 whereis -b whereis 3、查找和pwd相关的所有文件 locate pwd 4、搜索etc目录下所有以sh开头的文件 locate /etc/sh 5、建立目录/tmp/a/b/c,若不存在目录/tmp/a及/tmp/a/b,则自动建立 mkdir -p /tmp/a/b/c 四.用vim编辑器在/tmp下新建一个文件名aa插入如下内容: abcdefg 1234567 ABCDEFG zyxwvuts 1.Linux系统是一个( D )的操作系统 A.单用户、单任务 B.单用户、多任务 C.多用户、单任务 D.多用户、多任务2.Red redflag Linux系统中用户默认的Shell是( A ) A.bash B.ksh C.csh D.sh 3.Linux的文件名的长度限制在( D )字符以内 A.11 B.128 C.256 D.255 4.如果忘记了ls命令的用法,可以采用( C )命令获得帮助 A.?ls B.help ls C.man ls D.get ls 5.要给文件file1加上其他人可执行属性的命令是( C ) A.chmod a+x B.chown a+x C.chmod o+x D.chown o+x 6.添加用户“user”的命令是( B ) https://www.360docs.net/doc/ea11242147.html,er user https://www.360docs.net/doc/ea11242147.html,eradd user C.add user D.adduser ?7.删除用户“user”及其主目录下所有文件的命令是( B ) https://www.360docs.net/doc/ea11242147.html,erdel –p user https://www.360docs.net/doc/ea11242147.html,erdel –r user https://www.360docs.net/doc/ea11242147.html,erdel –a user https://www.360docs.net/doc/ea11242147.html,erdel –z user ?8.查看系统当中所有进程的命令是( D ) A.ps all B.ps aix C.ps auf D.ps aux 9.配置主机网卡IP地址的配置文件是( A ) A./etc/sysconfig/network-scripts/ifcfg-eth0 B./etc/sysconfig/network C./etc/resolv.conf D./etc/host.conf 10.指定系统主机名的配置文件是( B ) A./etc/hosts B./etc/host.conf C./etc/sysocnfig/network D./etc/resolv.conf ?11.记录13台根域服务器IP地址的文件是( C ) A./etc/named.ca B./var/named/named.ca C./var/named/named.local D./etc/named.local ?12.dhcp的租约文件默认保存在( D )目录下 A./etc/dhcpd/ B./var/log/dhcpd/ C./var/lib/dhcp/ D./var/lib/dhcpd/ 13.在默认的安装中,Apache把自己的配置文件放在了( B )目录中 A./etc/httpd/ B./etc/httpd/conf/ C./etc/ D./etc/apache/ 14.如果要修改默认的www服务的端口号为8080,则需要修改配置文件中的( D )一行 A.pidfile 80 B.timeout 80 C.keepalive 80 D.listen 80 15.普通用户能否读取位于自己主目录中、权限是“400”的、属于root用户的文件的内容( B) A.能 B.不能 16.以下命令可以重新启动计算机的是( A ) A.reboot B.halt C.shutdown D.init 6 ?17.DNS服务所采用的TCP/IP协议的端口号是() A.TCP 53 B.UDP 53 C.TCP 54 D.UDP 54 18.Linux系统能够直接读取的分区类型是( D ) A.NTFS B.FAT16 C.FAT32 D.ext3 linux模拟试题3 1 转发邮件的时候,控制信息存放在以下哪些文件里? (选择最合适的答案) A. /etc/mail/mailalias 和~/.bash_profile B. /etc/aliases 和~/.bashrc C. /etc/aliases 和~/.forward D. /etc/mail/aliases 和~/.forward 2 以下各项哪些是Samba的组成部分? (选择所有正确答案) A. smb.cfg B. smb.conf C. samba.cfg D. smbpasswd 3 哪个命令可以允许198.168.0.0/2 4 访问Samba 服务器? (选择最合适的答案) A. hosts enable = 198.168.0.0/24 B. hosts allow = 198.168.0.0/255.255.255.0 C. hosts accept = 198.168.0.0/24 D. hosts accept = 198.168.0.255 4 /etc/proftpd/ftpusers的标准用途是什么? (选择最合适的答案) A. 允许ftp访问 B. 拒绝ftp访问 C. 拒绝匿名ftp访问 D. 允许匿名ftp访问 5 以下的TCP/IP描述哪个是错误的? (选择所有正确答案) A. IPv4 使用32 位的IP 地址 B. 只由TCP 层和IP 层组成 C. 使用IP 地址通信 D. 在传输前将信息加密 6 以下哪一个关于子网掩码的描述是正确的? (选择最合适的答案) A. 它规定哪种包应该被机器拒绝 B. 它规定哪种包可以通过网关 C. 它是一个协议层 D. 它用来把主机地址与网络地址分开 7 以下哪一个是Apache的基本配置文件? (选择最合适的答案) A. httpd.conf B. srn.conf 电信2012级《Linux操作系统》期末复习提纲第1章概述 操作系统的概念与功能 操作系統的概念: 1.操作系统是计算机系统的一种基本软件,它直接管理和控制计算机的硬件和软件资源,合理地调度资源,使之得到充分的利用;并为用户使用这些资源提供一个便当的操作环境和优良的用户界面。 2.从资源角度看,操作系统是管理和控制计算机资源的软件。 3.从用户角度看,操作系统是用户与计算机的接口。 操作系統的功能: 1.处理器管理:在多道程序间分配和调度CPU,协调各程序的运行。 2.存储器管理:对内存储器进行分配、保护和扩充。 3.设备管理:对设备进行有用地管理和分配,并控制设备完成I/O操作。 4.文件管理:管理文件的存储和检索操作,并对文件实施共享、保密和保护措施。 5.用户接口:提供使用界面,便当用户使用系统功能。 Linux系统的特点 1.继承UNIX优秀品质,具有出色的性能和稳定性; 2.遵照GPL许可,自由软件; 3.符合POSIX标准,兼容性好; 4.适用于各种硬件平台,可移植性好; 5.网络功能强大; 6.安全性好。第2章Linux操作基础 命令的格式; 命令名[选项1] [选项2] ... [参数1] [参数2] ... 简单命令的功能与用法:echo、who、date、cal 文件系统概念: 文件命名与通配符 1.文件的命名:Linux文件名的最大长度是255个字符,通常由字母、数字、‘.’、‘_’和‘-’组成。以‘.’开头的文件是隐含文件。 2.文件名中不能含有‘/ ’字符和空字符‘\0’,因为它们对Linux内核具有分外含义。如‘/ ’表示根目录或路径分隔符。 3.文件名中不应含有以下字符,因为它们对Shell具有分外含义:; | < > ` “ “$ ! % & * ? \ ( ) [ ] 文件类型及表示法 1.普通文件(-):包括文本文件、数据文件、可执行的二进制程序等。 2.目录文件(d):一种分外的文件,用于构成文件系统的分层树型结构。 每个目录文件中至少包括两个文件,“..”表示上一级目录,“.”表示该目录本身。 3.设备文件:一种分外文件,Linux系统利用它们来标识各个设备驱动器,核心使用它们与硬件设备通信。有两类特别的设备文件:字符设备(c)和块设备(b)。 文件(包括目录)权限的含义及表示法(字符和数字表示法) 模拟试题 1、命令是在vi编辑器中执行存盘退出。 A :q B ZZ C :q! D :WQ 2、dns域名系统主要负责主机名和之间的解析。 A ip地址 B mac地址 C 网络地址 D 主机别名 3、关闭linux系统(不重新启动)可使用命令。 A ctrl+alt+del B halt C shutdown -r now D reboot 4、系统中有用户user1和user2,同属于users组。在user1用户目录下有一文件file1,它拥有644的权限,如果user2用户想修改user1用户目录下的file1文件,应拥有权限。 A 744 B 664 C 646 D 746 5、linux文件系统的文件都按其作用分门别类地放在相关的目录中,对于外部设备文件,一般应将其放在目录中。 A /bin B /etc C /dev D /lib 6、关于文件系统的安装和卸载,下面描述正确的是。 A 如果光盘未经卸载,光驱是打不开的 B 安装文件系统的安装点只能是/mnt下 C 不管光驱中是否有光盘,系统都可以安装CD-ROM设备 D mount /dev/fd0 /floppy 此命令中目录/floppy是自动生成的 7、不是进程和程序的区别。 A 程序是一组有序的静态指令,进程是一次程序的执行过程 B 程序只能在前台运行,而进程可以在前台或后台运行 C 程序可以长期保存,进程是暂时的 D 程序没有状态,而进程是有状态的 8、用命令ls -al显示出文件ff的描述如下所示,由此可知文件ff的类型为。 -rwxr-xr-- 1 root root 599 cec 10 17:12 ff A 普通文件 B 硬链接 C 目录 D 符号链接 9、不是shell具有的功能和特点的是。 A 管道 B 输入输出重定向 C 执行后台进程 D 处理程序命令 10、文件标志b表示______ A 字符设备文件 B 目录文件 C 块设备文件 D 套接字 11、下面哪个文件定义了网络服务的端口? A /etc/netport B /etc/services C /etc/server D /etc/netconf 12、crontab文件由六个域组成,每个域之间用空格分割,其排列如下。 A min hour day month year command B min hour day month dayofweek command C command hour day month dayofweek D command year month day hour min 13、使用mkdir命令创建一个临时文件夹/mnt/tmp,并将一些文件复制其中。使用完后要删除/mnt/tmp文件夹及其中的所有文件,应该使用命令。 A rmdir /mnt/tmp B rmdir –r /mnt/tmp C rm /mnt/tmp D rm –r /mnt/tmp 14、某企业要安装Linux系统作为Web服务器,应该选用最新的内核稳定的版本,下面Linux内核能满足该企业的需求。 A 2.2.11 B 2.4.24 C 2.5.2 D 2.1.132 15、使用vi编辑器进行c语言程序的编写,为了更清楚地阅读程序代码,需要在vi中显示文件中每一行的行号,为此需要执行命令进行设置。 A :set autoindent B :set ignorecase C :set number D :set ruler 16、有关GPL的描述错误的是。 A GPL 和软件是否免费无关 B GPL 主要是保证软件对所有用户来说是自由的 C GPL 中文意思是通用公共许可证 D GPL 是Linus Torvalds 在开发Linux时提出的 一、课后题 1、 (1)Linux是在_GPL_版权协议下发行的遵循_POSIX_标准的操作系统内核。 (2)Linux内核的作者是__Linus Torvalds____ (3)简述Linux内核和Linux发行版的区别 发行版是一个装了就可以用的系统,内核版就是发行版所使用的内核的版本,单纯的内核并不是完整的操作系统 (4)列出三种Linux发行版本 centOS,red hat,ubuntu (5)列出三种流行的编程语言 C,c++,java (6)列出三种流行的操作系统 Windows,linux,unix (7)列出三种流行的数据库 Sql,oracle,mysql. (8)列出三种流行的WEB服务器程序 IIS,apache,tomcat (9)int a[ ]= {1,6,3};去掉一个最高分,去掉一个最低分,该选手的最终平均得分是? #include 一、填空题(20%) 1.默认情况下,超级用户和普通用户的登录提示符分别是:“#”和“$”。 2.Linux内核引导时,从文件/etc/fstab 中读取要加载的文件系统。 3.Linux系统下经常使用的两种桌面环境是:GNOME和KDE。 4.链接分为:硬链接和符号链接。 5.Linux系统中有三种基本的文件类型:普通文件、目录文件和设备文件。 6.某文件的权限为:drw-r--r--,用数值形式表示该权限,则该八进制数为:644 ,该文件属性是目录。 7.在超级用户下显示Linux系统中正在运行的全部进程,应使用的命令及参数是ps -aux 。 8.将前一个命令的标准输出作为后一个命令的标准输入,称之为管道。 9./sbin 目录用来存放系统管理员使用的管理程序。 10.观察当前系统的运行级别可用命令:who -r实现。 11.grep -E '[Hh]enr(y|ietta)' file的功能是:(在文件File中查找Henry、henry、Henrietta或 henrietta) 12.设C语言程序my.c A. 生成目标文件my.o的命令是(gcc -c my.c)。 B. 生成汇编语言文件my.s的命令是(gcc -S my.c)。 C. 生成可执行程序myp的命令是(gcc -o myp my.c)。 13.设有两个C语言程序模块c1.c和c2.c(不含main函数) A. 由c1.c和c2.c生成静态库libmyar.a的命令是(gcc -o libmyar.a -c c1.c c2.c)。 B. 由c1.c和c2.c生成共享库libmyar.so的命令是(gcc -shared -o libmyvar.so -c f1.c f2.c)。 14.在某Makefile内有以下语句: SRC = f1.c f2.c f3.c TGT = $(SRC:.c=.d) SRC += f4.c 则TGT=________ f1.o f2.o f3.o ____________ SRC=_______ f1.c f2.c f3.c f4.c _________ 二、选择题(40%) 1.关于Linux内核版本的说法,以下错误的是()。 A.表示为主版本号.次版本号.修正号B.1.2.3表示稳定的发行版 C.1.3.3表示稳定的发行版D.2.2.5表示对内核2.2的第5次修正 2.自由软件的含义是()。 A.用户不需要付费B.软件可以自由修改和发布 C.只有软件作者才能向用户收费D.软件发行商不能向用户收费 3.系统引导的过程一般包括如下几步:a.MBR中的引导装载程序启动;b.用户登录;c.Linux内核 运行;d.BIOS自检。正确的顺序是()。 A.d,b,c,a B.d,a,c,b C.b,d,c,a D.a,d,c,b 4.字符界面下使用shutdown命令重启计算机时所用的参数是()。 A.-h B.-t C.-k D.-r 5.下列设备属于块设备的是()。 A.键盘B.终端 C.游戏杆D.硬盘 6.cd命令可以改变用户的当前目录,当用户键入命令“cd”并按Enter键后,()。 A.当前目录改为根目录B.当前目录不变,屏幕显示当前目录 C.当前目录改为用户主目录D.当前目录改为上一级目录 Linux 期末考试试题(一) 一、选择题 (每小题2分,共50分) 1.在创建Linux分区时,一定要创建( D )两个分区 A. FAT/NTFS B. FAT/SWAP C. NTFS/SWAP D.SWAP/根分区 2.在Red Hat Linux 9中,系统默认的(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. 字符 12. 当运行在多用户模式下时,用Ctrl+ALT+F*可以切换多少虚拟用户终端( B ) A. 3 B. 6 C. 1 D. 12 13. Linux启动的第一个进程init启动的第一个脚本程序是( B )。 A./etc/rc.d/init.d B./etc/rc.d/rc.sysinit C./etc/rc.d/rc5.d D./etc/rc.d/rc3.d 14. 按下(A )键能终止当前运行的命令 A. Ctrl-C B. Ctrl-F C. Ctrl-B D. Ctrl-D 15. 下面哪个命令用来启动X Window ( C ) A. runx B. Startx C. startX D. xwin 16. 用来分离目录名和文件名的字符是( B ) A. dash (-) B. slash (/) C. period (.) D. asterisk(*) 17. 用 "rm -i",系统会提示什么来让你确认( B ) A. 命令行的每个选项 B. 是否真的删除 C. 是否有写的权限 D. 文件的位置 18. 以下哪个命令可以终止一个用户的所有进程( D ) A. skillall B. skill C. kill D. killall 19.在Red Hat Linux 9中,一般用( D )命令来查看网络接口的状态 A. ping B. ipconfig C. winipcfg D ifconfig 20. vi中哪条命令是不保存强制退出( C )(第五章) A. :wq B. :wq! C. :q! D. :quitlinux系统编程试卷(答案)
linux复习资料
2017年题库Linux复习材料
Linux模拟试题(考证)
Linux复习资料整理(jxust)
linux 期末考试试题(七)()
Linux复习资料2
Linux考试练习题(附答案)
linux考试题答案
Linux复习资料
linux模拟试题3
Linux操作系统期末复习资料
Linux模拟试题及提纲
Linux课复习资料
Linux综合试题
Linux-期末考试试题8套(含答案)