Linux操作基础

上传人:biao****biao 文档编号:243153937 上传时间:2024-09-17 格式:PPT 页数:206 大小:1.10MB
返回 下载 相关 举报
Linux操作基础_第1页
第1页 / 共206页
Linux操作基础_第2页
第2页 / 共206页
Linux操作基础_第3页
第3页 / 共206页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,第,2,章,Linux,操作基础,第,2,章,Linux,操作基础,2.1 Linux,基本操作,2.2 Linux,命令,2.3 Linux,文件操作,2.4,输入,/,输出重定向,习题,2.1 Linux,基本操作,在使用,Linux,系统前,首先需要了解和掌握一些基本的操作,包括如何登录和退出系统、如何修改口令以及关闭和重启系统。,2.1.1,登录,Linux,系统是一个多用户操作系统,系统的每个合法用户都拥有一个用户账号,包括用户名和口令等信息。任何用户在使用,Linux,系统前必须先登录系统。登录,(login),过程就是系统对用户进行认证和授权的过程。登录时,用户须提供用户名和口令。如果输入有误则不能进入系统。每个,Linux,系统都有一个特殊的用户,称为超级用户。超级用户的用户名是,root,。,root,具有对系统的完全控制权限,非必要时应避免使用,root,登录。,1.,终端与控制台,终端,(terminal),是指用户用来与系统交互的设备,包括显示器、键盘和鼠标。每个用户都需要通过一个终端来使用系统。根据显示模式的不同,终端分为字符终端和图形终端。字符终端只能显示字符界面,接收键盘输入的命令;图形终端可以支持图形界面显示和鼠标操作。根据连接方式的不同,终端又可分为本地终端和远程终端。本地终端是直接与系统相连的终端,也称为控制台,(console),,是供系统本地用户使用的终端;远程终端指用户通过网络或其他通信方式远程地使用系统时所用的终端,可能是专门的终端机,更多的是,PC,机终端。,通常一个系统只有一个物理控制台,但,Linux,系统用软件模拟的方式提供了多至,12,个虚拟控制台,包括,6,个字符终端和,6,个图形终端。虚拟控制台之间可以通过组合键,Ctrl+Alt+Fn,来切换,其中,F1,F6,对应,6,字符终端,,F7,F12,对应,6,个图形终端。系统默认启动,6,个字符控制台,(,对应的切换功能键为,F1,F6),和,1,个图形控制台,(,对应的切换功能键为,F7),。用户可以根据需要启动其他的控制台。,2.,登录方式,Linux,系统的登录方式可分为控制台登录和远程登录。,1),控制台登录系统启动后,会在每个启动了的控制台上显示登录界面。,Linux,允许同一用户在不同的控制台上以相同身份或不同身份多次登录,同时进行几项工作。各个控制台上的交互过程是相互独立的。例如,一个系统管理员拥有,root,账号和一个普通用户的账号。他可以在一个控制台上以普通用户身份登录进行一些日常工作,在另一个控制台上以,root,身份登录进行需要特权的系统管理工作。再如,程序员在一个控制台上调试程序,遇到程序因错误而不响应时,可以用同一身份从另一个控制台上登录,终止瘫痪的程序。,在字符控制台上登录的方法是:将显示屏切换到一个字符控制台,就会看到系统登录提示符。在“,login:”,提示符后输入用户名,在“,password:”,提示符后输入口令。注意:,Linux,系统严格区分大小写,无论是用户名、口令、文件名等都是如此。登录成功后,系统显示,Shell,命令提示符,表示用户可以输入命令了。登录过程如下所示:,login:,root,Password: (,输入口令,不显示,),Last login: Sat May 12 15:50:56 on :0,You have mail.,$ _,注:本书约定,所有示例中,粗体为用户输入的内容,非粗体为系统的输出,括号“,( )”,内为说明信息。通常,系统启动后会默认地将显示屏切换到第,7,个控制台,并在其上启动一个图形登录界面。在图形控制台登录的方法是:在相应的输入框里输入用户名和口令并按回车键,系统验证通过后即进入图形桌面环境。,2),远程登录远程用户可以从远程终端登录到,Linux,系统上。远程登录的用户可以在自己所在的终端上像本地用户一样与系统交互,发布命令、运行程序并得到显示结果。允许远程登录标志着,Linux,是一个真正意义上的多用户操作系统。系统可以同时为多个远程的和本地的用户服务,对登录用户数也没有限制。从,PC,机上远程登录,Linux,系统的方法是:使用,Windows,的,putty,或其他虚拟终端软件,通过网络、拨号或串口方式与,Linux,系统建立通,ssh,信连接,连通后即可看到,Linux,系统的登录提示符“,login”,。,2.1.2,修改口令,用户在初次使用系统时,一般是用超级用户为其设置的初始口令登录。登录后应及时修改口令。此后,为安全起见,用户还应定期修改登录口令。口令应具有一定的长度和复杂度,使其不易被破解。口令还应便于记忆,若忘记口令只能找超级用户重新设置。在桌面环境下,可以在系统菜单中找到修改口令的界面,控制台环境下:,$,passwd,Change password for user cherry.,(current) UNIX password: (,输入原来的口令,无显示,),New password: (,输入新的口令,无显示,),Retype new password: (,重复输入新的口令,无显示,),passwd,: all authentication tokens updated successfully.,$ _,2.1.3,退出,退出,(logout),就是终止用户与系统的当前交互过程。操作完成后及时退出系统是一个良好的习惯,即使是暂时离开也应如此。在桌面上可以找到退出系统的按钮或菜单项。在字符控制台界面,用,exit,命令或在命令提示符后按,Ctrl+d,键即可退出系统。,(,注意:可能需要多次使用,exit,命令或,Ctrl+d,键直至退出系统。,),退出后,系统回到登录界面,用户可以重新登录系统。,2.1.4,系统的关闭与重启,当系统需要关机时,必须使用关机命令来关闭系统,不能直接关闭电源。另外,当修改了系统的某一配置,或者安装了新的软件,有时需要重新启动系统使修改生效。在多用户系统中,关闭和重启系统会影响到所有已登录的用户,因而执行此操作需要有,root,权限。不过,为方便个人应用,,Linux,系统默认设置为允许登录图形桌面的普通用户关闭和重启系统。在桌面环境下关机或重启很简单,只要点击相应的按钮即可。此外,在控制台上按,Ctrl+Alt+Del,键也可以重启系统。,在字符命令界面要使用命令关闭或重启系统。常用的关机命令是:,#,shutdown now,常用的重启命令是:,#,reboot,在关机命令的执行过程中,系统屏幕上会显示出关机操作的输出信息。要等到关机过程完成后方可切断电源。,2.2 Linux,命令,Linux,系统为用户提供了一套完备的命令,使用这些命令可以有效地完成各种工作。,Linux,的命令由,Shell,程序解释执行,所以也常称其为,Shell,命令。在使用,Linux,命令前首先要启动,Shell,程序。启动,Shell,的方式有多种,通常的方式是:, 在字符终端登录,登录成功后,Shell,将自动启动;, 登录到图形桌面上,在菜单中可以找到一个“终端”工具,(,对于,Fedora,系统的桌面,它的位置是:,应用程序,系统工具,终端,),。“终端”是一个软件仿真的虚拟终端,用于提供一个在图形环境下运行的字符命令行界面。打开“终端”窗口,,Shell,也随之启动。,Shell,启动完成后,显示命令提示符,提示用户可以输入命令了。对于普通用户,系统的默认提示符是“,$”,;对于,root,用户,系统的默认提示符是“,#”,。,2.2.1,命令的格式,一条,Shell,命令是由一到多个项组成的命令行,命令各项之间用空格分隔。命令的一般格式如下:命令名,选项,1 ,选项,2,参数,1 ,参数,2,其中,命令名是命令的名称,表示要执行的操作,通常为小写。选项是对命令的特别定义,指出怎么执行这个操作,一般以“,-”,开始。参数则是要操作的对象或操作数据。方括号括起的部分表明该项是可选的。例如:命令行,rm,-i,abc,中,,rm,是命令名,表示删除文件操作;,-i,是命令选项,表示删除前要提示用户确认;,abc,是命令参数,表示要删除的文件的名称。另外,当一个命令带多个选项时,可以只用一个“,-”,连起来,如,rm,-i -v,abc,可以写成,rm,-iv,abc,。,2.2.2,命令的输入与修改,Shell,命令是通过终端键盘输入的。输入命令时可以使用一些编辑键来修改输入错误,控制命令的执行。表,2-1,所示是常用的,Shell,命令行编辑键。,Shell,的命令有时会很长,熟练地使用按键可以大大减化命令的输入。例如,当要输入的命令名或文件名较长时,只要输入前几个字符,再按一下,Tab,键,系统便会在可能的命令或文件名中找到相匹配的项,自动补齐其余部分。利用上下箭头键“”和“”可以翻找出前面曾经执行过的命令,避免重复的命令输入。,2.2.3,命令的执行,命令输入完成后,就可按,Enter,键提交给,Shell,运行。运行结果通常显示在屏幕上。运行完毕后,,Shell,重新显示命令提示符,准备接收下一条命令。在命令的执行过程中,如果输出的信息太多太快,可以按,Ctrl+s,键暂停滚屏。之后按下任意键即恢复滚屏。用户还可以按,Ctrl+c,键终止命令的运行。表,2-2,所示为常用的,Shell,命令运行控制键。,2.2.4,命令的分类,按照实现方式的不同,,Shell,命令分为内部命令和外部命令两种。内部命令全部由,Shell,程序自身提供,外部命令由一个个单独的程序实现。内部命令通常对应的是比较简单、使用频繁的功能,而外部命令则往往完成比较复杂或耗时的功能。按照命令的功能分类,,Shell,命令可以大致分为以下几类:, 文件、目录操作;, 文本编辑与处理;, 备份与压缩;, 系统监控与管理;, 网络通信;, 其他。,其中,文件、目录操作和文本编辑是每一个,Linux,用户都要掌握的基本操作。本章将重点介绍常用的文件和目录操作命令,在第,3,章中介绍文本编辑器的使用,其余命令将在后续章节中陆续介绍。,2.2.5,简单命令,以下介绍几个简单而又常用的命令。,who,命令,【,功能,】,显示已登录的用户。,【,格式,】who ,选项, am i,【,选项,】,-H,显示各列的标题。,-q,显示登录的用户名和用户数。,【,参数,】,带有参数,am i,时,显示自己的登录信息。,【,说明,】,显示内容分为,4,列:用户名、登录的终端名、登录时间和备注。有,-q,选项时,只输出用户名和用户数。,例,2.1,who,命令用法示例:,$,who,root tty1May 25 11:39,zhao,tty2May 25 09:12,cherry :0May 25 08:45,cherry pts/0May 25 08:45 (:0.0),$,who -q,root,zhao,cherry,cherry,# users=4,$,who am i,cherry pts/0May 25 08:45 (:0.0),$,echo,命令,【,功能,】,显示命令行中的参数字符串。,【,格式,】echo ,选项, ,字符串,【,选项,】,-n,输出字符串后光标不换行。,【,说明,】,如果字符串中含有空格符,用引号将字符串括起来,,echo,将按原样输出这个字符串,否则空格将被看做是多个字符串间的分隔符,,echo,依次输出这些字符串,中间用一个空格隔开。,例,2.2 echo,命令用法示例:,$,echo Hello!,Hello!,$,echo -n Hello!,Hello! $,echo,$,echo Hello world!,Hello world!,$,echo “Hello world!”,Hello world!,$,第,2,个,echo,命令输出字符串后没有换行,使后面的,Shell,提示符显示在它的输出后面了。第,3,个,echo,命令没有参数,它显示了一个空行。第,4,个,echo,命令带了,2,个字符串参数,尽管这两个字符串中间有多个空格分隔,但它们只被看做是参数分隔符而不是字符串的组成部分。,echo,依次输出了这两个字符串,中间用一个空格分隔。第,5,个,echo,命令带了,1,个字符串参数,它原样输出了这个字符串。,date,命令,【,功能,】,显示、设置系统日期和时间。,【,格式,】date ,选项, +,格式,【,选项,】,-s,设置时间和日期。,-u,使用格林威治时间。,【,参数,】,格式是由格式控制字符和其他字符构成的字符串,用于控制输出的格式。当格式字符串中有空格时,要用引号或“”将格式字符串括起来。常用的格式控制字符如下:,%r,用,hh:mm:ss,A,M,/PM(,时,:,分,:,秒 上,午,/,下午,),的形式显示,12,小时制时间。,%T,用,hh:mm:ss,(,时,:,分,:,秒,),的形式显示,24,小时制时间。,%a,显示星期的缩写,如,Sun,。,%A,显示星期的全称,如,Sunday,。,%b,显示月份的缩写,如,Jan,。,%B,显示月份的全称,如,January,。,%m,用,2,位数字显示月份,如,02,。,%d,用,2,位数字显示日期,如,27,。,%D,用,mm/,dd/yy,(,月,/,日,/,年,),的形式显示日期,如,0,2/,27,/08,。,%y,用,2,位数显示年份,如,08,。,%Y,用,4,位数显示年份,如,2008,。,【,说明,】,不带选项和格式参数时显示当前日期与本地当前时间。显示格式是:星期 月 日 时间 时区 年,例,2.3,date,命令用法示例:,$,date,Mon May 26 20:04:34 CST 2008,$,date +Today is %D, now is %r,Today is 05/26/08, now is 08:14:36 PM,$,date +%B %d, %Y,May 26, 2008,$,第,1,个,date,命令使用了缺省的显示格式。第,2,个,date,命令用了指定的显示格式。,cal,命令,【,功能,】,显示月份和日历。,【,格式,】cal ,月份,年份,【,参数,】,月份是,1,12,的数字,年份是,1,9999,的数字。,【,说明,】,若带有一个参数,则该参数被解释为年份;若带有两个参数,则第,1,个参数表示月份,第,2,个参数表示年份。不带参数时,显示当年当月的日历。,例,2.4,cal,命令用法示例:,$,cal,#,显示当年当月的日历,July 2008,Su Mo,Tu,We,Th,Fr Sa,1,2,3 4 5,6 7 8 9 10 11 12,13 14 15 16 17 18 19,20 21 22 23 24 25 26,27 28 29 30 31,$,cal 2 2008,#,显示,2008,年,2,月的日历,February 2008,Su Mo,Tu,We,Th,Fr Sa 1,2,3 4,5 6 7 8 9,10 11 12 13 14 15 16,17 18 19 20 21 22 23,24 25 26 27 28 29,$,2.2.6,联机帮助,Linux,命令多达数千个,其中常用的和比较常用的命令也有几百个,每个命令还有许多选项。不过,用户通常只需掌握几十个常用命令及其常用选项,其他的命令及详细用法可以在必要的时候通过命令的联机帮助查看。获得联机帮助的方式有以下几种。,1. -help,选项,许多,Linux,命令都提供了一个,-help,选项,执行带有,-help,选项的命令将显示该命令的帮助信息。例如:,date -help,将显示,date,命令的帮助信息。,2. man,命令,Linux,系统配有一个联机手册,每条,Linux,命令都对应有相关的手册页。手册页是对命令的最详细、最权威的解释,因此是学习和使用,Linux,命令的必不可少的工具。每个命令的手册页主要包括以下几部分内容:,NAME,命令的名称和功能。,SYNOPSIS,命令的语法格式,所有可用的选项及参数。,DESCRIPTION,命令的详细用法及每个选项的功能。,OPTIONS,对命令的每个选项的详细说明。,查看联机手册页的命令是,man(manual,),命令。,man,命令,【,功能,】,显示联机手册页。,【,格式,】man,命令名,【,说明,】,在浏览手册页时,用以下按键翻页、查找和退出:,PageUp,、,b,向上翻一页。,PageDown,、,Space,向下翻一页。,向上滚一行。,、,Enter,向下滚一行。,/,string,在手册页中查找字符串,string,。,n,查找下一个字符串。,q,退出。,3. info,命令,除了联机手册外,,Linux,系统还提供了大多数命令的超文本形式的联机文档,可用,info,命令浏览。,info,命令与,man,命令的用法类似,但浏览起来更方便。,2.3 Linux,文件操作,文件系统是,Linux,系统的基本组成部分。,Linux,系统运行所依赖的各种程序和数据都以文件形式存储在磁盘上的文件系统中。文件系统统一存储和管理所有的文件,用文件名来标识各个文件。用户通过文件名来访问和使用文件系统中的文件。文件系统中的所有文件通过目录的形式组织和存放。目录是一种特殊的文件,其内容是该目录下的一组文件,(,包括子目录,),的信息。目录将所有的文件分层分枝地组织在一起,形成文件系统的树型结构。,用户使用,Linux,系统的最基本的操作就是对文件和目录的操作。与,Windows,系统相同,,Linux,系统提供了在图形窗口界面操作文件的便利手段。不过,在,Linux,系统中,最基本和最有效的操作文件的方法是使用命令。因此,用户应该熟练掌握用命令方式操作文件的方法。,分区,Unix,当中最高级的目录是根目录“,/”,;,windows,安装可以分成一个硬盘,但是,Linux,最少需要两个分区,一个是“,/”,根分区,一个是,Swap,分区,,Swap,分区的用途就是作为系统的交换分区,可以看作是虚拟内存的分区,类似,windows,当中的,pagefiles.sys,。,文件类型,普通文件,目录文件,Linux,把目录也看成文件,这是和,DOS/Windows,不太相同的地方,链接文件,有软链接和硬链接之分,链接的好处是不占用过多的磁盘空间,设备文件,Linux,把系统的设备也当作文件,所有的设备文件都放在,/dev,目录下,设备文件可以分为字符设备和块设备,文件类别:“,-”,表示普通文件,“,d”,表示目录,“,l”,表示符号链接,“,c”,表示字符设备,“,b”,表示块设备,2.3.1 Linux,系统的文件,1.,文件的命名,Linux,文件名的最大长度是,255,个字符,通常由字母、数字、“,.”,、“,_”,和“”字符组成。以“,.”,开头的文件名是隐含文件,(,在通常的文件列表时不显示,),。例如:,myfile,、,readme.txt,、,list_12,、,backup07-12-04,都是常规的文件名,而,.profile,就是一个隐含文件的文件名。文件名中不能含有斜杠字符“,/”,和空字符“,0”,,因为它们对,Linux,内核具有特殊含义,如“,/”,表示根目录或路径分隔符。文件名中也不应含有空格符、制表符、控制符以及以下字符,因为它们对,Shell,具有特殊含义:,; | “ $ ! % & * ? ( ) ,与,Windows,系统的文件名不同,,Linux,的文件名是区分大小写的,即字母相同,大小写不同的文件名被认为是不同的文件。例如:,Readme,与,readme,是不同的文件。,2.,文件名通配符,1),模式与通配符当一个命令需要对多个文件进行操作时,逐个写出每个文件名是件很麻烦的事。在这种情况下,使用模式可以简化对文件名的描述。模式的概念我们并不陌生,它是对一类事物的一种概括性描述。例如,在公布中奖号码时,通常用诸如“,XXX558”,形式的号码来代表所有后,3,位是,558,的号码,这就是一个数字模式,它代表了所有与之相匹配的号码。同样,当我们需要指定具有某种特征的多个文件名时,可以用一个表示文件名的字符串模式来描述。字符串模式由普通字符和一些具有特殊含义的字符组成,这些特殊字符称为通配符,(wildcard),。通配符不代表某个具体的字符,而是代表多种选择,就像中奖号码模式中“,X”,的作用一样。这样,用一个模式来表示多个文件名,就不必在命令的参数中写出每个文件的名字了。,2),基本的通配符与匹配规则以下是在构造模式时常用的基本通配符:,(1),问号“?”:匹配任意的单个字符。如模式“,abc,?”,匹配所有以,abc,开始,后面是,2,个任意字符的字符串。,(2),星号“*”:匹配,0,或多个任意字符,(,隐含文件的前缀“,.”,字符除外,),。如模式“,abc,*”,匹配所有以,abc,开始的字符串。模式“*,abc,”,匹配所有以,abc,结尾的字符串,但不匹配“,.,abc,”,。,(3),方括号“,”,:匹配方括号中列出的字符集合中的任何单个字符。方括号与问号相似,只匹配单个字符。不同的是,问号与任何一个字符匹配,而方括号只与括号内字符集合中的一个相匹配。字符集合的描述方法有以下几种:, 列举:逐个列出各个字符,如,abc,表示由,a,、,b,、,c,三个字符构成的字符集合。 范围:用“,-”,描述字符范围,如,a-z,表示由所有小写字母构成的集合。注意,范围内的字符按升序排列,因而,z-a,是无效的。可以指定多个范围,如,A-,Za-z,表示所有英文字母。 排除:用“!”排除字符,如,!A-Z,表示除大写字母之外的所有字符构成的字符集合。例如,模式“,abc123”,匹配所有以,abc,开始,后面是,1,、,2,或,3,的字符串;模式“,abc0-9”,匹配所有以,abc,开始,后面是一个数字的字符串;模式“,abc!0-9”,匹配所有以,abc,开始,后面是一个非数字字符的字符串。,例,2.5,设现有的字符串是,12,个月份的英文单词,它们与以下模式匹配的结果是:模式“,Ju,?”,匹配以,Ju,开头,后接两个字符的字符 串,即,June,和,July,。模式“,?”,匹配长度为,3,的字符串,即,May,。模式“*,ber,”,匹配以,ber,结尾的字符串,即,September,、,October,、,November,和,December,。模式“,?,ce,*”,匹配第,2,个字符是,c,或,e,的字符串,即,February,、,September,、,October,和,December,。,1),命令参数的模式置换当命令的参数中出现通配符时,,Shell,并不把该参数直接传递给命令,而是把它看做一个文件名模式字符串。,Shell,首先将现有的文件逐个与这个模式进行匹配比较,然后用所有匹配的文件名替换命令行中的模式字符串,最后再启动命令执行。因此,当命令执行时,它得到的实际参数是所有匹配的文件名的序列,(,可以是,0,n,多个文件名,中间用空格分隔,),。以,echo,命令为例,它的功能是显示参数字符串。当其参数字符串中有通配符时,它显示的不是参数字符串本身,而是与该模式字符串相匹配的所有文件名,如例,2.6,所示。,例,2.6,设现有的文件是,hoc,、,hoc.c,、,hoc.h,、,hoc.o,、,init.c,、,init.o,、,math.c,、,math.o,、,makefile,,则命令,echo *.c,的输出结果如下:,$,echo,*.c#,实际运行,echo,hoc.c,init.c,math.c,hoc.c,init.c,math.c,$,这个,echo,命令的输出不是参数字符串“*,.c”,,而是所有以,.c,结尾的文件名。这是因为当完成模式替换后,这个,echo,命令的实际运行参数是“,hoc.c,init.c,math.c,”,。,例,2.7,设当前的目录下存放了一部书稿的所有文件。书稿分为,12,章,每章分为若干节,每节对应一个文件,文件的命名规则为“,ch,章号,.,节号”,如,ch1.1,,,ch1.2,,,ch1.3,,,.,,,ch2.1,,,ch2.2,,,.,,,ch12.1,,,ch12.2,,,.,,则以下,echo,命令执行的结果分别是:,$ echo,ch,*,显示全书的所有文件名;,$ echo ch3.*,显示第,3,章的所有文件名;,$ echo,ch,?.*,显示,1,9,章的所有文件名;,$ echo,ch,?.*,显示,10,12,章的所有文件名;,$ echo ch146-8*,显示第,1,、,4,、,6,、,7,、,8,、,10,、,11,、,12,章的所有,文件名;,$ echo,ch,*.1,显示所有章的第,1,节的文件名。,3.,文件的类型,常规意义上的文件是那些用于保存数据的文件,如由,ASCII,字符构成的文本文件、由应用程序产生的数据文件,(,电子表格、数据库表格、图片、视频等,),以及由编译程序生成的可执行程序文件等。此外,,Linux,系统还定义了一些特殊类型的文件,它们在系统中具有特殊的用途。,Linux,系统支持以下文件类型,(,括号内是表示该类型的字符,),: 普通文件,(-),:普通意义上的文件,用于保存文本、数据或程序等信息。, 目录文件,(d),:一种特殊文件,用于构成文件系统的树型结构。 设备文件,(c,、,b),:,Linux,系统将设备看做是一种特殊文件,设备文件分为字符设备文件,(c),和块设备文件文件,(b),两类。 符号链接文件,(l),:一种特殊文件,它的内容是到另一个文件的链接,用于实现文件的共享。 管道文件,(p),:一种特殊文件,用于在进程间传递数据。,4.,文件的归属关系,Linux,是一个多用户的系统,每个用户都要在系统中存放自己的文件。为了管理的需要,系统要能够区分文件的归属关系。,Linux,系统中的每个文件都有两个描述其归属关系的属性,这就是属主,(owner),和属组,(group owner),。文件的属主就是文件的所有者,通常是建立文件的用户,用其用户名标识。例如:用户,zhao,建立的文件的属主就是,zhao,。为便于管理,,Linux,系统将用户划分为用户组。文件的属组就是文件属主所在的用户组,用组名标识。例如:用户,zhao,所在的用户组是,guest,,则他所建立的文件的属组就是,guest,。,5.,文件的访问权限,在多用户的系统,文件的保密和安全性至关重要。为防止文件被非法地使用或破坏,系统使用权限来限制用户对文件的访问。,1),文件的访问权限文件权限用于规定对于一个文件所能进行的操作。通常访问文件的操作分为读,(,显示浏览文件内容,),、写,(,修改文件的内容,),和执行,(,运行可执行文件,),。相应的,,Linux,对文件定义了几种访问权限,见表,2-3,。,当对一个文件执行一个未被授权的操作时,系统会拒绝执行,并显示“,Permission denied”,的消息。,2),文件的权限范围在,Linux,系统中,一个文件可能会被多个用户使用。如果不加区分地对所有用户设置相同的文件访问权限,则难以满足不同用户对此文件的不同需求和权利。因此,,Linux,系统采用了更加细致的权限分配方式,即允许对不同类型的用户赋予不同的文件访问权限。,Linux,系统将每个文件的用户分为属主,(user),、组用户,(group),和其他人,(other)3,类,权限范围的划分及字符表示法如表,2-4,所示。在为文件设置访问权限时可以针对不同的权限范围分别设置。注意:,root,用户不受访问权限的限制。,3),文件类型与权限表示法文件的类型与权限是文件的重要属性,通常采用字符表示法表示,即用,10,个字符的字符串表示文件的类型和权限,规则如图,2-1,所示。其中,第,1,个字符表示文件的类型,取值是,-,、,d,、,c,、,b,、,l,和,p,,分别代表普通文件、目录、字符设备、块设备,符号链接和管道。后,9,个字符表示文件的访问权限,以,3,位为一组,分别表示,u,、,g,和,o,的读、写和执行权限。若某权限范围的用户有某权限,则对应的位上有该权限字符,r,、,w,或,x,,没有该权限则用“,-”,表示。,图,21,文件类型与访问权限的表示,例如,某文件的类型和权限字符串是,drwxr-x,-,,表明这是一个目录文件,它的属主对应的,3,位字符是,rwx,,表示属主有读、写和执行权限;组用户对应的,3,位字符是,r-x,,表示组用户对该目录有读和执行权限,没有写权限;其他人对应的,3,位字符是,-,,表示他们对该目录没有任何权限。又如,某文件的类型和权限字符串是,-,rwx-x-x,,表明这是一个普通文件,它的属主有读、写和执行权限;组用户及其他人对该文件只有执行权限。文件的访问权限还有另一种表示方法,就是数字表示法。规则是:用数字,1,或,0,来表示权限字符,有相应权限的位为,1,,无权限的位为,0,,形成一个,9,位长的二进制数,用,3,位八进制数字来表示。例如:字符表示是,rwxr-x,-,,数字表示就是,750,;字符表示是,rwx-x-x,,数字表示就是,711,。,4),文件权限的作用文件权限限制了对文件的访问操作。正确地设置文件权限可以允许正常的访问操作,同时阻止不期望的访问。表,2-5,显示了访问权限对普通文件和目录文件的限制作用。,访问权限对普通文件的作用容易理解,需要注意的是权限对目录的限制作用。目录其实也是一个文件,只不过它的内容不是记录普通数据,而是其下的文件的列表数据。因此,显示目录中的文件列表就是对目录文件的读操作,改变目录下的文件列表,(,新建、删除、改名等,),就是对目录文件的写操作,进入目录或其下级子目录就是对目录文件的执行操作。因此,对文件的删除权由其所在的目录的,w,权限决定,(,当然还要有,x,权,),,而不是文件本身的,w,权限决定的。在这一点上,,Linux,系统是不同于,Windows,系统的。,另外,,Linux,系统规定非空目录不能删除。而空目录等同于文件,它的删除权取决于它的上一级目录的,w,权。下面的例,2.8,说明了目录的访问权限对删除文件的限制作用。,例,2.8,设有如下,3,个目录及其各自下属的,3,个文件,这些文件的删除权如下:,目录,1,:,drwxr-x-x,文件,1,:,-,rwxr-xr-x,目录的属主可删除,目录,2,:,drwxrwxrwx,文件,2,:,-,rwx,-,任何人可删除,目录,3,:,dr-x,-,文件,3,:,-,rwxr-xr-x,只有目录属主可看到,任何人不可删,目录,1,的权限为,rwxr-xr-x,,则目录的属主可以完全控制这个目录,其他人只能进入目录和显示文件列表,只有目录属主有权删除文件,1,。目录,2,的权限为,rwxrwxrwx,,即所有人可完全控制该目录。即使它下面的文件,2,的权限为,rwx,-,,阻止了除属主之外的人访问这个文件,但他们却可以删除它。他们还有权在此目录中建立新文件、删除目录下的任意文件,(,包括空目录,),和更改目录下的任意文件的文件名。所以在,Linux,中存放文件小心谨慎,不要把重要文件放在所有人可完全控制的目录里,即使这个文件的权限是,0,。,目录,3,的权限为,r-x,-,,则只有目录属主可以进入目录和看到目录中的文件列表,所有人,(,包括属主,),都不能在目录中建立、删除文件或改文件名。即使它下面的文件,3,赋予其他人读和执行的权限,他们因为无法进入和使用这个目录,也就无法读和执行这个文件。这是用于保管重要文件的高安全度限制。,6.,新建文件的默认权限,当新建一个文件或目录时,系统会为其设置最初的权限。文件的初始权限由文件创建掩码,(creation mask),决定。掩码是一个,9,位二进制数字,通常用八进制数字表示,如,022,。掩码中的位与权限字符串相对应,掩码中为,1,的位限制对应的权限位的权限。例如:掩码,022,表示组用户和其他人没有,w,权限,对其他权限不做限制。文件创建时的默认权限有以下几种情况:,1),可执行文件通过编译程序生成的可执行文件,它的默认权限是,777-,掩码。例如:若掩码为,022,,则新文件的权限就是,755,。,2),非可执行文件对于非可执行文件,(,如文本文件、数据文件等,),,在创建时默认是没有,x,权限的,对这类文件的,x,权限需要显式地赋予,即通过,chmod,命令将其改为可执行文件。因此新建文件的权限是,(777-,掩码,)& 666,。这里的,&,是“按位与”运算,即先用,777-,掩码求出权限,再滤掉所有,x,位。例如:若掩码为,022,,则新文件的权限就是,(777-022)& 666 = 644,;若掩码为,003,,则新文件的权限就是,(777-003)& 666 = 664,。,3),目录同可执行文件一样,新建目录的默认权限是,777-,掩码。若掩码为,022,,则新目录的权限就是,755,。用户登录时,系统自动地为其设置了掩码,通常是,022,。用户可以用命令修改掩码,从而改变新建文件的默认权限,使之具有合适的安全性限制。,7.,文件的其他属性,除了文件名、文件类型、归属关系和存取权限外,文件还有其他一些属性,包括:,(1),文件的时间标签,用于记录文件的时间属性,分为: 修改时间,(modify time),:文件内容被修改的最后时间。 访问时间,(access time),:文件最近一次被访问的时间。 变更时间,(change time),:文件属性变更的最近时间。,(2),文件的大小,即文件所占用的字节数。,(3),文件的链接数,即此文件硬链接的数目。,2.3.2 Linux,系统的目录,计算机系统中存有大量的文件,为了有效地组织和管理这些文件,系统将文件分门别类地纳入目录中保存。目录好比是一个文件夹,用来容纳文件。目录中也可以包含子目录,形成层层嵌套的树型结构。在,Linux,系统中,目录是一种特殊的文件,其内容是目录中所包含的文件和子目录的列表。在访问一个文件时,需要先找到它所在的目录,再通过目录中记录的文件信息找到文件。,1.,目录结构,Linux,的文件系统采用了树形目录结构,如图,2-2,所示。文件系统的根目录称为,root,目录。根目录下建有多个子目录,每个子目录下可以存放文件或下一级子目录,这样延伸下去,形成一个分层分枝的树形结构。,root,为树的“根”节点,目录是树中的“分枝”节点,(,图中用矩形表示,),,而文件则是树中的“叶子”节点,(,图中用椭圆表示,),。系统安装完成后,文件系统的初始目录结构已经建立起来。用户也可以按需要创建自己的目录,实现有组织地、分层分类地存放文件。,磁盘的分区,设备,分区的命名,软盘,/dev/fd0,第一个,IDE,硬盘(整个硬盘),/dev/,hda,第一个,IDE,硬盘的第一个分区,/dev/hda1,第一个,IDE,硬盘的第二个分区,/dev/hda2,第二个,IDE,硬盘(整个硬盘),/dev/,hdb,第二个,IDE,硬盘的第一个分区,/dev/hdb1,第二个,IDE,硬盘的第二个分区,/dev/hdb2,第一个,SCSI,硬盘(整个硬盘),/dev/,sda,第一个,SCSI,硬盘的第一个分区,/dev/sda1,第一个,SCSI,硬盘的第二个分区,/dev/sda2,第二个,SCSI,硬盘(整个硬盘),/dev/,sdb,第二个,SCSI,硬盘的第一个分区,/dev/sdb1,第二个,SCSI,硬盘的第二个分区,/dev/sdb2,Linux,下常见设备,设备,命名,第一软驱(,A:,),/dev/fd0,第二软驱,(B:),/dev/fd1,IDE1,的第一个硬盘,(master),/dev/,hda,IDE1,的第二个硬盘,(slave),/dev/,hdb,IDE2,的第一个硬盘,(master),/dev/,hdc,SCSI,的第一个硬盘,/dev/,sda,SCSI,的第二个硬盘,/dev/,sdb,光驱,cd-rom,/dev/,cdrom,打印机,/dev/lp0,使用设备的命令,软盘,Mount /dev/fd0 /,mnt,/floppy(,加载软驱,),Umount,/,mnt,/floppy(,卸载软驱,),硬盘,Mount t,vfat,/dev/hda1 /,mnt,/windows,Umount,/,mnt,/floppy,CD-ROM,Mount /dev/,cdrom,/,mnt/cdrom,Umount,/,mnt/cdrom,图,22 Linux,文件系统目录结构示意图,目录结构,在,linux,中,目录是一个层次(或树状结构),根是所有目录的起始点,根目录主要有以下子目录,/bin:,包含二进制文件,即可执行程序,这些程序是系统必需的文件,/,sbin,:,也用于存储二进制文件,只有超级用户,root,才可以使用,/etc:,存放配置文件,如,passwd,inittab,等,/boot:,系统引导时使用的文件,系统中非常重要的内核,vmlinux,就放在该目录下,/dev:,存放设备文件,用户可以通过这些文件访问外部设备,/lib:,存放程序运行时所需要的库文件,/temp:,存放各种临时文件,/,mnt,:,安装软盘,光盘,,u,盘的挂载点,/root,:,超级用户的个人主目录,/,usr,:,该目录的空间比较大,用于安装各种应用程序,/proc,:,是一个虚拟目录,存放当前内存的映像,由内核自动产生,/,var,:,存放一些会随时改变的文件,2.,根目录与当前目录根目录是一个特殊目录,用“,/”,表示。它是整个文件系统的唯一的根,系统中的所有文件都在它及其下属的子目录中。用户在系统中工作时,始终处在某个目录之中,此目录称作当前目录。用户可以通过改变当前目录来变换其在文件系统中的位置。当前目录用“,.”,表示。当前目录的父目录用“,.”,表示。每个目录,(,包括空目录,),中都至少有“,.”,和“,.”,这两个隐含文件。但根目录中的“,.”,和“,.”,都是指其自身。,3.,路径,路径是文件在目录树中所处的位置。在对文件进行操作时,除需指明文件名外,还须指明该文件的路径。路径的表达方法是将若干个目录名连结起来,中间用斜杠“,/”,分开。根据起点的不同,路经分为绝对路经和相对路经两种。绝对路径是从根目录沿目录树到文件所在目录的路径。绝对路径都是以“,/”,开头的,并且是唯一的。例如:,/home/,zherry,/project,。相对路径是从当前目录沿目录树到文件所在目录的路径。例如:若当前目录的绝对路径是,/home/cherry/project,,则,./book,是一个相对路径,它的绝对路径是,/home/cherry/book,。在访问当前目录附近的文件时,使用相对路径可以简化路径的描述,尤其是当目录的层次较深的情况下。,在,Linux,命令中,用“路径,/”+“,文件名”来唯一地指定一个文件。这里说的文件也包括目录文件。如:,/home/cherry/ memo,、,/home/,zhao,、,./cherry/project/hello,等。当使用相对路径时,可以在路径前加“,./”,前缀,也可以省略。例如:若当前目录是,cherry,,则,./book/doc1.c,与,book/doc1.c,都是指当前目录下,book,子目录下的,doc1.c,文件;若当前目录是,book,,则,./doc1.c,与,doc1.c,也都是指当前目录下的,doc1.c,文件。,4.,用户主目录,用户刚登录到系统中时所处的目录称为主目录,(home directory),,系统默认的用户主目录是,/home/,user-id,。其中,,user-id,是用户的登录名。例如:用户,cherry,的主目录是,/home/,cherry(root,例外,它的主目录是,/root),。主目录就是用户登录后的初始工作目录,用“,”,表示。用户对自己的主目录拥有全部权限,可以在其下任意组织自己的文件。,2.3.3,常用的目录操作命令,Linux,系统提供了一些专门针对目录进行操作的命令,常用的是建立、删除、查看和改变目录,如表,2-6,所示。此外,由于目录也是文件,所以许多文件操作命令,如复制、移动、删除、更改属性等,也适用于对目录进行操作。这些命令在,2.3.4,小节介绍。,1.,显示与改变当前目录,访问当前目录中的文件时是不需要加路径名的,因此,当需要集中对某个目录中的文件进行操作时,先进入这个目录,使其成为当前目录,就可大大简化命令的输入。要了解自己当前处在哪个目录下,可用,pwd(present,working directory),命令;要改变当前目录,可用,cd(change,directory),命令。,pwd,命令,【,功能,】,显示当前目录的绝对路径。,【,格式,】,pwd,例,2.9,pwd,命令用法示例:,$,pwd,/home/cherry,$,cd,命令,【,功能,】,改变当前目录为指定的目录。,【,格式,】,cd,目录,【,说明,】,不指定目录参数时,进入用户的主目录。,例,2.10,cd,命令用法示例:,$,cd /usr/bin,$,pwd,/usr/bin,$,cd,$,pwd,/home/cherry,$,cd,./project/hello,$,pwd,/home/cherry/project/hello,$,cd,././book,$,pwd,/home/cherry/book,$,2.,显示目录内容,显示目录内容就是列出目录中所包含的文件以及文件的各种相关信息,子目录也作为一个文件列出,用于显示目录中的文件列表的命令是,ls(list,),命令。通常在进行文件操作前,应先用,ls,命令了解现有文件的状况。,ls,命令,【,功能,】,显示指定文件或指定目录中的所有文件的信息。,【,格式,】,ls,选项, ,文件或目录, ,【,选项,】,-a,显示所有文件及目录,包括隐藏文件、“,.”,及“,.”,目录。,-R,递归显示下层子目录。,-F,显示文件类型描述符,(*,为可执行的普通文件,,/,为目录文件,,),。,-d,显示目录的信息而非其内容。,-u,显示文件的最近访问时间,与,-l,连用。,-c,显示文件的最近变更时间,与,-l,连用。,-t,按文件修改时间排序显示。,-l,按长格式显示文件详细信息。,【,说明,】,(1),参数为普通文件时,显示指定的文件的信息;参数是目录时,显示指定目录下的文件列表信息,(,除非有,-d,选项,),;未指定文件或目录时,显示当前目录中的文件列表信息。,(2),不带选项时,按字母顺序列出目录中所有非隐藏文件的文件名。,(3),长格式显示时,每个文件的信息占一行,格式如下:文件类型与权限 链接数 属主名 属组名 文件大小 最近修改时间 文件名,列出目录下的内容,ls,详细信息,-l,所有文件,-a,:显示所有文件,包括以,.,开头的文件(即隐含文件),-A,:不列出,.,和,.,蓝色表示目录,绿色表示可执行文件,红色表示压缩文件,浅蓝色表示链接文件,灰色表示其它文件,列出目录下的内容,Ls -l,文件类别:“,-”,表示普通文件,“,d”,表示目录,“,l”,表示符号链接,“,c”,表示字符设备,“,b”,表示块设备,文件权限,链接数,文件拥有者,文件所属组,文件大小,文件创建,/,修改时间,文件名,3.,创建与删除目录,为了分类保存文件,用户可以建立自己的目录。建立目录用,mkdir(make,directory),命令,删除目录用,rmdir(remove,directory),命令。,mkdir,命令,【,功能,】,建立目录。,【,格式,】,mkdir,选项,目录,【,选项,】,-m,权限按指定的权限建立目录。,-p,递归建立目录。即,若目录的父目录不存在,则一并建立其父目录。,【,说明,】,未指定目录权限时,默认权限为,777-,创建掩码。,例,2.12,mkdir,命令用法示例:,$,ls,book memo project,$,mkdir,-m 744 temp,#,建立,temp,目录,权限,744,$,ls,book memo project temp,$,ls,-ld temp,drwxr-r,-2 cherry faculty 4096 May 25 20:07 temp,$,mkdir,-p ./backup/version1,#,递归建立,./backup/version1,目录,$,ls,. backup,.:,backup book memo project temp,backup:,version1,$,第,2,个,mkdir,命令在当前目录下的,backup,目录下建立,version1,目录,此时,若,backup,目录已存在就直接建立,version1,目录,否则就先建立,backup,目录,然后再建立,version1,目录。最后的,ls,命令显示了当前目录的变化和,backup,目录的内容。,rmdir,命令,【,功能,】,删除目录。,【,格式,】,rmdir,选项,目录,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!