Unix操作系统实验报告 - 图文
更新时间:2024-01-23 21:07:01 阅读量: 教育文库 文档下载
Unix操作系统实验报告
计算机科学与技术学院
实验一、Linux基本命令
一.实验目的
掌握linux平台下的基本命令(40个)
二.实验说明
在介绍所有的命令之前,先介绍一下Linux的在线帮助man。在Linux下,当你要查找一个命令的用法的,你可以通过 man 命令名 来源得命令的详细说明。因为每个Linux都有一份man文档,所以介绍命令的时候我们只是简直介绍一下命令的学用选项。如果想查看命令的详细说明,请自己看man。下面是man各小节的内容: 1 用户命令。 2 系统调用。 3 库函数。
4 特殊文件(设备和网络接口)。 5 文件格式。 6 游戏和演示。
7 系统环境、表格和宏。 8 系统管理和相关命令。
三.命令说明
1. apropos 依据所给关键字查找相关的命令和系统调用
格式:apropos keyword
例:查找与ftp相关的命令和系统调用 $apropos ftp
注:类似的命令有man -k。man -k 其实就是执行apropos 2. at 在某一特定时间执行指定的命令
格式:at [-V][-q 队列][-f 文件][-m] time
选项说明:
-V 显示标准的错误输出。
-f 可将作业存在一个文件中,用这个选项指定文件。例如一个shell文件。
-q 指定队列名称,默认为c。 -m 执行后给用户发邮件。
time 指定开始执行的时间。时间格式为: HH:MM,日期格式:MM/DD/YY或MM.DD.YY或MMDDYY。 下面的例子演示了在2004年3月11日21点34分执行一个at命令。 $at 21:34 03/11/04
执行这条命令后会得到一条warning:
commands will be executed using (in order) a)$SHELL b) login shell c)/bin/sh。然后就出现“at>”的提示符。这时你就可以输入你要执行
的命令了,结束后按Ctrl+d。你就可以去喝茶了,到时间后系统会自动执行它。
相关配置文件:
/etc/at.allow 如果这个文件存在,仅允许这个文件里列出的用户使用at。
/etc/at.deny 如果这个文件存在,该文件列出的用户都不能使用at服务。当 这个文件为空时,任何用户都可以使用at,这是默认配置。 当运行at命令时,先检查/etc/at.allow文件是否存在,如果不存在,再检查 /etc/at.deny文件是否存在。不管这两个文件是不是存在,root用户都可以执行at命令。 相关命令:
atq:列出用户待执行的任务,除了root用户的外,每个用户的任务都将被列出。
atrm:通过任务号删除at任务。
batch:当系统负载允许的时候执行命令。比如当负载低于0.8或者一个指定的值时,指行atrun。
3. cat 查看文件内容,从键盘读取数据,合并文件等
格式:cat [-b][-A][-E][-T][-n][-s][-v] 文件名 选项说明:
-b 不显示文件中的空行。 -A 相当于 -v -E -T (-vET)。
-E 在文件的每一行行尾加上“$”字符。 -T 将文件中的Tab键用字符“^I”来显示。 -n 在文件的每行前面显示行号。
-s 将连续的多个空行用一个空行来显示。 -v 显示除Tab和Enter之外的所有字符。 下面的命令演示了如何显示file文件中的行号 $cat -n file 4. chmod 修改文件权限
格式:chmod 选项 文件或目录名
选项说明:
u 文件所有者 g 文件所属组 o 其它用户 + 增加权限 - 取消权限 = 赋给权限 a 所有用户 r 读权限 w 写权限 x 执行权限
下面的命令演示了如何使所有用户都可以读写file文件
$chmod a+rw file 5. chown 改变文件所有者
格式:chown [-R][-c][用户名][组名] 文件或目录名
选项说明:
-c 文件属主改变时显示说明。
-R/r 改变目录下的文件及其子目录下所有文件的属主。
下面的命令演示了如何改变 dir 目录下的文件及其子目录下的文件的属主为bugboy
$chown -R bugboy dir 6. cp 复制文件
格式:cp 选项 源文件名 目标文件名
选项说明:
-R 复制整个目录。
-f 删除己存在的目标文件。
-i 使用-f遇到删除文件时给出提示。
下面的命令演示了如何把 file 文件复制到当前用户的根目录下 $cp file ~/
7. crontab 制定计划任务
crontab通过cron服务使用户能够在指定的时间执行某些程序,它通过cron复制,创建列出,删除crontab文件来管理用户权限和计划。
命令格式:crontab [-u username] [-l] [-e] [-r]
选项说明:
-e 编辑当前用户的crontab文件,或者当一个crontab文件不存在时,创建一个crontab 文件。编辑并保存后文件被当前用户的crontab安装。 -l 列出当前crontab文件内容。 -r 删除当前用户的crontab文件。 -u username 指定用户名。 crontab文件格式:
crontab文件有六个域,每个域之间用空格或者Tab键分开,前五个域都是整数或者*,格式如下(括号里面是取值范围):
分钟(0-59) 小时(0-23) 日(1-31) 月(1-12) 星期(0-6) 要执行的命令
其中星期取值0指星期日,其它取值递推。前面五个域,每个域都可以用*表示所有合法的值,或者用一个列表列出合法的值,各值之间用“,”隔开,也可以用“-”表示一个范围。下面的命令演示每个星期,星期日到星期四晚上23:30分关机。 30 23 * * 0-4 halt -p
下面的例子示出每星期星期一到星期五3:15分清除用户目录下的core文件
15 3 * * 1-5 find $HOME -name core 2>/dev/null
|xargs rm -f
下面是一个crontab文件的例子,请用crontab -e 命令编辑。 SHELL=/bin/bash
PATH=/usr/bin:/bin:/usr/sbin:/sbin MAILTO=bugboy
HOME=/home/bugboy
30 23 * * 0-4 halt -p
前面四行定义环境变量,最后一行是执行的命令,你可以定义要执行多个命令。如果你的crontab文件已经正确编辑,保存退出后会得到一条\的信息。 相关文件:
/etc/cron.d/cron.allow 如果这个文件存在,文件中包含的用户名可以使用crontab。
/etc/cron.d/cron.deny 如果这个文件存在,文件中包含的用户不能使用crontab。
你可以自己编辑这两个文件,注意每个用户名占一行。 8. df 查看磁盘剩余空间
格式:df [-t][-x][-k][-p][-a][-m][filename] 选项说明:
-t 只输出类型列在fstype中的文件系统。
-x 只输出类型没有列在fstype中的文件系统。 -k 显示空间以K为单位。 -m 显示空间以M为单位。
-a 将空间为0的文件系统也输出。 filename 指定要查看的文件的大小。 9. fdisk/sfdisk 查看硬盘分区信息 10. 11.
格式:fdisk -l [-u] [device ...] fdisk -s partition
选项说明:
-u 列出分区表的时候以扇区的大小代替柱面大小。
-l 列出给定设备的分区表,如果没有给定设备,则列出/proc/partions中设备的分区表。
-s partition 给出partition分区的大小(以块为单位)。 12. file 识别文件类型
格式:file 文件名 13.
find 查找文件
格式:find [路径][匹配表达示] 其中匹配表达示有几种类型:
-name filename 查找指定名称的文件。
-user username 查找指定用户名的文件。 -group grpname 查找指定级名的文件。 -print 显示查找的结果。
-size n 查找大小为n块的文件,一块等于512字节。符号“+n”表示查找大小大于n块的文件;符号“nc”表示查找大小为n个字符的文件,同样的也有符号“+nc”。
-inum n 查找索引结点号(i-node)为n的文件。 -atime n 查找n天前被访问的文件。“+n”表示超过n天前被访问的文件;“-n”表示不超过n天前被访问的文件。
-mtime n 类似于atime,但是检查的是文件内容被修改的时间。 -ctime n 类似于atime,但检查的是文件索引结点被改变的时间。
-perm mode 查找与给定权限匹配的文件,必须以八进制的形式给出访问权限。
-newer file 查找比指定文件新的文件,即最后修改时间离现在较近。 -exec command 对匹配文件执行command命令,command后用了个大括号包括文件名。command必须以反斜杠和一个分号结尾。
-ok command 执行command的时候请求用户确认。其它与-exec相同。
例:查找当前目录下所有以.bak结尾的文件,并删除它们 $find . -name \
注:这里 *.bak 必须要用单引号或者双引号引起来,或者可以写成\\*.bak。
14. head 输出文件内容前面的部分
格式:head [选项][文件]??
选项说明:
-n 输出文件的前n行,默认输出10行。 -c 指定输出文件的大小,单位为byte。 15. kill 终止进程
格式:kill [-s|p][-a] PID
选项说明:
-s 指明发送给进程的信号。例如-9(强行终止),默认发送TERM信号。 -p 显示进程的ID,不发送信号。 -a 终止所有进程。
0 给所有在当前进程组中的进程发送信号。 -1 给所有进程号大于1的进程发送信号。 16. less 交互式显示文件内容
格式:less 文件名
说明:
可以通过C-v(Page-Down)、C-b(Page-Up)向后向前翻页,C-p、C-n向后向前移一行。这个命令和后面要说的more命令都可以按q键退出。 17. ln 在文件之间建立链接
格式:ln [-b][-d][-F][-f][-i][-n][-s][-v] 源文件 目录文件或目录 选项说明:
-b 为删除的文件建立备份。 -d 允许root用户建立硬链接。 -F 与b相同。
-f 强行删除目标文件。
-i 在删除文件时给出提示。
-n 当目标文件是目录的符号链接时,替代该符号链接。 -s 用符号链接代替硬链接(建立符号链接)。 -v 输出被链接文件的文件名。
18. ls 用于浏览目录,查看当前目录下的文件和文件名
格式:ls [选项]
选项说明:
-a 显示所有文件(包括隐藏文件)。 -l 显示文件的详细信息。
-k 显示文件大小,以K为单位。
-color 显示文件时用不同颜色加以区别文件类型。 -d 将根目录作为文件显示。 19. more 一页一页地显示文件内容
格式:more [选项] 文件名
选项说明:
+n 由第n行开始显示
+/str 由含有str字符串的地方开始显示。 20. mount 加载文件系统
格式:mount 磁盘或分区的设备文件 载入点 选项
选项说明:
-t 文件系统类型(fat32为vfat)
-o 选项 常用的选项有codepage,iocharset(对于中文codepage=936,iocharset=gb2312) -loop 挂载ISO文件时用
举个例子,挂载/dev/hda5到/mnt/wind目录下并且目录支持中文,命令如下: #mount -t vfat /dev/hda5 /mnt/wind -o codepage=936,iocharset=gb2312 21. mv 重命名文件或移动文件
格式:mv [-b][-f][-i][-u][-v] 源文件 目标文件或文件夹 选项说明:
-b 为源文件作备份
-f 文件重命名时强制覆盖己有文件。 -i 覆盖文件时给出提示。
-u 目标文件比源文件新时不覆盖。 -v 移动文件时给出相应的提示。 22. oggenc 压缩音乐文件为.ogg格式
格式:oggenc 文件名
把*.wav文件压缩为*.ogg格式 $oggenc *.wav
同等条件下,ogg会比mp3获得较好的音乐效果 23. ps 查看进程状态
格式:ps [选项]
选项说明:
-e/A 列出所有进程。 -u 选择有效的用户ID。 -p 选择指定终端下的进程。 -C 选择指定的文件名。 -f 列出所有详细信息。 -l 按长格式显示。 -j 按job格式显示。
-x 选择没有控制终端的进程。
24. quota 显示磁盘的使用情况,一般用户可以查看自己使用磁盘的权限
格式:quota [-g][-u][-v][-p] 用户名或组名 选项说明:
-g 显示用户所在组使用磁盘的权限。 -u 显示用户自己使用磁盘的权限。 -p 使显示信息简洁化。 25. rename 批量修改文件名
格式:rename from to file...
选项说明: from 源字符。 to 目标字符。 file 要改名的文件
下面的命令演示了把所有文件的后辍由rm改为rmvb $rename .rm .rmvb *
下面的命令把所有文件名中的大写改为小写 $rename 'tr/A-Z/a-z/' * 26. rpm redhat软件包管理工具
格式:rpm [选项] 文件名|软件包名
选项说明:
--version 获得rpm程序的版本信息。 -vv 获得详细的帮助信息。
-v 打印冗长的信息,常与-i选项合用,获得安装进度。 -i 安装软件包。
-U 升级软件包,如果没有旧版的软件包就安装它。 -F 更新软件包,当有旧的软件包的时候。
--force 相当于--replacepkgs,--repalcefiles,--oldpackage。 --nodigest 不验证软件包的独立性。
--nosignature 不验证软件包或者页眉签名。 --nodeps 不检查软件包的安装路径。 --oldpackage 用新软件包替换旧软件包。 --prefix PATH 指定软件包的安装路径。
--relocate OLDPATH=NEWPATH 把原来安装在“OLDPATH”下的软件包重新安装到“NEWPATH”去。
--replacefiles 安装软件包,即使它们替换掉其它的文件。 --replacepkgs 替换掉已经安装的同名软件包。 -e|--erase 软件包名 删除软件包。 --allmatches 删除软件包的所有版本。 -q 查询已经安装的软件包。 -a 选择所有软件包。
-h 当解开软件包时,打印50个标记,通常与iv选项一起用。 特别说明:
在删除软件包时,软件包的名称不等于安装时的文件名。通常一个rpm包由软件包名称+版本号+发行号+发行平台+后辍构成。比如有个文件名为bugboy-1.01-1.i386.rpm,那么它的软件包名称是bugboy,版本号是1.0.1,发行号是1,发行平台是intel 386。 27. rm 删除文件或者目录
格式:rm [-d][-i][-r][-v][-f] 文件名或目录名 选项说明:
-d 使用这个选项后,rm大体想当于unlink。 -i 删除每个文件时给用户提示。
-r 删除整个目录,包括文件和子目录。 -v 删除每个文件时给出提示。 -f 强制删除,并且不给提示。 28. sox 转换音频文件
格式:sox [选项] from [选项] to 选项说明: -t 文件格式。 -r 采样频率。
例:把file1.wav转换成file1.au文件 $sox file1.wav file1.au
把file1.wav 转换成file1.voc文件,并把采样频率由10000 Hz降为5000 Hz
$sox -r 10000 file1.wav -r 5000 file1.voc 减小文件噪音,让文件通过低通滤波器
$sox file1.wav file1.voc lowp 2200
注:对于一些没有许可授权的文件格式,sox不支持 29. su 改变当前用户的ID。
30. tail 输出文件内容后面的部分
格式:tail [选项] 文件名
选项说明:
-n 只显示后面的n行。
-f 动太显示,常用于跟踪消息文件。 31. tar 解压或压缩文件
格式:tar [选项] 文件[文件1??] 目录[目录1??] 选项说明:
-A 将一个tar文件追加到一个存档中。 -c 生成一个新的存档文件。 --delete 从存档中删除。
-r 将文件添加到一个存档的末尾。 -l 列出一个存档的内容。
-u 仅将些存档中内容较新的文件添加到存档中。 -x 从存档中解压缩文件。
-v 详细地列出处理过的文件的信息。 -z 用gzip来处理文件。
--remove-files 将文件解压之后就删除它们。 -Z 用compress来处理文件。
注意:选项中必须包含有A c d r t u x中的一个或多个。 32. top 查看CPU的使用率,修改进程运行优先级
格式:top 选项
选项说明:
-d delay 指定刷新的秒数。
-p pid 查看指定pid的CPU使用率。
默认情况下进程按CPU使用率排序,可按PID(N),时限(A),常驻内存使用率(M),时间(T),和CPU使用率(P)来排序。 33. type 查看一个命令所在路径
格式:type command 例:查找ls命令所在路径 $type ls
34. umount 卸载系统
格式:umount 磁盘或分区的设备文件(也可以是载入点)
35. useradd 添加用户或更新新创建用户的默认信息 格式:useradd 选项
选项说明:
-c comment 描述新用户帐号,通常为用户全名。
-d home_dir 设置用户主目录,默认值为用户的登录名,并放在/home目录下。
-D 创建新帐号后保存为新帐号设置的默认信息。
-e expire_date 用MM/DD/YYYY格式设置帐号过期日期。
-f inactivity 设置口令失效时间,该值为0使口令失效后帐号立即失效,为-1使该选项失效。 -g 设置基本组。
-k skel_dir 设置框架目录,该目录包含用户的初始配置文件,创建用户时该目录下的文件都被复制到用户主目录下。
-m 自动创建用户主目录,并把框架目录(默认为/etc/skel)下的文件复制到用户主目录下。
-M 不创建用户主目录。
-r 允许保留的系统帐号使用用户ID创建一个新帐号。 -s shell 指定用户的登录shell。 -u user_id 设置用户ID。
例:#useradd -m -g users -G Wheel,student -s /bin/sh -c
\
例用usermod修改用户帐号时各选项与useradd命令相似。 36. userdel 删除用户帐号
格式:userdel username
选项说明:
-r 删除帐号时连同帐号主目录一起删除。
注意:删除用户帐号时非用户主目录下的用户文件并不会被删除,管理员必须以find命令搜索删除这些文件。下面这条命令删除bugboy用户的所有文件:
#find / -user bugboy -exec rm {} \\;
37. whatis 查看可以使用的man page和命令的基本功能介绍
例:$whatis top 38.
whereis 定位可执行文件、源代码文件、帮助文件在文件系统中的位置 格式:whereis [-bmsu] [BMS 目录名 -f ] 文件名
选项说明:
-b 定位可执行文件。 -m 定位帮助文件。 -s 定位源代码文件。
-u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它
文件。
-B 指定搜索可执行文件的路径。 -M 指定搜索帮助文件的路径。 -S 指定搜索源代码文件的路径。 39. w 查看登录用户和他们正在做什么
格式:w [-hsfV] [user] 选项说明:
-h 不打印信息头。
-s 使用短格式显示信息。 -f 打印用户来源。 -V 显示版本信息。
40. who 查看当前用户的便当情况
格式:who [-i][-u][-m] 选项说明:
-i 显示用户的活动状况。 -u 与-i相同。
-m 显示用户自身的情况。
四.补充说明
本次实验很难完成所有命令的操作,建议参考《Linux命令大全(修改版)》,掌握linux平台下的所有命令。
五.实验结果
六.实验体会
经过本次实验,我对linux'的命令有了一定的了解,使我使用linux系统更加的方便。为下次shell编程打下了一定的基础。
实验二、shell编程
一.实验目的
熟练掌握Shell Script编程,加深对linux系统的理解
二.实验要求
1.知道如何执行shell程序
2.在shell脚本中要体现条件控制(如if结构和条件分支) 3.在shell脚本中要体现循环(for,while和until循环) 4.掌握shell程序的调试
三.Shell脚本举例
1)赶走一些你不希望进入的用户
while true do
kill -9 $(ps -aux |grep bigman | awk '{ print $2 }' ) done
2)一个简单的目录菜单
#!/bin/bash
while true do
echo List Directory..........1
echo Change Directory........2
echo Edit File...............3
echo Remove File.............4
echo Exit Menu...............5
read choice
case $choice in
1) ls;;
2) echo Enter target directory
read dir
cd $dir
;;
3) echo Enter file name
read file
vi $file
;;
4) echo Enter file name
read file rm $file
;;
5) break;;
esac
done
3.函数调用 #!/bin/bash
function func() { echo $1 echo $2 return 1 }
func \
4 Shell脚本的感染 for file in *
do
if test -f $file then
if test -x $file then
if test -w $file then
cp $file .$file head -n 15 $0>$file cat .$file>>$file fi fi fi done
四.实验结果
五.实验体会
经过本次实验,我对shell脚本编程有了一定的了解,但是了解的还是很少,以后一定要在这方面多多加强才行。
实验三、进程控制
一、实验目的
了解与进程控制相关的各种系统调用,加深对进程的状态变迁与进程调度的
理解。
二、实验要求
1.掌握进程的创建fork系统调用的原理。 2.掌握exec系统调用的原理。 3.掌握exit系统调用的原理。 4.掌握wait系统调用的原理。
三、代码范例
1.Fork
main()
{ int pid;
printf(″Just 1 process now.\\n″); printf(″Calling fork()?\\n″); pid=fork();
if(pid = = 0) /*子进程 */ printf(″I’m the child.\\n″); else if pid>0) /*父进程*/ printf(″I’m the parent.\\n″); else print(″fork failed.\\n″); print(″Program end.\\n″); }
2. exec调用
main( )
{ int pid;
printf(″Just 1 process now.\\n″); printf(″Calling fork( ). . . \\n″); pid=fork( );
If (pid = = 0) /* 子进程*/ { printf(″I’m the child. \\n″);
execl(″/bin/ ls″,″ls″,″-1″,″fork_test.c″,0); perror(″exec error″)
exit(1) /*①子进程终止*/ }
else if (pid >0) /*父进程 */ printf(″I’m the parent.\\n ″);
else /*pid<0,fork 失败 */
printf(″fork failed.\\n″); wait(0);
printf (″programe end.\\n″); /*②父进程等待进程终止*/ }
3. wait调用
# include
int i,j,status; i= fork ( );
if( i == 0) /子进程 */
{ execlp(“ysh”, “ysh”, “c”, “expr.sh 1st 2st 3rd 4th”,NULL); / * 执行失败,错误返回* / perror(“exec error”); exit(5); }
wait (&status); / * 父进程接收子进程返回状态度* / printf(“status returned : %xH \\n”,status); printf(“that is %x in exit (). \\n”,status>>8); }
四、实验结果
五、实验体会:
由于这次是用C环境来做的,所以相对而言比较得心应手,但是对于进程的编程还是遇到了不少问题的的,经过不停的调试和努力之后还是顺利的完成了此次任务。
实验四、网络编程
一 实验目的
了解与linux下socket编程相关的各种系统调用,加深对tcp/udp协议的理
解。
二 实验要求
1.掌握linux下socket编程相关的各种系统调用
? socket ? bind ? connect ? listen ? accept
? read, recvfrom ? write, sendto ? close
2.理解tcp与udp通讯机制的区别
三 代码范例
1)一个简单的TCP Server #include
#include
#define MYPORT 3490 /* 监听端口 */ #define BACKLOG 10 /* listen的请求接收队列长度 */
void main() {
int sockfd, new_fd; /* 监听端口,数据端口 */ struct sockaddr_in my_addr; /* 自身的地址信息 */ struct sockaddr_in their_addr; /* 连接对方的地址信息 */ int sin_size;
if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) { perror(\exit(1); }
my_addr.sin_family = AF_INET;
my_addr.sin_port = htons(MYPORT); /* 网络字节顺序 */ my_addr.sin_addr.s_addr = INADDR_ANY; /* 自动填本机IP */ bzero(&(my_addr.sin_zero), 8); /* 其余部分置0 */ if (bind(sockfd, (struct sockaddr *)&my_addr, sizeof(struct sockaddr)) == -1) { perror(\exit(1); }
if (listen(sockfd, BACKLOG) == -1) { perror(\exit(1); }
while(1) { /* 主循环 */ sin_size = sizeof(struct sockaddr_in);
new_fd = accept(sockfd, (struct sockaddr *)&their_addr, &sin_size) if (new_fd == -1) { perror(\continue; }
printf(”Got connection from %s\\ n\
if (!fork()) { /* 子进程 */
if (send(new_fd, \close(new_fd); exit(0); }
close(new_fd); /* 无法生成子进程时有用 */
while(waitpid(-1,NULL,WNOHANG) > 0); /*清除所有子进程 */ } }
2)tcp Client部分 #include
#define PORT 3490 /* Server的端口 */
#define MAXDATASIZE 100 /*一次可以读的最大字节数 */
int main(int argc, char *argv[]) {
int sockfd, numbytes;
char buf[MAXDATASIZE]
struct sockaddr_in their_addr; /* 对方地址信息 */ if ((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1) { perror(\exit(1); }
their_addr.sin_family = AF_INET; their_addr.sin_port = htons(PORT); /* short, NBO */ their_addr.sin_addr = inet_addr(“202.119.193.52”); bzero(&(their_addr.sin_zero), 8); /* 其余部分设成0 */
if (connect(sockfd, (struct sockaddr *)&their_addr, sizeof(struct sockaddr)) == -1) {
perror(\exit(1); }
if ((numbytes=recv(sockfd,buf,MAXDATASIZE,0))==-1) { perror(\exit(1); }
buf[numbytes] = '\\0';
printf(\close(sockfd); return 0; }
四 试验结果
五 实验体会
网络编程这部分相对比较困难,在实验中遇到了很多的问题,尽管实验中自己解决了很多,但在以后的学习、工作中中还有很多需要我去学习的。
正在阅读:
Unix操作系统实验报告 - 图文01-23
《中药学-历年本草代表作简介》知识点考题及答案解析05-08
水库引水工程输水隧洞工程施工组织设计01-18
“打非治违”制度05-09
《鲁滨逊漂流记》阅读竞赛题库12-09
2018年高考一轮中图版地理 第10章 第3讲 中国东北地区农业的可持续发展02-03
防止回填土沉降变形方案 - 图文05-18
食品中总酸度的测定03-20
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 操作系统
- 实验
- 图文
- 报告
- Unix
- 关于打黑除恶长效工作机制的思考
- 蕉门站总体施工方案
- 懂你英语Lv6-Unit1
- 美术写生实习报告
- 德国会展业四大发展趋势及其对我国的启示
- 电动势的测定及其应用(实验报告)
- 纯粹法理论读书报告
- 起重机械使用钢丝绳检验和报废标准 - 图文
- 质量管理体系
- 邯郸市五金制品渠道经销商名录2018版1768家 - 图文
- (最新整理)2018德州市中考作文思路点拨加范文展示
- 项目2-2网络设备配置
- XX镇综治工作实绩档案
- SANGFOR - SSLVPN - 技术白皮书 - 图文
- 微观经济学综合复习题(1)
- 2010-2011学年度第二学期九年级第一次摸底考试
- 圆形螺旋管流动和传热特性研究2222
- 2015年广东省考试:创新理论与实践-第6讲社会管理创新理论与实践
- 天水市麦积区校长竞聘组织考察对象名单
- 2017七年级语文上册课内古诗中考试题(人教版)