操作系统课程设计
——Linux系统管理实践与进程通信实现
二零一三年一月八号
一、设计内容
1、Linux系统的熟悉与常用操作命令的掌握。
2、Linux环境下进程通信的实现。(实现父母子女放水果吃水果的同步互斥问题,爸爸放苹果,女儿专等吃苹果,妈妈放橘子,儿子专等吃橘子,盘子即为缓冲区,大小为5。)
二、Linux环境介绍
1、Linux的由来与发展
Linux是一种可以在PC机上执行的类似UNIX的操作系统,是一个完全免费的操作系统。1991年,芬兰学生Linux Torvalds开发了这个操作系统的核心部分,因为是Linux改良的minix系统,故称之为Linux。 2、Linux的优点
(1)Linux具备UNIX系统的全部优点
Linux是一套PC版的UNIX系统,相对于Windows是一个十分稳定的系统,安全性好。
(2)良好的网络环境
Linux与UNIX一样,是以网络环境为基础的操作系统,具备完整的网络功能,提供在Internet或Intranet的邮件,FTP,www等各种服务。 (3)免费的资源
Linux免费的资源和公开的源代码方便了对操作系统的深入了解,给编程爱好者提供更大的发挥空间。 3、Linux的特点
1)全面的多任务,多用户和真正的32位操作系统 2)支持多种硬件,多种硬件平台 3)对应用程序使用的内存进行保护 4)按需取盘 5)共享内存页面
6)使用分页技术的虚拟内存 7)优秀的磁盘缓冲调度功能 8)动态链接共享库
9)支持伪终端设备 10)支持多个虚拟控制台 11)支持多种CPU
12)支持数字协处理器387的软件模拟 13)支持多种文件系统 14)支持POSIX的任务控制 15)软件移植性好
16)与其它UNIX系统的兼容性 17)强大的网络功能
三、常用命令介绍
1、目录操作
和DOS相似,Linux采用树型目录管理结构,由根目录(/)开始一层层将子目录建下去,各子目录以 / 隔开。用户login后,工作目录的位置称为 home directory,由系统管理员设定。‘~’符号代表自己的home directory,例如 ~/myfile 是指自己home目录下myfile这个文件。
Linux的通配符有三种:’*’和’?’用法与DOS相同,‘-‘代表区间内的任一字符,如test[0-5]即代表test0,test1,……,test5的集合。 (1)显示目录文件 ls
执行格式: ls [-atFlgR] [name] (name可为文件或目录名称) 例: ls 显示出当前目录下的文件
ls -a 显示出包含隐藏文件的所有文件 ls -t 按照文件最后修改时间显示文件 ls -F 显示出当前目录下的文件及其类型
ls -l 显示目录下所有文件的许可权、拥有者、文件大小、修
改时间及名称
ls -lg 同上
ls -R 显示出该目录及其子目录下的文件
注:ls与其它命令搭配使用可以生出很多技巧(最简单的如\,更多用法请输入ls --help查看,其它命令的更多用法请输入 命令名 --help
查看。
(2)建新目录 mkdir
执行格式: mkdir directory-name
例: mkdir dir1 (新建一名为dir1的目录) (3)删除目录 rmdir
执行格式: rmdir directory-name 或 rm directory-name 例:rmdir dir1 删除目录dir1,但它必须是空目录,否则无法删除 rm -r dir1 删除目录dir1及其下所有文件及子目录 rm -rf dir1 不管是否空目录,统统删除,而且不给出提示,使用
时要小心
(4)改变工作目录位置 cd
执行格式: cd [name]
例: cd 改变目录位置至用户login时的working directory cd dir1 改变目录位置,至dir1目录
cd ~user 改变目录位置,至用户的working directory cd 改变目录位置,至当前目录的上层目录 cd /user 改变目录位置,至上一级目录下的user目录 cd /dir-name1/dir-name2 改变目录位置,至绝对路径(Full path) cd 回到进入当前目录前的上一个目录 (5)显示当前所在目录 pwd
执行格式: pwd (6)查看目录大小du
执行格式: du [-s] directory
例:du dir1 显示目录dir1及其子目录容量(以kb为单位) du -s dir1 显示目录dir1的总容量 (7)显示环境变量
echo $HOME 显示家目录
echo $PATH 显示可执行文件搜索路径
env 显示所有环境变量(可能很多,最好用\PATH\等)
(8)修改环境变量,在bash下用export,如: export PATH=$PATH:/usr/local/bin
想知道export的具体用法,可以用shell的help命令:help export 2、文件操作
(1)查看文件(可以是二进制的)内容 cat
执行格式:cat filename或more filename 或cat filename|more 例: cat file1 以连续显示方式,查看文件file1的内容
more file1
或 cat file1|more 以分页方式查看文件的内容
(2)删除文件 rm
执行格式: rm filename 例: rm file?
rm f*
(3)复制文件 cp
执行格式: cp [-r] source destination
例: cp file1 file2 将file1复制成file2 cp file1 dir1 将file1复制到目录dir1 cp /tmp/file1 将file1复制到当前目录
cp /tmp/file1 file2 将file1 复制到当前目录名为file2
cp –r dir1 dir2 (recursive copy)复制整个目录。
(4)移动或更改文件、目录名称 mv
执行格式: mv source destination
例: mv file1 file2 将文件file1,更名为file2 mv file1 dir1 将文件file1,移到目录dir1下
mv dir1 dir2
(5)比较文件(可以是二进制的)或目录的内容 diff
执行格式: diff [-r] name1 name2 (name1、name2同为文件或目录) 例: diff file1 file2 比较file1与file2的不同处
diff -r dir1 dir2 比较dir1与dir2的不同处
(6)文件中字符串的查找 grep