1 / 38

操作系统上机实验 1. Linux 基础

操作系统上机实验 1. Linux 基础. 主讲教师:王帅强 http://www2.sdufe.edu.cn/wangsq/ shqiang.wang@gmail.com. 提纲. UNIX 的发展历史 GNU 组织及 Linux 的历史 Linux 基本管理和常用命令 Linux shell 编程. UNIX 的历史. UNIX 最早产生在美国的 Bell 实验室 AT&T 1969 Ken Thompson, Dennis Ritchie 在 AT&T 写出第一个 UNIX

Download Presentation

操作系统上机实验 1. Linux 基础

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 操作系统上机实验1. Linux基础 主讲教师:王帅强 http://www2.sdufe.edu.cn/wangsq/ shqiang.wang@gmail.com

  2. 提纲 • UNIX的发展历史 • GNU组织及Linux的历史 • Linux基本管理和常用命令 • Linux shell编程

  3. UNIX的历史 UNIX最早产生在美国的Bell实验室 AT&T 1969 Ken Thompson, Dennis Ritchie在AT&T写出第一个UNIX 在AT&T公布了第一版的源代码后,被许多厂家和科研机构修改,各自都有自己的名字。 如:IBM 公司的AIX,HP公司的HP/UX,SUN公司的Solaris等。

  4. POSIX标准 • 各种UNIX操作系统为了保持相互之间的兼容性,即保证程序的可移植性,共同遵守一个标准:POSIX标准。 • POSIX标准:指的是一套基本的应用程序接口,如果你写的程序遵循POSIX标准,可以运行在不同的UNIX平台上。

  5. 两大流派 • 但不同的操作系统为了保持各自的优势,在习惯上还是有很大区别的。 • 主要有两大流派: • System V5 • BSD(美国加州大学伯克利分校发布版) • 优点:很多(略) • 缺点:价格昂贵

  6. GNU组织 • 1984年,由Richard Stallman组织成立了GNU组织。 • GNU工程:自由软件工程项目 • 最终的目标是创建一个类UNIX操作系统,取代昂贵的商用UNIX操作系统。 • 但直到1990年,才完成了基本的用户程序,如GCC编译器,emacs编辑器等,但内核一直不能发布。 • GNU组织开发软件所需要的资金全部由自由软件基金会(FSF)提供。FSF由各种商业公司赞助提供资金。

  7. GPL(General Public License) • 为了保证GNU的软件可以自由使用和拷贝,GNU组织制订了一个新的法律许可协议:GPL协议。 • 该协议的主要特点: • 允许软件被自由地拷贝 • 允许软件被自由地修改 • 允许软件被修改后自由地传播,但必须提供源代码。 • 很多软件制作者都遵循GPL协议,无数的软件开发人员和软件爱好者将自己的软件通过GPL分布,公布在互联网上,从而形成了一个庞大的GNU社区。

  8. Linux的历史 • Linux 发展的重要里程碑 • 1990, 芬兰的大学生Linus Torvalds 首次接触 MINIX • 1991 中, Linus Torvalds 开始在 MINIX 上编写各种驱动程序等操作系统内核组件 • 1991 底, Linus Torvalds 公开了 Linux 内核 • 这个LINUX内核后来加入了GNU项目,采用GPL协议发布。 • LINUX 内核的加入,大大加速了GNU组织的发展。

  9. 内核版本知识 • 内核版本号=主版本号.次版本号.修正次数 • 例如:2.6.5, 2.7.2 • 次版本号为偶数为稳定版 • 奇数为开发版本

  10. GNU/Linux 的历史 有了Linux的GNU组织就完善了。 各种自由应用软件由GNU组织提供 Linus维护最新内核的开发 XFree86组织提供开放的XWindow图形应用系统,用来驱动显卡、显示器。 Knome和KDE组织提供图形桌面。 无数的爱好者提供测试和技术支持。

  11. Linux发布版本 • 由商业公司将LINUX内核和各种应用程序打包,编译成二进制代码,提供给用户安装。 • 1994, Linux 的第一个商业发行版 Slackware 问世 • 1996, 美国国家标准技术局的计算机系统实验室确认Linux 版本 1.2.13(由 Open Linux 公司打包)符合 POSIX 标准。 • 1999, Linux 的简体中文发行版相继问世。 • 流行的分布版本: • Slackware , Fedora (Red hat), Ubuntu • 由自由社区维护的版本debian

  12. Linux环境 用户 图形用户界面 SHELL 内核 硬件

  13. Linux环境 • 内核:内存、进程和设备的管理,调度和执行所有命令,容纳控制系统的驱动程序等。 • SHELL层:接收用户命令并启动进程执行命令。SHELL还允许将进程放到后台运行以及运行SHELL程序。 • 图形用户界面:例如GNOME和KDE图形用户界面系统

  14. Linux的基本管理和常用命令 • 用户管理 • Linux下的用户可以分为三类:超级用户、系统用户和普通用户。 • 超级用户用户名:root, 具有一切权限。一般只有在进行系统维护(如创建用户)和其它必要的情况下才使用超级用户身份登录,以避免系统出现安全问题。 • 系统用户:是Linux系统正常工作所必须的内建的用户,主要是满足相应的系统进程对文件属主的要求而建立的,系统用户不能用来登录。 • 普通用户:大多数用户属于此类。

  15. 用户UID 每个用户都有一个数值与之对应,称为UID。 超级用户UID:0 系统用户UID:1---499 普通用户UID:500---60000 关于用户的信息,Linux放在文件/etc/passwd中 可以用cat命令查看该文件的内容。 cat /etc/passwd

  16. 组的管理 • Linux的组有私有组、系统组、标准组。 • 私有组:建立用户帐号时,若没有指定帐号所属的组,系统会建立一个组名和帐号名相同的组,称为私有组。该组只容纳一个用户。 • 标准组可容纳多个用户。 • 系统组是Linux系统正常运行所必须的,安装系统或添加新的软件包会自动建立系统组。 • Linux关于组的信息放在文件/etc/group中 可以用cat命令查看group文件的内容:cat /etc/group

  17. 其它命令 • 改变用户身份 su

  18. 练习 • 添加一个新组:groupadd 命令 • 组属性的修改:groupmod 命令 • 显示/etc/group文件的内容,解释每一行每一列的含义 • 创建新的用户 useradd • 修改用户密码passwd • 修改用户的shell设置 • 改变用户的属性 usermod • 显示/etc/passwd文件,解释每一行每一列的含义 • 注:这些命令都可以通过查看联机帮助学习 • man 命令

  19. 实验要求 • 自己设计实验用例,将以上命令掌握,并完成实验报告。

  20. 文件系统的安全和存取权限 • Ls –l命令显示的文件列表中-rw-r--r-- • 第1位d/-:文件夹/文件 • 2-4位:owner • 5-7位:group • 8-10位:others • 命令:chmod • 改变文件存取权限的用户只能是root用户或文件主用户 • 符号模式:chmod [who] operator [pemission] filename • 绝对模式:chmod mode filename • Who:u, g, o (owner, group, others) • Operator:+, -, = (add, remove, assign) • Pemission:r, w, x (read, write, execute)

  21. chmod举例 • chmod u=rwx, g+w, o+r myfile • 文件拥有者可读、写、执行; • 同组用户可以写; • 其他用户只能读 • chmod 664 myfile • rwx三位布尔值组成二进制数 • 6 = 110 = rw- • 4 = 100 = r--

  22. 改变文件所属用户和组 • chown:改变文件或目录的拥有者或所属组 • chown root testdir,将testdir 的拥有者改为root用户 • chgrp group filename改变文件或目录的所属组 • chgrp root testdir,将testdir 的所属组改为root组

  23. 改变文件缺省权限 • 当文件新创建时,有一个缺省的权限,如何改变缺省权限? • umask命令!!! • 直接运行umask命令,得到当前缺省的权限 • 例:umask 022 == umask u=rwx, g=rx, o=rx

  24. 关于文件和目录的命令 文件的复制、删除和移动 cp(复制),rm(文件和目录的删除),mv(文件和目录的移动) 目录的浏览、创建与删除 ls (列出文件目录),cd(更改路径),pwd(显示当前工作目录) mkdir,rmdir 定义命令别名alias 例如:alias ll=‘ls –l’ ll unalias ll

  25. 实验要求 • 自己设计实验用例,掌握有关文件和目录的基本命令

  26. 文件的打包和压缩 • 从internet上下载文件时,很多文件都是打包或压缩文件,例如:wb.txt.gz, longkey.tar.gz • 相关命令:zip ,gzip, tar • 上网找一些打包压缩文件,试着用tar解压释放。 • 将自己的若干文件打包压缩成tar.gz文件。

  27. 举例 • 把/home/longkey目录下的所有文件和子目录备份到longkey.tar文件中。 tar –cvf longkey.tar /home/longkey 从longkey.tar文档中恢复数据,放在当前目录下。 tar –xzf longkey.tar.gz • 把/home/longkey目录下的所有文件和子目录以gzip压缩文件的形式备份到longkey.tar.gz文件中。 tar –czvf longkey.tar.gz /home/longkey 从longkey.tar.gz文档中恢复数据,放在当前目录下。 tar –xzf longkey.tar.gz 注意:在释放文件时,若要指定目录,可加-C 目录名选项

  28. Linux常用命令 cat命令 用来将文本文件的内容显示在屏幕上。 如:cat /etc/passwd 在linux系统中,执行一个终端命令行时,通常会自动打开三个文件:标准输入文件(stdin,通常对应键盘)、标准输出文件(stdout)和标准错误输出文件(stderr),后两个文件通常对应屏幕。 cat命令通常会从命令行给定的文件中读取内容显示在屏幕上,但当命令行没有给出文件时,它将从标准输入文件,即键盘输入中读取信息显示在屏幕上。 如:cat

  29. 输出重定向和管道 • 输出重定向:就是把命令的标准输出重新定向到指定的文件中。 例如 ls >d.out (输出) 或ls >>d.out (追加) • 管道 |:将一个程序或命令的输出作为另一个程序或命令的输入。 例如:cat sample.txt|grep “High”|wc –l 管道将cat的输出送给grep命令,该命令在输入中查找包含单词“High”的行,这个输出又送给WC命令,该命令统计输入中的行数。

  30. Linux 文件系统 • 文件类型 文本文件 数据文件 源程序文件 可执行文件 Shell程序文件 设备文件 链接文件:指向文件存储位置的指针 file 文件名:该命令可列出指定文件的文件类型

  31. ls –l 命令可以长格式列出文件列表,用不同的字符表示不同的文件类型。 • -:表示常规文件 • d:表示目录 • b:表示块特殊设备 • p:表示有名管道 • s:表示信号灯 • m:表示共享存储器

  32. Linux文件系统布局 • 统一的多级目录结构

  33. Vi 编辑器 • 是unix系统一种功能强大、界面友好的编辑器。 • Vi的两种工作模式: 编辑模式和指令模式,两种模式可相互切换 • 指令模式:运行vi后,首先进入指令模式,用来编辑、存盘和退出文件的模式,按下insert键(或者i)可切换到编辑模式 • 编辑模式:用来输入和编辑文本的模式,按下Esc键可切换到指令模式。 • 状态行:屏幕底部一行,用来反馈编辑操作结果。 • http://news.cnblogs.com/n/114383/

  34. 退出vi 在指令模式下键入: :wq 保存并退出 :q! 不保存退出

  35. 环境变量 • 命令env:查看系统的环境变量设置 • 查看某个指定的环境变量的值 echo $环境变量名 如:echo $PATH 或echo $HOME • 改变环境变量的值 export 环境变量名=value 例如:export PATH=“$PATH:/home/dyb:.”

  36. Linux常用命令 编程工具 gcc,gdb 例如:将test.c文件编译成可执行文件test gcc –o test test.c 运行可执行文件test ./test

  37. Linux shell编程 • Shell是什么 • Shell本身是一个程序,而不是内核的一部分 • Shell是一种特殊的命令解释器,还是一种编程语言 • 常见shell bsh, csh, bash

  38. Linux shell编程 • Shell脚本类似dos批处理文件,但是功能强大的多。 • 可以有变量,可以有条件语句,循环语句等。

More Related