机器组织与汇编语言设计Linux基础知识介绍杨长喜2004年2月13

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

操作系统上机实验主讲教师:王帅强URL::shqiang.wang@gmail.com提纲UNIX的发展历史GNU组织及Linux的历史Linux基本管理和常用命令Linuxshell编程UNIX的历史UNIX最早产生在美国的Bell实验室AT&T1969KenThompson,DennisRitchie在AT&T写出第一个UNIX在AT&T公布了第一版的源代码后,被许多厂家和科研机构修改,各自都有自己的名字。如:IBM公司的AIX,HP公司的HP/UX,SUN公司的Solaris等。POSIX标准各种UNIX操作系统为了保持相互之间的兼容性,即保证程序的可移植性,共同遵守一个标准:POSIX标准。POSIX标准:指的是一套基本的应用程序接口,如果你写的程序遵循POSIX标准,可以运行在不同的UNIX平台上。两大流派但不同的操作系统为了保持各自的优势,在习惯上还是有很大区别的。主要有两大流派:SystemV5BSD(美国加州大学伯克利分校发布版)优点:很多(略)缺点:价格昂贵GNU组织1984年,由RichardStallman组织成立了GNU组织。GNU工程:自由软件工程项目最终的目标是创建一个类UNIX操作系统,取代昂贵的商用UNIX操作系统。但直到1990年,才完成了基本的用户程序,如GCC编译器,emacs编辑器等,但内核一直不能发布。GNU组织开发软件所需要的资金全部由自由软件基金会(FSF)提供。FSF由各种商业公司赞助提供资金。GPL(GeneralPublicLicense)为了保证GNU的软件可以自由使用和拷贝,GNU组织制订了一个新的法律许可协议:GPL协议。该协议的主要特点:允许软件被自由地拷贝允许软件被自由地修改允许软件被修改后自由地传播,但必须提供源代码。很多软件制作者都遵循GPL协议,无数的软件开发人员和软件爱好者将自己的软件通过GPL分布,公布在互联网上,从而形成了一个庞大的GNU社区。Linux的历史Linux发展的重要里程碑1990,芬兰的大学生LinusTorvalds首次接触MINIX1991中,LinusTorvalds开始在MINIX上编写各种驱动程序等操作系统内核组件1991底,LinusTorvalds公开了Linux内核这个LINUX内核后来加入了GNU项目,采用GPL协议发布。LINUX内核的加入,大大加速了GNU组织的发展。内核版本知识内核版本号=主版本号.次版本号.修正次数例如:2.6.5,2.7.2次版本号为偶数为稳定版奇数为开发版本GNU/Linux的历史有了Linux的GNU组织就完善了。各种自由应用软件由GNU组织提供Linus维护最新内核的开发XFree86组织提供开放的XWindow图形应用系统,用来驱动显卡、显示器。Knome和KDE组织提供图形桌面。无数的爱好者提供测试和技术支持。Linux发布版本由商业公司将LINUX内核和各种应用程序打包,编译成二进制代码,提供给用户安装。1994,Linux的第一个商业发行版Slackware问世1996,美国国家标准技术局的计算机系统实验室确认Linux版本1.2.13(由OpenLinux公司打包)符合POSIX标准。1999,Linux的简体中文发行版相继问世。流行的分布版本:Slackware,Fedora(Redhat),Ubuntu由自由社区维护的版本debianLinux环境内核SHELL图形用户界面用户硬件内核:内存、进程和设备的管理,调度和执行所有命令,容纳控制系统的驱动程序等。SHELL层:接收用户命令并启动进程执行命令。SHELL还允许将进程放到后台运行以及运行SHELL程序。图形用户界面:例如GNOME和KDE图形用户界面系统Linux环境Linux的基本管理和常用命令1.用户管理Linux下的用户可以分为三类:超级用户、系统用户和普通用户。超级用户用户名:root,具有一切权限。一般只有在进行系统维护(如创建用户)和其它必要的情况下才使用超级用户身份登录,以避免系统出现安全问题。系统用户:是Linux系统正常工作所必须的内建的用户,主要是满足相应的系统进程对文件属主的要求而建立的,系统用户不能用来登录。普通用户:大多数用户属于此类。用户UID每个用户都有一个数值与之对应,称为UID。超级用户UID:0系统用户UID:1---499普通用户UID:500---60000关于用户的信息,Linux放在文件/etc/passwd中可以用cat命令查看该文件的内容。cat/etc/passwd组的管理Linux的组有私有组、系统组、标准组。私有组:建立用户帐号时,若没有指定帐号所属的组,系统会建立一个组名和帐号名相同的组,称为私有组。该组只容纳一个用户。标准组可容纳多个用户。系统组是Linux系统正常运行所必须的,安装系统或添加新的软件包会自动建立系统组。Linux关于组的信息放在文件/etc/group中可以用cat命令查看group文件的内容:cat/etc/group其它命令改变用户身份su练习添加一个新组:groupadd命令组属性的修改:groupmod命令显示/etc/group文件的内容,解释每一行每一列的含义创建新的用户useradd修改用户密码passwd修改用户的shell设置改变用户的属性usermod显示/etc/passwd文件,解释每一行每一列的含义注:这些命令都可以通过查看联机帮助学习man命令实验要求自己设计实验用例,将以上命令掌握,并完成实验报告。文件系统的安全和存取权限Ls–l命令显示的文件列表中-rw-r--r--第1位d/-:文件夹/文件2-4位:owner5-7位:group8-10位:others命令:chmod改变文件存取权限的用户只能是root用户或文件主用户符号模式:chmod[who]operator[pemission]filename绝对模式:chmodmodefilenameWho:u,g,o(owner,group,others)Operator:+,-,=(add,remove,assign)Pemission:r,w,x(read,write,execute)chmod举例1.chmodu=rwx,g+w,o+rmyfile文件拥有者可读、写、执行;同组用户可以写;其他用户只能读2.chmod664myfilerwx三位布尔值组成二进制数6=110=rw-4=100=r--改变文件所属用户和组chown:改变文件或目录的拥有者或所属组chownroottestdir,将testdir的拥有者改为root用户chgrpgroupfilename改变文件或目录的所属组chgrproottestdir,将testdir的所属组改为root组改变文件缺省权限当文件新创建时,有一个缺省的权限,如何改变缺省权限?umask命令!!!直接运行umask命令,得到当前缺省的权限例:umask022==umasku=rwx,g=rx,o=rx关于文件和目录的命令文件的复制、删除和移动cp(复制),rm(文件和目录的删除),mv(文件和目录的移动)目录的浏览、创建与删除ls(列出文件目录),cd(更改路径),pwd(显示当前工作目录)mkdir,rmdir定义命令别名alias例如:aliasll=‘ls–l’llunaliasll实验要求自己设计实验用例,掌握有关文件和目录的基本命令文件的打包和压缩从internet上下载文件时,很多文件都是打包或压缩文件,例如:wb.txt.gz,longkey.tar.gz相关命令:zip,gzip,tar上网找一些打包压缩文件,试着用tar解压释放。将自己的若干文件打包压缩成tar.gz文件。举例把/home/longkey目录下的所有文件和子目录备份到longkey.tar文件中。tar–cvflongkey.tar/home/longkey从longkey.tar文档中恢复数据,放在当前目录下。tar–xzflongkey.tar.gz把/home/longkey目录下的所有文件和子目录以gzip压缩文件的形式备份到longkey.tar.gz文件中。tar–czvflongkey.tar.gz/home/longkey从longkey.tar.gz文档中恢复数据,放在当前目录下。tar–xzflongkey.tar.gz注意:在释放文件时,若要指定目录,可加-C目录名选项Linux常用命令cat命令用来将文本文件的内容显示在屏幕上。如:cat/etc/passwd在linux系统中,执行一个终端命令行时,通常会自动打开三个文件:标准输入文件(stdin,通常对应键盘)、标准输出文件(stdout)和标准错误输出文件(stderr),后两个文件通常对应屏幕。cat命令通常会从命令行给定的文件中读取内容显示在屏幕上,但当命令行没有给出文件时,它将从标准输入文件,即键盘输入中读取信息显示在屏幕上。如:cat输出重定向:就是把命令的标准输出重新定向到指定的文件中。例如lsd.out(输出)或lsd.out(追加)管道|:将一个程序或命令的输出作为另一个程序或命令的输入。例如:catsample.txt|grep“High”|wc–l管道将cat的输出送给grep命令,该命令在输入中查找包含单词“High”的行,这个输出又送给WC命令,该命令统计输入中的行数。输出重定向和管道Linux文件系统文件类型文本文件数据文件源程序文件可执行文件Shell程序文件设备文件链接文件:指向文件存储位置的指针file文件名:该命令可列出指定文件的文件类型ls–l命令可以长格式列出文件列表,用不同的字符表示不同的文件类型。-:表示常规文件d:表示目录b:表示块特殊设备p:表示有名管道s:表示信号灯m:表示共享存储器Linux文件系统布局统一的多级目录结构Vi编辑器是unix系统一种功能强大、界面友好的编辑器。Vi的两种工作模式:编辑模式和指令模式,两种模式可相互切换指令模式:运行vi后,首先进入指令模式,用来编辑、存盘和退出文件的模式,按下insert键(或者i)可切换到编辑模式编辑模式:用来输入和编辑文本的模式,按下Esc键可切换到指令模式。状态行:屏幕底部一行,用来反馈编辑操作结果。退出vi在指令模式下键入::wq保存并退出:q!不保存退出环境变量命令env:查看系统的环境变量设置查看某个指定的环境变量的值echo$环境变量名如:echo$PATH或echo$HOME改变环境变量的值export环境变量名=value例如:exportPATH=“$PATH:/home/dyb:.”Linux常用命令编程工具gcc,gdb例如:将test.c文件编译成可执行文件testgcc–otesttest.c运行可执行文件test./testLinuxshell编程Shell是什么Shell本身是一个程序,而不是内核的一部分Shell是一种特殊的命令解释器,还是一种编程语言常见shellbsh,csh,bashLinuxshell编程Shell脚本类似dos批处理文件,但是功能强大的多。可以有变量,可以有条件语句,循环语句等。

1 / 38
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功