关闭

关闭

封号提示

内容

首页 [IT/计算机]linux_基础教程.doc

[IT/计算机]linux_基础教程.doc

[IT/计算机]linux_基础教程.doc

上传者: 湖水青岚 2017-10-19 评分 5 0 186 25 845 暂无简介 简介 举报

简介:本文档为《[IT/计算机]linux_基础教程doc》,可适用于IT/计算机领域,主题内容包含IT计算机linux基础教程序言在此首先对所有在GNULinux中做出贡献的人表示敬意,感谢他们毫无保留的贡献出自己的知识和技术。正是他们的努力和奉符等。

IT计算机linux基础教程序言在此首先对所有在GNULinux中做出贡献的人表示敬意,感谢他们毫无保留的贡献出自己的知识和技术。正是他们的努力和奉献,才有今天蓬勃发展的GNULinux。GNULinux是Internet世界中无数崇尚自由和平等的软件工程师协作开发的结晶。它作为一个Unix兼容的操作系统,不仅可以运行在个人计算机,而且可以应用在企业关键性业务高端的服务器上。Linux系统性能稳定、安全可靠、代码开放、扩展性好。即使和任何商用Unix系统相比,它也毫不逊色。近年来,Linux已在国内外各大公司中得到应用,越来越多的跨国企业用Linux替换了其Unix和Windows的应用服务器。实践证明,应用Linux系统的总体成本要小于Unix和Windows。随着Linux的大面积应用,对Linux专业人员的需求也越来越大,Linux的专业认证也越来越火爆,其中知名的如RedHat公司的RHCE认证和中科红旗公司的RCE认证等,这些认证代表了Linux企业认证的权威。上海神州文华教育管理有限公司下属的上海文华学院作为全国知名的培训机构对Linux的教学有着丰富的经验,曾荣获‚年度红旗全国最佳培训中心的称号。文华学院也是亚太地区唯一可以在两个地区开设培训考试的RedHat授权培训中心。它还拥有一批全职的高级技术讲师。他们一直本着‚追求卓越服务,用知识创造价值的准则为学生提供高质量技术培训服务。本书就是建立在这些高级技术讲师大量的技术支持经验、自身应用实践和长期讲课的基础上,参考和借鉴了国内外众多专家和同行的著作和观点,系统总结而成的,本书以RedHatLinux为基础,由浅入深、循序渐进的引导读者完成操作、安装、配置、调节GNULinux及其相关服务的全过程。不仅适合初学者,高级用户也可以从中受益。同时针对当前的Linux认证考试我们也作了重点涉及,并以实用与认证相结合为第一原则。本书是由文华学院网络工程教研室Linux教研小组编写。Linux小组成员,邹凯,余洋,郄晓烨,包光磊,韩子杰老师等。虽然,本书编写小组进行了仔细地审核和修订,但由于Linux知识体系博大,书中难免会有疏忽,希望读者能够提出批评并给予指正。上海文华学院执行院长年月目录第一单元总览……………………………………………………第二单元基础操作………………………………………………第三单元文件………等特色,系统的硬件要求会根据你需要安装多少种类特色功能而提高。一般情况下,CPU速度的快慢不如系统中安装的内存大小重要。计算机中的内存越多,Linux操作系统在其上就运行得也就越好。EnterpriseLinuxAS建议使用MB以上内存。Linux图形环境XFree:标准的LinuxXWindow系统XFreeXXFreeXGNOME(TheGNUNetworkObjectModelEnvironment),,基于GTK的工具包KDE,,基于QT的工具包什么是XXWindowSystem是UNIX系统上强大的网络透明的图形化作业环境,你可以叫它‚X或‚XWindow。X服务器程序提供了建立和运行GUI的引擎窗口管理器程序提供了管理窗口本身,比如标题栏和滚动栏的环境,桌面环境提供了一系列的工具程序和应用程序。这些工具和程序中的许多都可以让用户控制其环境的设置值,屏幕保护器、字体、图标、窗口尺寸等等方面,还可以让用户管理他们的机器,比如,基于GUI的挂装、Zip档案文件以及网络管理工具等等。这些工具越多、桌面环境越复杂,需要的内存也就越多,因此一定要把这一点记在心上。最常用的X桌面环境X图形界面中最经常被提起的两个桌面环境是Gnome和KDE。GNOME,TheGNUNetworkObjectModelEnvironment的目标是在完全免费的基础之上提供一套完整的,友好的桌面系统。GNOME所做的工作与KDE有些类似的地方,它不仅做一套window管理器,而且通过CORBA技术使计算机之间,平台之间具有良好的互操作性。GNOME是RedHatLinux默认的图形环境。KDE是一个全新的桌面系统,其中包括window管理器,文件管理器,面板,控制中心和其他一些Unix工作站应用程序。这些元素之间配合默契,让人觉得就像是一个完整的操作系统。KDE一度因为QT库的不开放问题而被质疑,但年时QT库已经开始遵循GPL协议了,第一单元基础操作任课讲师:Linux用户环境•内核(Kernel)•Shell•终端模拟器(TerminalEmulator)•XWindow系统•窗口管理器(WindowManager)•桌面环境(DesktopEnvironment)Kernel系统内核用于在计算机启动时载入基本内存、管理基本输入输出、管理进程初始化和进程的调度。Shell系统的命令解释器,用于操作系统与用户的通信,相当于Dos中的commandcom。RedHatLinux默认的shell是Bash!Shell与系统及子进程的层次关系TerminalEmulator用户交互的窗口界面终端模拟器是用户shell运行的平台,在终端模拟器上用户可以交互的操作系统及运行程序并得到提示和反馈,就像在文本编辑器中一样。XWindow以CS模式提供的图形界面接口在X中操作,你会重新找回Windows的感觉。当然不只是这样RedHatLinux中图形界面的易用性已经有了显著的提高,并且通过像GTK和QT这样的开放的开发工具包,你好可以创立自己的图形应用程序。WindowManager提供图形功能Windowmanager是个可以帮你移动窗口和改变它们大小的程序。它通常也支持把一个窗口缩成一个图标或任务条。通常有某种程序执行机构。用户可以使用windowmanager来做他想做的任何X应用程序应该可以在任何窗口管理器上工作。但是你一次只能能运行一个WindowManager。也就是说,你可以切换于任何多个windowmanager,但是同一时刻你只能运行一个。屏幕上的所有程序都可以被正在运行的windowmanager管理。DesktopEnvironment桌面环境GNOME和KDE不是窗口管理器,它们是桌面环境。KDE是和一个叫KWM的窗口管理器一起的。GNOME则没和任何窗口管理器做在一起,你可以使用任何你想用的窗口管理器,虽然有一些是特地为GNOME写的,Enlightenment就是一个。但是它们都需要X来运行。本地登录RedHatLinuxrelease(Shrike)Kernelonanilogin:root(用户名)password:(密码)本地登录本地登录分为字符方式,运行级别,即runlevel登录与图形方式,运行级别,即runlevel登录。上图中演示的是字符方式登录,当用户选择图形方式登录时,系统将运行xdm、gdm或kdm实现图形登录。在字符方式登录时,用户的password不回显,你会看到如下显示,RedHatEnterpriseLinuxASrelease(Taroon)KernelLinuxEL#onanilogin,root,用户名password,,不回显的密码rootstationxxroot#(系统提示符提示符与home目录rootstationXXroot#•,当前用户名主机名当前目录,•提示符因用户而异•home目录是用户登入系统后即所在的默认目录。提示符与home目录一个可用来登录的账号即是linux系统的固有账号,他可以拥有自己的文件、目录,并且对自己的文件或目录有相应的权限特殊root被称为超级用户,对系统有至高无上的控制权,不受任何限制。提示符的最后一个字符,超级用户使用#,一般用户使用$如,rootstationxxroot#超级用户kevinzstationxxkeinz$一般用户提示符和home目录是可以更改的每一个用户的home目录可以用~来代表一般来说,一般用户的home目录集中在home目录下,root的home目录为root创建用户,useradd,用户名,,password,用户名,•example:•rootstationXXroot#useraddstudent•rootstationXXroot#passwdstudent•Changingpasswordforuserstudent•Newpassword:(无回显)•Retypenewpassword:(无回显)•passwd:allauthenticationtokensupdatedsuccessfully•rootstationXXroot#useradd和adduser两个命令都可以使用。在useradd创建用户之后,虽然用户已存在但不能使用,需使用password激活这个账号。password可以用来更改密码。当更改的新密码是坏密码时,root会被警告,但仍可更改密码。一般用户则会被通知新密码被拒绝。好密码准则,至少,位但不多于~,,位包含至少一个非字母字符不是在字典中可以找到的词构成不是太简单,或与原密码一样不使用用户名作密码密码不是一个敏感字符串用一定意义且方便记忆运行指令•指令名,选项,,参数,–例子:lsletcX•帮助和在线帮助–指令help•例:mknodhelp–man指令•例:manmknod–info指令•例:infomknod在Linux中运行程序指令名、选项、参数,每一项之间都应用空格格开,例如:kevinzstationXXkevinz$ls–letc,X(ls为指令名、–l为选项、etcX为参数。)选项和参数并不是必须的。许多选项前需要‚开头,例如lshelp。基础指令(一)•man的使用技巧mankkeywordmanfkeywordmanakeywordmannkeywordmankkeyword在whatis数据库中查找关键字manfkeyword同上,但keyword为一个整字(wholeword)manakeyword通常man会显示第一个找到的keyword的manpage,但是若需要找到全部的manpage,使用a选项。使用man来查询帮助时,有可能需要帮助主体前给出一个数字,例如manls),如果没有这个数字系统默认从开始查找第一个匹配的项。用户指令文件格式系统调用游戏库调用混合特殊文件管理员用指令例如:kevinzstationxxkevinz$manpasswd(得到命令passwd的帮助kevinzstationxxkevinz$manpasswd(得到文件passwd的帮助)基础指令(二)•ls,查看文件•cp,拷贝文件•mv,移动或重命名文件•rm,删除文件•touch,创建空文件或更新文件时间lsls是list的缩写,可以用来查看一个目录内有什么文件,或某一个文件是否存在。我们可以用lsl来察看文件的详细信息。ls相当于dos中的dir。cpcp是copy的缩写,可以用来将一个文件复制为另一个文件。所以cp的格式应该是cp,源文件,,目标文件,。cp相当于dos中的copy。mvmv是move的缩写,可以用来将一个文件移动到另一个位置。同时,移动的过程中可以改变文件的名字,当目标文件名与源文件名不一致时,mv就起到了rename的作用。mv相当于dos中的move和rename。rmrm是remove的缩写,可以用来删除一个文件。rm相当于dos中的delete。touchtouch可以用来创建一个空文件,但当touch的文件已存在时,touch会将当前的系统时钟赋予该文件。基础指令(三)•cd,改变当前路径•pwd,察看当前完整路径•mkdir,创立新目录•rmdir,删除空目录cdcd,绝对路径,相对路径,可以用来改变用户的当前路径。cd,在cd和之间有一个空格可以回到上一层目录。直接键入cd可以回到该用户的home目录。cd相当于dos中的cd。绝对路径和相对路径以开头的是绝对路径,在系统中是唯一的。没有即相对路径,其实际位置要根据当前的路径来决定。pwdpwd是PrintnameofcurrentWorkingDirectory的缩写,可以用来显示用户当前所在的绝对路径。mkdirmkdir是makedirectory的缩写,可以用来创立新的目录。相当于dos中的md。rmdirrmdir是removedirectory的缩写,可以用来删除一个空的目录。当目录有内容存在的时候,我们通常用rm–rf来删除。基础指令(四)•cat,察看文件内容•more,逐屏察看文件内容•less,逐行察看文件内容•date,显示当前时间•cal,显示月历catcat是concatenate的缩写,所以它的作用其实是连接文件。但默认情况下它会将连接文件的结果送到标准输出。所以我们常用来显示文件内容。类似于dos中的type。more当一个文件的内容超过一屏后,我们可以用more这个指令来逐屏察看文件内容。lessless在more的基础上,更可以逐行察看,前后翻页。date显示系统的当前时间。也可以用来更改系统的当前时间。cal显示系统时间所在月的月历。也可以用cal这样的格式来要求显示年二月的月历。基础指令(五)•df,显示磁盘用量•du,计算目录下文件占用磁盘的大小dfdf命令显示磁盘用量,加h选项可以以KB、MB、GB等单位输出,加H也以KB、MB、GB输出,但是是以B为KB,而非B。kevinzstationXXkevinz$dfhFilesystemSizeUsedAvailUseMountedondevhdaGGGdevhdaMMMbootkevinzstationXXkevinz$dfHFilesystemSizeUsedAvailUseMountedondevhdaGGGdevhdaMMMbootdudu命令计算目录下文件占用磁盘的大小,以KB为单位,也加h选项。例如dush(–s用来察看文件夹实际情况)。基础指令(六)•head,显示文件开头部分内容•tail,显示文件结尾部分内容headhead显示文件开头部分内容,默认显示十行参数lines或者–n指明显示行数tailtail显示文件结尾部分内容,命令用法同head,参数f显示文件的纪实更新,用于监视日志文件设备文件•设备在Linux中以特殊文件的形式存在•块(block)设备文件•字符(character)设备文件•设备文件所在位置•查看设备类型设备文件Linux继承了Unix的风格把所有的硬件设备都当作文件来处理,只不过它们是特殊的文件,并存放在dev目录下。设备分为块设备(block)和字符设备(character)两种。在用lsl命令显示时,设备文件的类型会在属性的第一位以"b"或者"c"分别表示。块设备是可随机读写的设备,例如硬盘字符设备必须是顺序读写的,比如串口。虚拟控制台及用户身份切换•在系统中有个虚拟控制台前个可供用作本地登录•用户可以用AltFn(n=~)来切换。•用su可以用来切换用户身份suusername虚拟控制台系统中有个系统虚拟控制台,默认开启六个,FF。因为前六个控制台用于本地登录。所以第一个图形界面一般对应AltF,第二个是AltF,依次类推。如果当前在图形界面下,系统快捷键AltFn已经被占用,我们需要用CtrlAltFn来切换入其他虚拟控制台。应注意从图形界面中切换入其他虚拟控制台,可能造成原图形界面关闭。登录用的虚拟控制台是可以根据需要增添或删减的,配置文件为etcinittab)。用户身份切换任一用户都拥有自己的环境变量,单用su的切换是不完整的,用su完整的切换成另一个用户。root切换成普通用户不需要密码。普通用户切换为其他用户需要对方用户的密码。当需要退出当前用户时,用CtrlD、exit或logout退回上一个用户,当前为最后一个用户时退回登录窗口。离开系统•重启•关机–reboot–halt–shutdownrnow–shutdownhnow–init–poweroff–init离开系统重启与关机都需要当前用户是root。第二单元文件任课讲师:检查文件•用ls–l以长模式察看文件的详细信息–包含当前目录的硬盘使用空间、文件类型、文件权限、硬连接数、文件拥有者、文件所属组、文件大小、更动时间、文件名。•用file检查文件类型–由于linux中的文件名中没有扩展名所以可能需要用file来查看文件类型用ls–l以长模式显示文件的信息,例,rootserverroot#lslvarlibdhcptotalrwrrrootrootFeb:dhcpdleasesrwrrrootrootFeb:dhcpdleases~用file检查文件类型rootserverroot#fileetcfstabetcfstab:ASCIItextfile命令从系统配置文件usrsharemagic中读取相应的文件规范。文件类型•在linux中所有东西都被当成文件。•文件权限前的第一个字母用来标识文件类型::一般文件d:目录文件b:块设备文件c:字符设备文件l:链接文件p:人工管道文件类型Linux沿用了Unix风格,在系统中所有东西都被当成文件,并且都可以适用文件的操作。对于不同类型的文件,通常ls会用不同的颜色来标识,这些标识颜色的定义在文件etcDIRCOLORS中。文件分类一般文件这是一类常见的文件,也是常使用的一类文件,其特点是不包含有文件系统的结构信息。通常所接触到的文件,包括图形文件、数据文件、文档文件、声音文件等都属于这种文件。这种类型的文件按其内部结构又可细分为文本文件和二进制文件。目录文件目录文件是用于存放文件名及其相关信息的文件,是内核组织文件系统的基本节点。目录文件可以包含下一级目录文件或普通。对于习惯于使用Windows的用户来说,这可能有些难于理解,目录怎么会是文件呢,的确,在Linux中,目录文件是一种文件。但Linux的目录文件和其它操作系统中的‚目录的概念不同,它是Linux文件中的一种。当然,在实际使用中可以不仔细区分这两种说法。实际上,在很多Linux的书籍和资料中就是将目录文件简称为目录的。不过,我们必需清楚此‚目录非彼‚目录。链接文件链接文件是一种特殊的文件,实际上是指向一个真实存在的文件的链接。这有点类似于Windows下的快捷方式。根据链接文件的不同,它又可以细分为硬链接文件和符号链接文件。设备文件设备文件是Linux中最特殊的文件。正是由于它的存在,使得Linux系统可以十分方便地访问外部设备。Linux系统为外部设备提供一种标准接口,将外部设备视为一种特殊的文件。用户可以像访问普通文件一样访问外部设备,使Linux系统可以很方便地适应不断发展的外部设备。通常Linux系统将设备文件放在dev目录下,设备文件使用设备的主设备号和次设备号来指定某外部设备。根据访问数据方式的不同,设备文件又可以细分为块设备和字符设备文件。管道文件管道文件是一种很特殊的文件,主要用于不同进程间的信息传递。当两个进程间需要进行数据或信息传递时,可以通过管道文件。一个进程将需传递的数据或信息写入管道的一端,另一进程则从管道的另一端取得所需的数据或信息。通常管道是建立在调整缓存中。文件权限•对于每一个文件Linux都提供了一套文件权限系统。•文件权限系统将操作文件的用户都分成三类–文件的拥有者(u)–文件所属组的成员(g)–其他用户(o)文件权限Linux系统是一个典型的多用户系统,不同的用户处于不同的地位。为了保护系统的安全性,Linux系统对不同用户访问同一文件的权限做了不同的规定。对于一个Linux系统中的文件来说,它的权限可以分为三种,读的权限(r)、写的权限(w)和执行的权限(x)。不同的用户具有不同的读、写和执行的权限。对于一个文件来说,它都有一个特定的所有者,也就是对文件具有所有权的用户。同时,由于在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。文件所有者以外的用户又可以分为文件所有者的同组用户和其它用户。因此,Linux系统按文件所有者、文件所属组的成员和其它用户三类规定不同的文件访问权限。文件权限类型•对于每一类用户权限系统又分别提供他们三种权限•读(r):用户是否有权力读文件的内容•写(w):用户是否有权利改变文件的内容•执行(x):用户是否有权利执行文件权限的概念Linux文件系统安全模型是通过给系统中的文件赋予两个属性来起作用的,这两个赋予每个文件的属性称为所有者(ownership)和访问权限(accessrights)。Linux下的每一个文件必须严格地属于一个用户和一个组。每个文件的目录条目都是以下面类似的一些符号开始,rwrr这些符号用来描述文件的访问权限类别,也就是常说的文件权限。这些访问权限指导Linux根据文件的用户和组所有权来处理所有访问文件的用户请求。总共有种权限属性,因此一个权限列表总是个字符的长度。它的格式遵循下列规则,第个字符表示一种特殊的文件类型。其中字符可为d(表示该文件是一个目录)、b(表示该文件是一个系统设备,使用块输入输出与外界交互,通常为一个磁盘)、c(表示该文件是一个系统设备,使用连续的字符输入输出与外界交互,如串口和声音设备),‚表示该文件是一个普通文件,没有特殊属性。第个字符用来确定文件的用户(user)权限,第个字符用来确定文件的组(group)权限,第个字符用来确定文件的其它用户(otheruser,既不是文件所有者,也不是组成员的用户)的权限。其中,、、个字符是用来控制文件的读权限的,该位字符为r表示允许用户、组成员或其它人可从该文件中读取数据。短线‚则表示不允许该成员读取数据。与此类似,、、位的字符控制文件的写权限,该位若为w表示允许写,若为‚表示不允许写。、、位的字符用来控制文件的制造权限,该位若为x表示允许执行,若为‚表示不允许执行。改变文件权限•使用chmod来改变文件的当前权限chmodR权限文件名•只有文件的拥有者和root才可以改变文件的权限字符方式的基本语法是,chmodugoa或者或者=rwx文件例如,kevinzstationXXkevinz$chmodorbashprofile(其他用户对文件bashprofile可读的权限kevinzstationXXkevinz$chmodu=rwbashprofile(赋予文件拥有者对文件bashprofile的权限是可读写使用数字来改变文件权限•chmod后可以用三个数字来表示用户权限–第一位代表文件拥有者权限–第二位代表文件所属组成员权限–第三位代表其他用户权限•每一个数字都采用加和的方式–(读)–(写)–(执行)赋予权限的另一种方法是chmodnnn文件n是数字,其中第、、个n分别表示用户、组成员和所有其它用户。各个位置上的n要么是一个,或者是一个由赋予权限的相关值相加得到的单个阿拉伯数字之和。这些数字的意义如下所示,值表示的意义表示文件或者目录的读权限表示文件或者目录的写权限表示文件或者目录的执行权限一般而言,作为系统管理员,更喜欢使用数字方式,因为这种方式的速度明显快得多。建立链接•ln–硬链接•语法:ln源文件新建链接名–软链接•语法:ln–s源文件新建链接名硬链接文件完全等同于原文件,原文件名和连接文件名都指向相同的物理地址。不可以跨文件系统,也不可以建立目录的硬链接。文件在磁盘中只有一个拷贝,节省硬盘空间由于删除文件要在同一个索引节点属于唯一的连接时才能成功,因此可以防止不必要的误删除。如下所示,kevinzstationXXkevinz$lnfilefile(建立file的硬链接file)kevinzstationXXkevinz$ls–il(显示file和file的属性)rwrr–rootrootJul:filerwrr–rootrootJul:fileinode号权限硬链接数拥有者拥有组文件大小最后修改时间文件名软链接文件相当于为原文件建立了一个快捷方式,可以跨文件系统,也可以为目录建立。软链接和硬链接不同,软链接有自己的inode,是linux特殊文件的一种,作为一个文件,它的数据是它所连接的文件的路径名。类似windows下的快捷方式。可以删除原有的文件而保存连接文件,没有防止误删除功能。ext中文件的构成•在ext和ext文件系统中文件以inodblock的方式存在。•一但用rm指令删除文件中的inode记录。文件无法被找回。•stat指令可以用来检查文件的block与inode状况。所属用户•每一个文件都有一个拥有者。文件的拥有者可以改变文件的权限。•root用户可以用chown来改变文件的拥有者。改变文件的拥有者kevinzstationXXkevinz$lsfilerwrr–rootrootJul:filekevinzstationXXkevinz$chownusernamefilekevinzstationXXkevinz$lsfilerwrr–usernamerootJul:file所属组•每一个文件只能属于一个指定的组。•文件的拥有者与root用户可以用chgrp来改变文件所属的组改变文件的拥有者kevinzstationXXkevinz$lsfilerwrr–rootrootJul:filekevinzstationXXkevinz$chgrpgroupnamefilekevinzstationXXkevinz$lsfilerwrr–rootusernameJul:file文件名•文件名最大为个字符。•开头为的文件为隐藏文件。文件名无论是ext或ext文件系统,文件名最多包含个字符。文件名是字母大小写敏感的,也就是说FILE、file、File、FilE等是不同的文件名。同时Linux还可以使用特殊字符,但尽量避免使用‚,>,<,,*,,‘‚等特殊字符,不是他们不可用而是使用他们会产生操作时的麻烦。当然你也可以使用一段话作为文件名,例如,kevinzstationXXkevinz$lsl“filenamewithspacestxt”隐藏文件在Windows系统中隐藏是文件的一种属性,在Linux中没有这样的属性,隐藏是系统对文件的一种显示的判断。当系统需要显示文件名时,一般情况首先看文件的第一个字符是否为‚,如果是的就不显示他,所以在Linux中隐藏文件是以点开头的文件,同时因为目录也是文件,所以隐藏目录也是以点开头的。用ls–a可以显示隐藏文件。例如,kevinzstationXXkevinz$ls–ahomekevinzbashrcbashhistorybashlogoutbashprofile第三单元目录任课讲师:目录•目录在文件类型上用d标识•用分隔目录层•Linux操作系统都有且仅有一个起始目录我们用一个单独的来表示称其为根目录。•对每一个shell和操作环境都有一个当前工作目录。目录Linux中一切都是文件,目录也不例外,只不过目录是一种特殊的文件,目录的属性以‚d开头。kevinzstationXXkevinzls–ldrwxrwxrxkevinzkevinzJul:test目录属性硬链接数目录的拥有者和所属组目录block大小最后更改时间目录名文件与文件•在每一个目录下都有一个文件与文件。•文件是对当前目录的一个硬连接•文件是对上级目录的一个硬连接目录权限•目录也是一种文件•目录上的读写执行权限与普通文件有所不同:–读:用户可以读取目录内的文件–写:单独使用没有作用。与执行权限连用可以在目录内添加与删除文件。–执行:用户可以进入目录调用目录内的资料目录权限目录的读权限位意味着可以列出其中的内容。写权限位意味着可以在该目录中创建文件,如果不希望其他用户在你的目录中创建文件,可以取消相应的写权限位。执行权限位则意味着搜索和访问该目录。如下图所示,|r|w|x||可列出目录中的文件|可在目录中删除或建立文件|可搜索或进入目录|如果把同组用户或其他用户针对某一目录的权限设置为x,那么他们将无法列出该目录中的文件。如果该目录中有一个执行位置位的脚本或程序,只要用户知道它的路径和文件名,仍然可以执行它。用户不能够进入该目录并不妨碍他执行该目录中的文件。强制位与冒险位•除了读写执行权限以外ext文件系统还支持强制位(setuid和setgid)与冒险位(sticky)的特别权限。•针对ugo分别有setuidsetgid及sticky。•强制位与冒险位添加在执行权限的位置上。如果该位置上原已有执行权限。则强制位与冒险位以小写字母的方式表示否则以大写字母表示。•setuid与setgid在u和g的x位置上各采用一个ssticky使用一个t。强制位suid意味着如果某个用户对属于自己的程序设置了这种权限,那么其他用户在执行这程序时也会具有其文件拥有者相应权限。于是,如果超级用户(root)的某一程序设置了这样的权限,那么其他普通用户在执行它的期间也同样具有超级用户的权限。同样的原则也适用于sguid,执行相应程序的用户将具有该文件所属用户组的权限。为什么要使用suidguid为什么要使用这种类型的脚本,这里有一个很好的例子。你管理着几个大型的数据库系统,而对它们进行备份需要有系统管理权限。你写了几个脚本,并设置了它们的suid,这样你指定的一些用户只要执行这些脚本就能够完成相应的工作,而无须以数据库管理员的身份登录,以免不小心破坏了数据库服务器。通过执行这些脚本,他们可以完成数据库备份及其他管理任务,而且在这些脚本运行结束之后,他们就又回复到他们作为普通用户的权限。另一个例子是binpasswd,要读写etcpasswd文件需要超级用户权限,但一般用户也需要随时可以改变自己的密码,所以binpasswd就设置了suid,当用户该自己密码的时侯就拥有了超级用户权限。setgid对目录的作用•默认情况下用户建立的文件属于用户当前所在的组。•目录上设置了setgid表示在此目录中任何人建立的文件都会属于目录所属的组。冒险位对目录的作用•默认情况下如果一个目录上有w和x权限则任何人可以在此目录中建立与删除文件。•一旦目录上设置了冒险位则表示在此目录中只有文件的拥有者、目录的拥有者与系统管理员可以删除文件。强制位对文件的作用•在可执行文件上用户可以添加setuid和setgid。•默认情况下用户执行一个指令会以该用户的身份来运行进程。•指令文件上的强制位可以让用户执行的指令以指令文件的拥有者或所属组的身份运行进程。设置强制位与冒险位•用户可以用chmod指令来为文件设置强制位与冒险位。–setuid:chmodus文件名–setgid:chmodgs文件名–sticky:chmodot文件名•强制位与冒险位也可以通过一个数字加和放在读写执行的三位数字前来指定。–(setuid)–(setgid)–(sticky)设置suidguid命令结果含义chmodrwsrxrxsuid、文件属主具有读、写和执行的权限,所有其他用户具有读和执行的权限chmodrwssxsuid、sgid、文件属主具有读、写和执行的权限,所有其他用户具有执行的权限chmodrwSxxsuid、文件属主具有读、写的权限,所有其他用户具有执行的权限上面的表中有具有这样权限的文件,rwSxx,其中S为大写。它表示相应的执行权限位并未被设置,这是一种没有什么用处的suid设置可以忽略它的存在。注意,chmod命令不进行必要的完整性检查,可以给某一个没用的文件赋予任何权限,但chmod命令并不会对所设置的权限组合做什么检查。因此,不要看到一个文件具有执行权限,就认为它一定是一个程序或脚本。umask•每个用户建立文件时此文件都会有默认权限。•默认权限的值由环境中的umask值来确定•用户可以自主改动umask值并在改动后建立的文件上得到体现。•一般用户的默认umak值为系统用户的默认umask值为。umask当你最初登录到系统中时,umask命令确定了你创建文件的缺省模式。这一命令实际上和chmod命令正好相反。你的系统在安装时为你设置一个合理的umask值,以确保你创建的文件具有所希望的缺省权限,防止其他非同组用户对你的文件具有写权限。在已经登录之后,可以按照个人的偏好使用umask命令来改变文件创建的缺省权限。相应的改变直到退出该shell或使用另外的umask命令之前一直有效。一般来说,umask命令是在etcprofile文件中设置的,每个用户在登录时都会引用这个文件,所以如果希望改变所有用户的umask,可以在该文件中加入相应的条目。如果希望永久性地设置自己的umask值,那么就把它放在自己$HOME目录下的profile或bashprofile文件中。这些我们将在‚用户一章中作具体介绍。在shell下直接输入umask,显示的是当前umask值。umask,则表示把umask值改为,只在此次登录中生效。计算umask值umask命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的umask值中的数字。对于文件来说,这一数字的最大值分别是。系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod命令增加这一权限。目录则允许设置执行权限,这样针对目录来说,umask中各个数字最大可以到。对普通用户而言,其umask值为,即其建立起来的普通文件默认权限为,目录权限为。超级用户的umask值为,即建立普通文件默认权限为,目录权限为。根目录下的目录•bin:存储常用用户指令。•boot:存储核心、模块映像等启动用文件•dev:存储设备文件•etc:存储系统、服务的配置目录与文件•home:存放个人主目录•lib:存放库文件诸如核心模块、驱动•lostfound:存储fsck用的孤儿文件用户常用的指令,除了bin目录以外,也常常存放在usrbin目录下。lostfound下的fsck用孤儿文件不可见。更多库文件也存放在usrlib目录下。根目录下的目录(二)•mnt:系统加载文件系统时用的常用挂载点•opt:第三方工具使用的安装目录•proc:虚拟文件系统包含系统讯息等资料•root:root用户的主目录•sbin:存储系统管理用指令•tmp:临时文件的暂存点•usr:存放与用户直接相关的文件与目录•var:存储在系统运行中可能会更改的数据虚拟目录proc在系统每次启动时自动在内存中生成,并不记录在任何硬件上。你可以在etcfstab中看到,rootstationxxroot#catetcfstabLABEL=extdefaultsLABEL=bootextdefaultsnonedevptsdevptsgid=,mode=noneprocprocdefaultsnonedevshmtmpfsdefaults第四单元过滤器、输入输出及管道任课讲师:过滤器•Linux中的应用工具分为三种:–交互工具–过滤器–编辑器•能够接受数据过滤再输出的工具称为过滤器•对过滤器和进程存在着输入源与输出对象输入、输出、重定向•输入:过滤器的数据来源–标准输入stdin():默认是键盘•输出:过滤器的数据去向–标准输出stdout():默认是终端屏幕•错误输出:报错讯息与标准输出走不同的IO通道–标准错误输出stderr():默认是终端屏幕•重定向:标准输入、输出与错误输出都可以用特定符号改变数据来源或去向标准输入输出当一个shell命令行启动时通常会自动打开三个标准文件,即标准输入文件,stdin,通常对应终端的键盘标准输出文件,stdout和标准错误输出文件,stderr,这两个文件都对应终端的屏幕。进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。直接使用标准输入输出文件存在以下问题,输入数据从终端输入时,用户费了半天劲输入的数据只能用一次。下次再想用这些数据时就得重新输入。而且在终端上输入时,若输入有误修改起来不是很方便。输出到终端屏幕上的信息只能看不能动。我们无法对此输出作更多处理,如将输出作为另一命令的输入进行进一步的处理等。重定向重定向即把命令,或可执行程序的标准输入(或输出)发送到指定的文件(或命令)。也就是说,输入可以不来自键盘,而来自一个指定的文件,或是某一命令产生的屏幕输出输出可以不来出现在屏幕,而添加到一个指定的文件。输入重定向•使用“<”来重定向输入源•大多数工具都会以其后的文件名为输入源•有一些过滤器一定需要添加<以明确输入源输入重定向输入重定向大多使用在文件流的引入中,由于大多数命令都以参数的形式在命令行上指定输入文件的文件名,所以输入重定向并不经常使用。尽管如此,当要使用一个不接受文件名作为输入参数的命令,而需要的输入内容又存在一个文件里时,就能用输入重定向解决问题。命令的使用格式command<file命令command的输入原从file文件得到。从当前文档输入•使用<<让系统将一次键盘的全部输入先送入虚拟的„当前文档然后一次性输入•需要一对字母、符号或字符串作为起始终结标识符•可以选择任意符号作为起始终结标识符从当前文档输入我们可以使用如下的方式实现一个简单的文本输入器:kevinzstationXXkevinz$cat>file<<!>Thisistest!>!kevinzstationXXkevinz$lessfileThisistest!输出重定向•使用>改变数据输出目标•范例:ls–l>listfile–将当前目录下的文件以长模式显示然后写入listfile文件•文件已有内容会被消除输出重定向输出重定向比输入重定向更常用,很多情况下都可以使用这种功能。例如,如果某个命令的输出很多,在屏幕上不能完全显示,那么将输出重定向到一个文件中,然后再用文本编辑器打开这个文件,就可以查看输出信息如果想保存一个命令的输出,也可以使用这种方法。还有,输出重定向可以用于把一个命令的输出当作另一个命令的输入。覆盖与追加•使用>进行输出重定向文件的原内容会被覆盖ls–l>listfile•使用>>可以将输出追加入文件ls–l>>listfile覆盖与追加为避免输出重定向中指定文件只能存放当前命令的输出重定向的内容,shell提供了输出重定向的一种追加手段。输出追加重定向与输出重定向的功能非常相似,区别仅在于输出追加重定向的功能是把命令,或可执行程序的输出结果追加到指定文件的最后,而该文件原有内容不被破坏。错误输出重定向•系统错误与标准输出使用的IO管道不同•默认情况下系统报错会显示到终端屏幕上•使用>将报错讯息重定向入一个文件findtypes>dev•使用>>将报错讯息追加入一个文件findnamepasswd>>results错误输出重定向系统错误与标准输出使用的IO管道不同,虽然他们都默认显示到屏幕上,但系统错误使用stderr通道而标准输出使用stdout通道。我们在这里提到了一个设备文件dev,它是我们常说的黑洞设备,无论你发送何种大小的文件它都忽略并删除。kevinzstationXXkevinz$findnamepasswd>>results>其中,就是指标准输出,双重输出重定向•使用>和>可以将一次操作的正确、错误输入被单独地送到不同的地方:findperm>error>results•使用>将所有输入都送向同一个地方:findperm>file管道•使用|将前一个过滤器的输出直接送入后一个过滤器的输入ls–l|greppass•允许多重管道•注意管道前过滤器的输出与管道后过滤器的输入数据类型匹配管道将一个程序或命令的输出作为另一个程序或命令的输入,有两种方法,一种是通过一个临时文件将两个命令或程序结合在一起,另一种是Linux所提供的管道功能。这种方法比前一种方法更好。管道可以把一系列命令连接起来,这意味着第一个命令的输出会作为第二个命令的输入通过管道传给第二个命令,第二个命令的输出又会作为第三个命令的输入,以此类推。显示在屏幕上的是管道行中最后一个命令的输出,如果命令行中未使用输出重定向。管道前过滤器的输出与管道后过滤器的输入数据类型需匹配,如果有不匹配的数据,后过滤器就会把不匹配的数据丢弃。例如,kevinzstationXXkevinz$lsl(屏幕回显是有颜色的kevinzstationXXkevinz$lsl|less(屏幕回显是没有颜色的)重定向、管道的常用范例•ls–l|more–分屏显示当前目录下的文件•cat<filea>fileb–拷贝filea到fileb•catfile*>file–将数个小文件合并成一个文件第五单元文件查找与文件管理任课讲师:可执行文件的搜索•which–显示一个可执行文件的完整路径–按照alias>$PATH的顺序查找•whereis–搜索一个可执行工具及其相关配置、帮助whichwhich用于显示查找可执行文件的完全路径,例如:kevinzstationXXkevinz$whichlsaliasls=„lscolor=tty„binlswhich首先查找系统中别名记录(alias),然后查找系统路径,$PATH)。一般我们不把当前目录‚加入系统路径,所以当前路径中的文件命令不在显示中。whereiswhereis用于显示查找文件的路径、该文件的帮助文件路径、该文件的相关原程序的路径,例如,kevinzstationXXkevinzwhereismkdirmkdir:binmkdirusrsharemanmanmkdirgzusrsharemanmanmkdirgzkevinzstationXXkevinz$whereisfstabfstab:etcfstabetcfstabREVOKEusrincludefstabshusrsharemanmanfstabgzusrsharemanmanfstabgzslocate•语法:–slocate关键字段–locate关键字段•所有文件名及其所在路径包含关键字段的文件与目录都会显示•slocate先将当前目录结构做成一个数据库然后再在此数据库中搜索匹配记录slocate首先locate是slocate的一个符号链接,我们可以这样查看,kevinzstationXXkevinz$lslusrbinlocatelrwxrwxrwxrootslocateJul:usrbinlocate>slocateslocate的数据库由守护进程,crond)在每天早上:自动更新,也就是说如果你现在对系统文件作的修改不会在slocate反映出来。当然我们可以使用updatedb指令来手动更新数据库,不过这是需要花费时间的工作。find•语法:find路径参数表达式•从指定路径下递归向下搜索文件•支持按照各种条件方式搜索•支持对搜索得到的文件进一步用指令操作findfind是我们最常用的文件查找工具,相比slocat而言它有纪实性的优点,语法如下:find路径参数表达式例如:kevinzstationXXkevinz$findusrsharedocnamefilename命令路径参数表达式find的常用find参数如下,user,根据文件拥有者寻找文件group,根据文件所属组寻找文件name,根据文件名寻找文件perm,根据文件权限寻找文件size,根据文件大小寻找文件type,根据文件类型寻找文件,参数对应c、b、l、f、dfind的表达式使用通配符时需要使用‚圈界。例如,kevinzstationXXkevinz$find–name“*html”操作找到的文件•语法:find路径参数表达式exec指令{}–{}代表find找到的文件–禁止转意–表示本行指令结束find操作找到的文件当使用exec指令时,{}必须一同添加例如,kevinzstationXXkevinz$find–execls{}当操作指令需要征询用户意见,可以添加ok需要回答‘是’例如,kevinzstationXXkevinz$find–okrm{}常用的文件操作指令•wc,统计文件的行、词、字数•grep,显示文件中匹配关键字的行•sort,按序重排文本并送显示wcwc用来统计一个文件的行数、词数、字数并送到标准输出。也可以用l,行数、w,词数、c,字数)来指定输出内容。grepgrep用来从一个文件中找出匹配指定关键字的那一行,并送到标准输出。结合管道,我们通常用它来过滤搜索结果,例如,kevinzstationXXkevinz$lsa|grepbashbashhistorybashlogoutbashprofilebashrcgrep支持用扩展的正则表达式来进一步定义关键字,具体如下,替代任何一个单一字符*替代零个或任意个字符abc替代a、b或c^abc替代除了a、b、c以外的字符a*替代空、a、aa、aaa、乃至更多个aa,替代一个或零个单独的aa替代a、aa、aaa乃至更多个aa{n}替代重复了n次的a^a替代以a为首的行a$替代以a为尾的行sortsort用来按各种需要重新排列文本,一般运用在一个管道之后。例如,kevinzstationXXkevinz$lsa|grepbash|sortbashhistorybashlogoutbashprofilebashrckevinzstationXXkevinz$lsa|grepbash|sortrbashrcbashprofilebashlogoutbashhistory默认情况下sort按照字母顺序排列文本。n按照数字排序r反向排序u将重复的行去除常用的文件操作指令(二)•diff,报告文本差异内容•comp,报告文本差异位置•uniq,去除文件中重复的行•cut,显示文件中的某一列•paste,将文本按列拼接diffdiff用于比较两个文件之间的区别,并送到标准输出。输出时先报告两个文件的哪一行不同。<表示是前一个文件的内容,>表示后一个文件的内容。例如,kevinzstationXXkevinz$echo“begin”>filekevinzstationXXkevinz$echo“begin”>filekevinzstationXXkevinz$difffilefilec<begin>begincompcomp同样可以用于比较文件,但comp只报告两个文件什么地方不同,并不显示差异。uniquniq用于去除文本中重复的行。u参数可以只显示那些没有被重复过的行。d显示有被重复过的行。cutcut可以根据一个指定的标记,默认是tab来为文本划分列,然后将此列显示,例如,rootstationXXroot$cut–f–d:etcshadow表示以:为分隔符显示etcshadow的第一列pastepaste将几份文集那按照列的方式拼接。默认情况下,新文件的列分隔符是tab,也可以用d参数指定。压缩•gzipgunzip–Linux标准压缩工具–对文本文件可以达到的压缩率•compressuncompress–旧的Unix压缩工具•bzipbunzip–更新的Linux压缩工具–比gzip有着更高的压缩率Z系列指令•对于用gzip压缩的文件有一系列以z为开头的文件可以在不经解压的情况下直接操作文件–zcat:直接显示压缩文件的内容–zless:直接逐行显示压缩文件的内容–zdiff:直接报告压缩文件的差异内容–zcmp:直接报告压缩文件的差异处tar•用于在磁带机、软盘、ZIP设备上做备份。也可以备份在一个硬盘文件上。•主要参数:–c:将文件备份出来–v:将过程输出–x:从一个文件中解出备份•范例–备份:tarcvfbackuptar*txt–解开:tarxvfbackuptar–Cbackuptartar支持在备份同时压缩备份文件,或在解出备份同时解压缩。kevinzstationXXkevinz$tarxjvftesttarbz(j,使用bzip)kevinzstationXXkevinz$tarxzvftesttargz,z,使用gzipkevinzstationXXkevinz$tarxZvftesttarZ(Z,使用compress)dumprestore•备份与还原ext文件系统–不可以在其他文件系统上使用•可以选择进行完全备份或增量备份•范例:–dump–u–fvartmphdadumpdevhda–restore–rfvartmphdadum

类似资料

该用户的其他资料

[工作总结]党建通讯2.doc

数码相机的 象素 和光学变焦倍数、数字变焦倍数是什么意.doc

中考物理分类汇编 电磁波1.doc

盛田昭夫简介.doc

初一学生会竞选演讲稿2分钟.doc

职业精品

精彩专题

用户评论

0/200
    暂无评论
上传我的资料

精选资料

热门资料排行换一换

  • 34.韦伯政治着作选.pdf

  • 中国历代医论选讲.pdf

  • 29.休谟政治论文集.pdf

  • 中国历代名医医话大观 (上、下册…

  • [销售圣经].(美).杰弗里·吉…

  • [销售的革命].(美)雷克汉姆.…

  • [全脑销售].(英)托尼·博赞.…

  • [业务员工具书].历练.扫描版.…

  • 微机9-模数.ppt

  • 资料评价:

    / 56
    所需积分:0 立即下载

    意见
    反馈

    返回
    顶部