《命令与示例》PPT课件.ppt

上传人:牧羊曲112 文档编号:5481784 上传时间:2023-07-11 格式:PPT 页数:203 大小:448.50KB
返回 下载 相关 举报
《命令与示例》PPT课件.ppt_第1页
第1页 / 共203页
《命令与示例》PPT课件.ppt_第2页
第2页 / 共203页
《命令与示例》PPT课件.ppt_第3页
第3页 / 共203页
《命令与示例》PPT课件.ppt_第4页
第4页 / 共203页
《命令与示例》PPT课件.ppt_第5页
第5页 / 共203页
点击查看更多>>
资源描述

《《命令与示例》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《命令与示例》PPT课件.ppt(203页珍藏版)》请在三一办公上搜索。

1、1,第2章 命令与示例,2,为什么要学习命令?,命令对于熟练使用Linux/Unix系统而言是必不可少的;命令行应用的可扩展性、灵活性更好;打破了使用Windows时一个鼠标“一点到底”的简单与乏味,它提供给用户更大的灵活性与想象空间;命令已成为Linux/Unix的典型标志,也已成为Linux/Unix的魅力所在。,3,本章主要内容,2.1 常用命令与示例2.2 管道与重定向2.3 vi 编辑器使用简介2.4 正则表达式简介,系统目录简介Linux安装完毕后,在硬盘中会建立若干系统默认的目录:/bin:此目录放置操作系统所需使用的各种命令程序。/root:系统管理员专用的目录,亦即root帐

2、号的专属目录。/boot:系统启动时必须读取的文件,包括系统核心文件。/dev:保存着外围设备代号的文件。/etc:保存与系统设置、管理相关的文件。/tmp:供全部用户暂时放置文件的目录/home:此目录用来保存用户的专属目录。/lib:保存一些共享的函数库。/usr:此目录包括许多子目录,用来存放系统命令、程序等信息。/var:Linux操作系统执行时,需要暂时记录的部分数据或临时文件,都会放置在这个目录里。/mnt:默认有/mnt/cdrom和/mnt/floppy两个目录在这里,文件系统的结构树型结构:倒长的树树型目录结构:Linux系统以文件目录的方式来组织和管理系统中的所有文件。所谓

3、文件目录就是将所有文件的说明信息采用树型结构组织起来,即常说的目录。也就是说,整个文件系统有一个“根”(root),然后在根上分“杈”(directory),任何一个分杈上都可以再分杈,杈上也可以长出“叶子”。“根”和“杈”在Linux中被称为是“目录”或“文件夹”。而“叶子”则是一个个的文件。实践证明,此种结构的文件系统效率比较高。Linux系统通过目录将系统中所有的文件分级、分层组织在一起,形成了Linux文件系统的树型层次结构。以根目录为起点,所有其他的目录都由根目录派生而来。用户可以浏览整个系统,可以进入任何一个已授权进入的目录,访问那里的文件。Linux目录提供了管理文件的一个方便途

4、径。每个目录里面都包含文件。用户可以为特定的文件创建特定的目录,也可以把一个目录下的文件移动或复制到另一目录下,而且能移动整个目录,并且和系统中的其他用户共享目录和文件。根目录(系统目录)是Linux系统中的特殊目录。Linux是一个多用户系统,操作系统本身的程序存放在以根目录开始的专用目录中。目录:LINUX下的“目录”等同于WINDOWS的“文件夹”工作目录(也叫当前目录)用户在登录到Linux系统中之后,每时每刻都“处在”某个目录之中,此目录被称作工作目录或当前目录(Working Directory)。工作目录是可以随时改变的。用户初始登录到系统中时,其主目录(Home Directo

5、ry)就成为其工作目录。,用户主目录:是系统管理员增加用户时建立起来的(以后也可以改变),每个用户都有自己的主目录,不同用户的主目录一般互不相同。用户刚登录到系统中时,其工作目录便是该用户主目录,通常与用户的登录名相同。,路径 路径是指从树型目录中的某个目录层次到某个文件的一条道路。也就是描述一个文件或目录所处的位置,既是描述一个文件或目录在哪个目录中此路径的主要构成是目录名称,中间用“/”分开。某个文件在文件系统中的位置都是由相应的路径决定的。路径又分相对路径和绝对路径。绝对路径 是指从“根/”开始描述的路径,也称为完全路径;相对路径是从用户工作目录开始的路径。应该注意到,在树型目录结构中到

6、某一确定文件的绝对路径只有一条。绝对路径是确定不变的,/必须以“/”开头:/xxx/yyy/zzz/abc“/”在路径的最前头出现就表示是根目录,否则只是分隔符。相对路径 从当前目录开始描述,则随着用户工作目录的变化而不断变化。/不能以“/”开头:yyy/zzz/abc子目录、父目录是相对的概念根目录:“/”;一个LINUX系统有且只有 一个根目录。root,目录树:从根目录“/”开始并通过一系列的子目录向下扩展而成。当前目录(也叫工作目录):A 是系统默认处理的目录。涉及目录、文件操作时,若不明确指定目录、路径,系统就对当前目录或当前目录下的文件做操作。B 开机时,当前目录是登录用户的主目录

7、,用户主目录是系统管理员增加用户时建立起来的(以后也可以改变),每个用户都有自己的主目录,不同用户的主目录一般互不相同。用户刚登录到系统中时,其工作目录便是该用户主目录,通常与用户的登录名相同。例如:超级用户root登录后,当前目录是 root用户的主目录/root。C 同一个时刻有且只有一个目录可成为当前目录。D 可通过cd命令改变当前目录 E 每个目录下面都固定有两个目录:一个是.表示是该目录自身,常在命令参数中表示当前目录。另一个是.表示是该目录的父目录,常在命令参数中用来表示当前目录的父目录。./.当前目录的父目录的父目录。F 什么时候转换当前目录?当准备对某个目录或该目录下的文件或子

8、目录,连续做多次命令操作 时,应将当前目录转换到该目录,可提高工作效率。,9,2.1 常用命令与示例,说明:Linux 命令及其参数是严格区分大小写Linux文件名严格区分大小写,命令补齐(Command-Line Completion):是指当键入的字符足以确定唯一的文件或目录时,只须按 Tab 键就可以自动补齐该文件名或目录名的剩下部分,例如要把目录/freesoft 下的文件 gcc-2.8.1.tar.gz 解包,当键入到 tar xvfz/freesoft/g 时,如果此文件是该目录下唯一以 g开头的文件,这时就可以按下 Tab 键,这时命令会被自动补齐为:tar xvfz,11,2

9、.1.1 文件基本操作命令,1.ls命令 ls命令的功能是显示指定目录下的文件目录清单相当于dos下的dir命令,而且其参数更加丰富多样。,1 文件显示命令ls:lIsT显示指定工作目录中所包含的内容的指令是ls,要说明的是ls命令列出文件的名字,而不是文件的内容。该命令的使用方式如下:ls 选项 文件目录列表 ls命令中的常用选项如下:-a:显示所有文件及目录(ls规定将文件名或目录名中开头为“.”的视为隐藏档,一般不会列出,除非有-a参数选项)-c:按列输出,纵向排序-x:按列输出,横向排序-l:除文件名外,也将文件状态、权限、拥有者、文件大小等信息详细列出-t:根据文件建立时间的先后次序

10、列出-A:同-a,但不列出.(目前目录)及.(父目录)-X:按扩展名排序显示-R:递归显示下层子目录-help:显示帮助信息-version:显示版本信息ls drwxr-x-表示的含义是:d表示这条信息是目录-表示这条信息是个文件,ls 列出当前目录下的文件和子目录。ls-version ls-help|more ls color,14,(1)ls示例一不带参数 user1server1$lsabc host.conf php.ini功能:显示指定目录中的文件清单,如果没有指定任何目录,则默认为当前目录。,15,(2)ls示例二显示隐含文件 user1server1$ls-a.abc.bas

11、h_profile.emacs host.conf.viminfo.bash_logout.bashrc.gtkrc php.ini.zshrc参数-a的功能:显示隐含文件。说明:若文件名以“.”开头,则认为是隐含的,进而普通的ls命令不显示以“.”开头的文件;所以要完全显示某目录下的文件清单,必须加上-a参数才行。,16,(3)ls示例三长格式输出 user1server1$ls-ltotal 60drwxrwxr-x 2 user1 user1 4096 Aug 17 09:10 abc-rw-r-r-1 user1 user1 17 Aug 17 09:04 host.conf-rw-r

12、-r-1 user1 user1 38450 Aug 17 09:04 php.ini参数-l 的功能是:以长格式列表输出指定目录中的文件清单。,17,以上述输出中文件abc为例 解释长格式输出的内容如下:文件类型 文件权限 连接数 属主 属组 大小 最近修改日期时间 文件名 d rwxrwxr-x 2 user1 user1 4096 Aug 17 09:10 abc,18,Linux中的文件类型,-:表示普通文件。d:表示目录文件,在Linux中目录也是文件,不仅如此,实际上在Linux中任何设备也可以被当作文件处理。l:表示这是一个符号链接的文件,实际指向另一个文件,类似windows的

13、快捷方式b:表示块设备文件 如硬盘的设备文件/dev/hda,其中字母a表示第一块,h表示IDE类型的硬盘,SCSI类型的硬盘用s表示;分区也有相对应的设备文件,如/dev/sdb3,表示第2块SCSI硬盘上的第3个分区。需要说明的是优盘也采用SCSI硬盘的设备文件名来表示。,19,Linux中的文件类型(续),c:表示字符设备文件,如/dev/tty1。p:表示管道文件。s:表示套接字文件。,20,关于文件权限的说明,Linux文件有三种典型的权限,即r读权限、w写权限和x执行权限。在长格式输出中在文件类型的后面有9列权限位,实际上这是针对不同用户而设定的,如下所示。属主的权限 属组的权限

14、其他用户的权限rwx rwx r-x,文件及目录访问权限的设置 Linux系统上 的每个文件和进程都属于特定的用户账号(称为文件和进程的属主)。如果没有得到属主的许可,那么其他用户就不能访问这些文件和进程。三种不同的用户类型能够访问一个文件或目录:文件的所有者(owner,或称属主)、文件所属的用户组(group owner,或称属组)或系统中的其他用户。,一般权限 对普通文件而言:r权限(rEAD,读取):具有打开并读取文件的内容的权限;w权限(wRITE,写入):具有删除、新增、修改文件内容的权限;x权限(ExCUTE,执行):允许具有执行文件的权限;对目录而言:x权限(ExCUTE,执行

15、):允许用户具有进入或 通过该目录,但不一定允许列出它的内容。r权限(rEAD,读取)和 x权限(ExCUTE,执行)的结合才允许列出目录的内容。w权限(wRITE,写入)和 x权限(ExCUTE,执行)的结合 则允许在目录中创建、删除和重新命名文件。ls-l 可显示文件目录的权限设置,-rwx-rw-rw-r-xdrwx-x-x以上ls l 的显示结果的前十位中,第一位是文件目录的类型,“-”表示该项是个普通文件,“d”表示该项目是一个目录。其余九位是权限位,每3位为一组,第一组为所有者权限,第二组为属组权限,第三组为系统其他人权限。每组第一位为r位,第二位为w位,第三位为x位,有权限则标上

16、相应权限代码r、w、或x,没有权限则用“-”表示。,23,(4)ls示例四递归显示 user1server1$ls-R.:abc host.conf php.ini./abc:a1.txt a2.txt参数-R 的功能是:递归显示指定目录下的文件清单,即会显示指定目录分支内各子目录中的文件清单。,24,练习以下几种用法:ls-lals-Ra/ls-Ral/etc,通配符基础通配符又称多义符:主要用于方便描述一批名字具有相同特征的文件或目录,以便成批处理。?:表示该位置可以是一个任意的单个字符。*:表示该位置可以是若干个任意字符。方括号charset:可替代charset集中的任何单个字符,如c

17、ChH:表示在文件的该位置中可出现任意单个的c或h字符的大小写形式。通配符集还能描述介于字符对之间的所有字符。如“a-z”就可以代 替任意小写字母,而a-zA-Z则可替代任意字母。注意可替代的字符包括a到z和A到Z字符对之间的所有字符。rm a*out*tmp?该命令可以删除一系列临时性的输出文件,如、ab.out.temp1 等。如果需要显示nic-1.png,nic-2.png,nic-3.png,nic-4.png,nic-5.png,只须要在终端的命令提示符后输入:ls nic-1-5.png ls*.c ls/home/*/*.c ls n*.conf ls test?.dat ls

18、 abc*ls!abc*ls a-zA-z,26,2.pwd命令,示例:pwduser1server1$pwd/home/user1功能:显示当前目录。,27,3.mkdir命令,(1)mkdir示例一user1server1$mkdir abc功能:在当前目录下创建目录abc,28,(2)mkdir示例二创建多级目录 user1server1$mkdir-p a/b/cuser1server1$ls R aa:ba/b:ca/b/c:功能:参数-p功能是如果要创建的目录的父目录不存在,则先创建其父目录,再创建该目录;如果指定的目录存在,则不影响原目录,也不会报错。在本示例中会连续创建a目录、

19、a/b目录、a/b/c目录。,4.cd命令 改变当前目录 语法:cd name cHANGE dIRECTORY name:目录路径,例如:cd 改变当前目录位置至用户登录时的工作目录。cd dir1 改变当前目录位置至d i r 1目录下。cd mybin 改变当前目录位置至此刻当前目录下的mybin cd.改变当前目录位置至此刻当前目录的父目录。cd./user 改变当前目录位置至以相对路径描述的user 目录下。user是此刻当前目录的父目录下的另一个子目录。cd/./.改变当前目录位置至以绝对路径方式描述的目录位置下。cd/a/b/c cd-改变当前目录位置至以上一次的当前目录所在目录

20、,30,(1)cd示例一切换工作目录 user1server1$cd/varuser1server1 var$pwd/var功能:将当前的工作目录切换为/var,31,(2)cd示例二切换到当前用户的主目录 user1server1 var$cduser1server1$pwd/home/user1功能:不带参数的cd命令直接将当前的工作目录切换为该用户的主目录。主目录又称为家目录,在RHEL中是在创建用户时,自动在/home下为用户创建一个用其用户名同名的目录,并将该目录的所有权划归给该用户所有。注意:字符“”代表(当前)用户的主目录。,32,5.touch命令,(1)touch示例一创建空

21、文件 user1server1$touch myfileuser1server1$ls-l myfile-rw-rw-r-1 user1 user1 0 Aug 17 11:54 myfile功能:如果myfile不存在,则创建一个大小为0字节名为myfile的空文件。,33,(2)touch示例二改变文件的最后修改时间 再执行一次touch myfileuser1server1$touch myfileuser1server1$ls-l myfile-rw-rw-r-1 user1 user1 0 Aug 17 11:56 myfile功能:如果myfile已存在,则将改变myfile的最后

22、修改时间。,6.cp命令文件复制命令 cp:cOpY 相当于WINDOWS的复制+粘贴。Linux下的cp命令用于复制文件或目录,其命令格式如下:cp 选项 源文件或目录 目标文件或目录 参数说明如下:源文件:要拷贝的文件。目标文件:目标名。也可以是目录,这种情况下,源文件名作为目标文件名,而文件放在该目录下。源文件组:要拷贝文件的由空格分隔的列表。目标目录:目标目录。cp命令常用选项说明:-a在备份中保持尽可能多的源文件结构和属。-b作将要覆盖或删除文件的备份。-f删除已存在的目标文件。-i提示是否覆盖已存在的目标文件。-p保持原先文件的所有者,组权限和时间标志-r递归拷贝目录,把所有非目录

23、文件当普通文件拷贝,指将目录之下的文件及子目录一起复制-R递归拷贝目录。,cp file1 file2 将文件file1 复制成file2cp x.txt y.txt cp file1 dir1 将文件file1 复制到目录dir1下,文件名仍为file1。cp/bin/cpio mybincp/tmp/file1.将目录/tmp 下的文件file1 复制到当前目录下,文件名仍为file1。cp/bin/?sh.cp/usr/bin/yz*.cp/tmp/file1 file2 将目录/tmp 下的文件file1 复制到当前目录下,文件名为file2。cp/test/x.txt y.txtcp

24、-r dir1 dir2 复制整个目录。cp-r/etc/skel.,cp-r/test/xyzcp file1 file2 dir1将file1、file2一起复制到dir1 目录下:cp abc bc mydoc 覆盖(overwrite):删除同一个目录下的原来的同名文件,37,user1server1$cp/etc/php.*abc功能:将/etc/目录下以php.开头的文件 文件复制到目录abc中。说明:“*”是通配符,可以匹配多个字符;“?”只能匹配一个字符。,38,复制目录 user1server1$cp-/etc abc功能:增加了参数-,就能将目录/etc下面的所有子目录和文

25、件都复制到目录abc中。,7.mv命令 移动文件 mv:mOvE移动文件可使用mv命令。Mv命令还可改文件改名。该命令所使用语法形式有:mv-f-i 文件1 文件2mv-f-i 目录1 目录2mv-f-i 文件列表 目录命令中的参数说明如下:-f:通常情况下,目标文件存在但用户没有写权限时,mv会给出提示。本选项会使mv命令执行移动而不给出提示。-i:交互模式,当移动的目录已存在同名的目标文件名时,用覆盖方式写文件,但在写入之前给出提示。文件1:源文件名。文件2:目标文件名(新文件名)。目录1:源目录名。目录2:目标目录名(新目录名)。文件列表:用空格分隔的文件名列表。本选项用于文件保持它们的

26、 名字被移动到一个新目录。目录:目标目录。,40,mv示例将文件移动到目录中 user1server1$mv myfile mydir1功能:如果mydir1存在且是个目录,则将文件myfile移动到目录mydir1中。,41,mv示例文件改名 user1server1$mv myfile myfile2功能:将文件(或目录)myfile改名为myfile2。,42,8.rmdir命令,删除目录语法:rmdir 目录名 rEmOVE dirECTORY。user1server1$rmdir mydir1功能:删除指定的空目录,该空目录必须没有文件和目录存在,否则无法删除。,9.rm命令 文件的

27、删除命令rm:rEmOVErm命令可从文件系统中删除文件及整个目录。rm命令所使用的命令格式如下:rm 选项 文件列表参数说明如下:常用命令的选项列表如表2-6所示。文件列表:希望删除的用空格分隔的文件列表,可以包括目录名。rm命令常用选项-r删除文件列表中指定的目录,若不用此标志则不删除目录-I指定交互模式。在执行删除前提示确认。任何以Y开始的响应都表示肯定;其他则表示否定。-f指定强行删除模式。通常,在删除文件权限可满足时rm提示。本标志强迫删除,不用提示。-V在删除前回显文件名。-指明所有选项结束。用于删除一个文件名与某一选项相同的文件。例如:假定偶然建立了名为-f的文件,又打算删除它,

28、命令rm-f不起任何作用,因为-f被解释成标志而不是文件名;而命令rm-f能成功地删除文件。,44,(1)rm示例一删除文件 user1server1$rm php.ini功能:删除指定的文件 php.ini。,45,(2)rm示例二删除目录 user1server1$rm-rf abc功能:参数-r是递归的意思,即可以删除非空目录;参数-f是强制的意思。本例中abc为非空目录,读者可以尝试是否可用rmdir直接删除。,46,10.cat命令,(1)cat示例一显示文件内容 user1server1$cat myfilehello,world功能:显示指定文件myfile的内容。,47,(2)

29、cat示例二创建文件 user1server1$cat myfile2Welcome to Linux World!按ctrl+d结束输入功能:利用输出重定向符“”来创建简短的文本文件myfile2。,48,11 more和 less命令,$more/etc/httpd/conf/httpd.conf功能:分屏显示指定文件httpd.conf的内容,非常适合显示超过一屏的文本文件。每按一下空格键,向后翻一屏;每按一次回车键,向后翻一行。说明:与more功能很相似,只不过less功能更强大,支持PageUp键向前翻屏,及PageDown向后翻屏。,49,12.head命令,(1)head示例一显

30、示文件头10行内容$head/etc/httpd/conf/httpd.conf功能:默认显示指定文件的头10行的内容。,50,(2)head示例二显示文件头n行内容$head-n 19/etc/httpd/conf/httpd.conf功能:参数-n设置显示指定行数,本例会显示文件的头19行的内容。,51,13.tail命令,(1)tail示例一显示文件最后10行内容$tail/etc/httpd/conf/httpd.conf功能:默认显示指定文件的末尾10行的内容。,52,(2)tail示例二显示文件最后n行内容$tail-n 12/etc/httpd/conf/httpd.conf功能

31、:参数-n设置显示指定行数;本例会显示文件的末尾12行的内容。,53,2.1.2 用户、组管理命令,Linux采用组来组织和管理用户在Linux中每个用户有唯一的用户标识符UID,该UID是一个无符号整数。同时每个用户也必须至少属于一个组,也有组标识符GID。其中UID与GID独立编号。,54,1.groupadd命令,(1)groupadd示例一创建组账号 rootserver1#groupadd mygroup1功能:创建一个新组mygroup1,其GID号为已存在GID号的下一个顺序编号。说明:创建一个组的同时会在/etc/group文件中为该组增加相应的一行,用来记录该组的名称、GID

32、号及成员等信息。,55,(2)groupadd示例二创建组账号并设置其GID号#groupadd-g 5000 mygroup2功能:创建一个新组mygroup2,并指定其GID号为5000,其中-g用来设置用户的主要组,每个用户都有一个主要组。,56,2.useradd命令,(1)useradd示例一创建用户账号 rootserver1#useradd user1功能:创建一个用户user1,同时在/etc/passwd文件和/etc/shadow文件增加一行,并自动为用户创建相应的主目录:/home/user1。说明:/etc/passwd文件记录了系统中每个用户的用户名、UID号、GID

33、号、主目录、shell等信息。注意:用户的口令原来也存放在此文件中,现在为了保证安全采用了影子口令文件/etc/shadow来保存每个用户的口令。,57,(2)useradd示例二创建用户账号并设置相应属性值#useradd-u 600-g mygroup1-G mygroup2-d/home/student1 s1功能:创建用户s1,其中参数-u指定UID号为600;-g指定用户的主要组为mygroup1;-G指定用户的附加组为mygroup2,每个用户可以有多个附加组;-d 指定用户的主目录为/home/student1。,58,3.userdel命令,(1)userdel示例一删除用户

34、rootserver1#userdel user1 功能:删除指定的用户user1。,59,(2)userdel示例二删除用户的同时删除其主目录 rootserver1#userdel-r user2 功能:删除指定的用户user2,同时删除其主目录。,60,4.groupdel命令,rootserver1#groupdel mygroup2功能:删除指定的组注意:当某个组是某现有用户的主要组时,则不能被删除。,61,5.passwd命令,(1)passwd示例一改变口令 user1server1$passwdChanging password for user user1.Changing

35、password for user1(current)Unix password:New Unix password:BAD PASSWORD:it is too simplistic/systematicNew Unix password:BAD PASSWORD:is too similar to the old oneNew Unix password:Retype new Unix password:passwd:all authentication tokens updated successfully.功能:普通用户只可以修改自己的口令,62,(2)passwd示例二禁止用户登录

36、rootserver1#passwd-l user1Locking password for user user1.passwd:Success功能:参数-l 可以给指定的用户user1加锁,即禁止该用户登录。,63,(3)passwd示例三恢复用户登录 rootserver1#passwd u user1Unlocking password for user user1.passwd:Success.功能:参数-u 可以给指定的用户user1解锁,即恢复该用户登录。,64,(4)passwd示例四删除用户口令 rootserver1#passwd-d user1Removing passwo

37、rd for user user1.passwd:Success功能:参数-d 可以删除指定的用户user1口令,即以user1登录时无需口令。,65,6.usermod命令,#usermod-u 601-g 501 s1功能:将(已存在的)用户s1的UID号修改为601、主要组修改为501说明:usermod 还能修改用户主目录、登录shell及口令等,请读者自行练习。,66,7.id命令,rootserver1#id user1uid=501(user1)gid=501(user1)groups=501(user1)功能:显示用户的UID、GID及所属的组信息。,67,2.1.3 文件属性

38、操作命令,1.chown命令(1)chown示例一改变文件的属主 rootserver1#chown user1 hello.txt功能:将指定文件hello.txt的属主(所有者)改为user1。,68,(2)chown示例二递归改变文件的属主#chown-R user1 mydir功能:参数-R,表示递归,即可以深入到指定目录中的每一层,将所有子目录和文件的属主(所有者)改为指定的用户;本例中会将mydir目录中所有子目录和文件的属主设定为user1。,69,2.chgrp命令,(1)chgrp示例一改变文件的属组#chgrp mygroup1 hello.txt功能:将指定文件hello

39、.txt的属组改为mygroup1。,70,(2)chgrp示例二递归改变文件的属组#chgrp-R mygroup1 mydir功能:参数-R,表示递归,即可以深入到指定目录中的每一层,将所有子目录和文件的属组改为指定的组;本例中会将mydir目录中所有子目录和文件的属组设定为mygroup1。请读者试一下:chown R user1:mygroup1 mydir 命令的功能。,71,3.chmod命令,(1)chmod示例一字母方式 图中字母u针对属主、g针对属组、o针对其他用户、a针对所有用户;=表示赋予(设置)指定权限,要注意它会覆盖原权限,+表示在原有权限的基础上增加指定权限,-表示

40、在原有权限的基础上去掉指定权限;r、w、x三种权限,既可以单独使用也可以组合使用,rwx,ugoa,+-=,72,$chmod u+x host.conf功能:为文件host.conf的属主增加执行权限。$chmod g-w,o=x host.conf功能:将文件host.conf的属组去掉写权限,同时将其他用户设置为只有执行权限,而文件属主的权限不变。,73,请读者练习如下指令,并体会相应功能。$chmod ug=rwx,o=host.conf$chmod ugo=r,ug+wx host.conf,74,(2)chmod示例二数字方式 chmod的数字使用方式,使用起来也是很方便的,关键是

41、一个数制转换的问题。这种方式是先将每个权限位化成二进制数,其中如果某权限位是“-”则用0来表示,否则用1来表示;接着,将这9列权限分为三组(每三位一组),再将每组化成一个八进制数。例如,某文件有如下权限rwxrw-r-,则转换为二进制数为111110100,再化为八进制数则为764;反之,当看到八进制数764时也应该很快转化为相应权限。,75,$chmod 764 host.conf功能:将文件host.conf的权限设置为:属主拥有全部权限;属组拥有读写权限;其他用户拥有只读权限。,图形界面下用“文件管理器”改变文件、目录的权限使用chmod和数字改变文件/目录的访问特权 chmod:chA

42、NGE modEchmod-R-R参数可以改变一个目录以及在它之下的所有文件的设定。在文本模式下,可执行chmod命令去改变文件与目录的权限 r:对应数值4。(就是二进制数100,即r-)w:对应数值2。(就是二进制数010,即-w-)x:对应数值1。(就是二进制数001,即-x)-:对应数值0。(就是二进制数000,即-)按照上述法则,rwx合起来就是4+2+1=7,一个rwxrwxrwx权限全开放的文件,数字表示为777;而完全不开放权限的文件“-”其数字表示则为000。,ls-lchmod 777 smb.confls lchmod 700 smb.conf ls l chmod 750

43、 smb.conf ls schmod-R 775/mydir,79,特殊权限:s权限,s权限具有改变进程的执行身份功能。原则上,用户在执行某程序的过程中,该进程就具有该用户的身份。当设置了s权限后,就可以改变该进程的运行身份,请看如下示例:,80,s权限示例:rootserver1#ls-l test.txt-rw-1 root root 42 Aug 23 10:34 test.txt注意观察test.txt文件的权限,只有root用户才能读写该文件。rootserver1#cp test.txt/home/user1rootserver1#which cat/bin/catrootser

44、ver1#cp/bin/cat/home/user1/mycat,81,按ALT+F2切换到第二个控制台,以user1登录,并执行如下命令:user1server1$./mycat test.txt./mycat:test.txt:Permission denied执行上述命令时会报错,表示没有相应的访问权限。请执行ls-l test.txt查看相应权限,解释原因。,82,接下来,按ALT+F1切换到第一个控制台,执行如下命令:rootserver1#chmod u+s/home/user1/mycat功能:为文件/home/user1/mycat加上s(SetUID)权限,表示当该程序被执行

45、时,其执行身份为该程序的所有者。执行如下命令:rootserver1#ls-l/home/user1/mycat-rwsr-xr-x 1 root root 19140 Aug 23 11:05/home/user1/mycat,83,最后,再按ALT+F2切换到第二个控制台,以user1身份执行如下命令:user1server1$./mycat test.txthello,this file can be read only by root!说明:可以看出这次执行mycat test.txt,就能够显示出test.txt文件的内容,这充分说明“s”权限的作用。除了本例中u+s,还可以有g+s

46、的用法,84,例子:在linux中,不管是root用户还是普通用户,都可以使用“passwd”命令来更改自身的密码。但是,Linux中的密码通常是保存在“/etc/passwd”和“/etc/shadow”文件中,这两个文件对系统安全至关重要,因此只有root用户才能对其执行读写操作。以管理员的身份登陆系统,在Linux示符下执行“ls-l/etc/passwd/etc/shadow”命令,在返回信息中可以看到普通用户对这两个文件并没有写权限,因此从文件属性的角度看,普通用户在更改自身密码时,是无法将密码信息写入到上述文件中的,那么用户是怎样成功的更改密码的呢?实际上,问题的关键不在于密码文件

47、本身,而在于密码更改命令“passwd”。在提示符下执行命令“ls/usr/bin/passwd”,在返回信息中的文件所有者执行权限位上显示“S”字样,表示“passwd”命令具有SetUID权限,其所有者为root,这样普通用户在执行“passwd”命令时,实际上以有效用户root的身份来执行的,并具有了相应的权限,从而将新的密码写入到“/etc/passwd”和“/etc/shadow”文件中,当命令执行完毕,该有效用户root的身份立即消失。如何设置SetUID权限呢?使用“chmod”命令即可为指定文件设置SetUID权限,例如“chmod 4xxx filename”,85,命令,取

48、消SetUID权限的命令为“chmod xxx filename”。类似的,执行“chmod 2xxx filename”命令可以设置SetUID权限,使用“chmod xxx filename”命令即可取消SetGID权限,如果执行“chmod 6xxx filename”命令,即可同时为指定文件设置SetUID和SetGID,执行命令“chmod 0 xxx filename”,即可同时取消指定文件的SetUID和SetGID权限。例如以root用户登陆系统,执行“chmod 0511/usr/bin/passwd”命令,就可以取消“passwd”命令的SetUID权限,这样普通用户就无法

49、修改自己的密码了。,86,特殊权限:“t”权限,特殊权限“t”,又称为粘滞位。粘滞位有两类功能:一是针对可执行文件而言,设置了粘滞位可以使其第一次运行后在交换分区swap中保留正文的副本,由于交换分区的文件是连续存放的,所以下次运行时能较快调入内存。对于现代文件系统来说,这一功能已经没有什么实际意义了。,87,目前用的最多是粘滞位的第二类功能,即针对目录设置粘滞位。如果对一个目录设置了粘附位,则只有对于该目录具有写权限的用户且满足如下三个条件之一,才能删除或改名该目录下的文件:第一是超级用户root,第二是此目录的所有者,第三是将被删除或改名文件的所有者。实例:这一特性被Linux应用到了/t

50、mp目录上,即任何人都可以使用该目录存储文件,但只有文件所有者和root可以删除或更名文件。,88,4.umask命令,(1)umask示例一显示文件的创建掩码 先来看如下命令的执行:user1server1$touch testuser1server1$ls-l test-rw-rw-r-1 user1 user1 0 Aug 18 11:57 test 发现文件test的权限是664,再创建几个文件会发现权限都是664。,89,下面执行如下命令:user1server1$umask0002功能:显示文件创建掩码;文件的被创建后其权限分两种情况,一是如果创建的是目录文件,则用777减去文件创

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号