- 论坛徽章:
- 0
|
转自huangfayan\r\nUNIX文件存取权限 \r\n一、文件的存取权限 \r\nUNIX文件的存取有三种权限: \r\n\r\n权限 普通文件的存取权限 目录的存取权限 \r\nR 具有读取文件的权利 能读取文件名称 \r\nW 具有写入文件的权利 能建立和删除文件,可以改变文件名 \r\nX 具有执行文件的权利 能使用该目录下的文件(如cd命令)搜索文件等 \r\n\r\n二、能够存取文件的用户类型 \r\n有三种类型的用户可以存取文件: \r\n\r\n用户类型 说明 \r\nowner 文件的属主(拥有者) \r\ngroup 用户组内成员 \r\nother 其他用户(非owner和非group) \r\n\r\n每种类型的用户都有三种文件存取权限:r、w、x。 \r\n\r\n三、文件存取权限的显示 \r\n可以通过”ls -l”命令显示,如: \r\n\r\n$ ls -l file1 \r\n\r\n显示如下: \r\n\r\n-rwxr-xr-- 2 wjm newservice 321 Oct 17 09:33 file1 \r\n\r\n上行中: \r\n第2-4字符”rwx”表示此文件属主wjm对文件file1的权利为”可读、可写、可执行”; \r\n第5-7字符”r-x” 表示此用户组newservice内的用户对文件file1的权利为: \r\n”可读、不可写、可执行”; \r\n第8-10字符”r--” 表示其他用户对文件file1的权利为”可读、不可写、不可执行” \r\n\r\n四、文件存取权限的修改 \r\n用chmod命令修改文件的存取权限,chmod命令的格式如下: \r\n\r\n格式1: chmod symbolic_mode file… \r\n格式2: chmod absolute_mode file… \r\n\r\n(一)格式1:符号模式(symbolic_mode), 符号模式的命令格式如下: \r\n\r\nchmod [who] op permision file… \r\n\r\nwho项表示用户类型,它的内容为以下一项或多项: \r\n\r\nU 文件属主(user --- owner) \r\nG 用户组(group) \r\nO 其他人(other) \r\nA 所有人(all) \r\n\r\nop项表示动作: \r\n\r\n+ 表示要加上permission指定的权利 \r\n- 表示要取消permission指定的权利 \r\n\r\npermission项为存取权限,它的内容为以下一项或多项: \r\n\r\nr 表示可读 \r\nw 表示可写 \r\nx 表示可执行 \r\n\r\n举例: \r\n\r\nchmod u+w test report 属主对test和report文件“可写” \r\nchmod u-x abc.c 属主对abc.c文件不可执行 \r\nchmod u+rwx myfile1 属主对myfile1“可读、可写、可执行” \r\nchmod ugo+rwx myfile2 任何人都对myfile1“可读、可写、可执行” \r\n\r\n(二)格式2:绝对模式(absolute_mode), 符号模式的命令格式如下: \r\n\r\nchmod xyz file… \r\n\r\nx、y、z分别是0-7的数字,分别表示属主、用户组、其他人对该文件的存取权限。x、y、z的取值公式均为: \r\n a*4 + b*2 + c \r\n其中, \r\na=1分别表示可读,a=0表示不可读; \r\nb=1分别表示可写,b=0表示不可写; \r\nc=1分别表示可执行,c=0表示不可执行; \r\n举例: \r\n\r\nchmod 751 ncp 属主对ncp拥有“可读、可写、可执行”的全部权利;组内成员对ncp只有“可读、可执行”的权利;其他用户对ncp只有“可执行”的权利。 \r\n\r\n五、改变文件属主及文件所在组 \r\n改变文件属主的格式如下: \r\n\r\nchown 属主名 文件名 \r\n\r\n必须对文件具有write权利才可改变文件的属主。 \r\n改变文件所在组的格式如下: \r\nchgrp 组名 文件名 \r\n\r\n必须是文件的属主或supervisor才能改变文件组别的归属。 \r\n举例: \r\nchown wjm test1 将文件test1的属主改为wjm \r\nchgrp newservice test1 将文件test1的用户组改为newservice \r\n3.6 UNIX重定向与管道 \r\nUNIX重定向 将文件的标准输出重新定向输出到文件,或将数据文件作为另一程序的标准输入内容。重定向符号如下: \r\n< 重定向输入 \r\n> 重定向输出 \r\n>> 重定向输出并追加到尾部 \r\n例如: \r\nls -l > file1 将ls -l命令显示的内容存到file1中, \r\nls >> file1 将ls 命令显示的内容附加存到file1的尾部 \r\ngrep abc < file1 将file1的内容作为grep abc命令的输入 \r\n\r\n其中,\">\"和\">>\"为输出重定向符,\">\"将输出内容存到重定向文件中,若文件存在,则先删除原有内容;\">>\"将输出内容存到重定向文件的尾部。 \r\n\r\nUNIX管道 将一文件的输出作为另一文件的输入。管道符号如下: \r\n| 将左边命令的输出,作为右边命令的输入 \r\n例如: \r\nls|more 将ls的输出作为more命令的输入 \r\nps -ef|grep smith ps -ef的输出作为grep smith命令的输入 \r\n3.7 UNIX文件系统常用命令 \r\nUNIX命令 UNIX命令举例 类似DOS命令 \r\n显示当前目录 pwd pwd cd \r\n改变目录 cd cd /usr cd c:\\usr \r\n进入家目录 cd cd \r\n创建目录 mkdir mkdir abc md abc \r\n删除空目录 rmdir rmdir abc rd abc \r\n删除目录及其内容 rm -r rm -r abc deltree abc \r\n显示目录内容 ls ls abcls -l abc(文件长列表)ls -a abc(所有类型文件)ls -d * (不进子目录) dir abc \r\n显示文本文件内容 cat cat file1.c type file1.c \r\n一次一屏显示文本文件内容 more more file1.c \r\n拷贝文件 cp cp file1 file2 copy file1 file2 \r\n移动(重命名)文件 mv mv call.test call.list move call.tst call.lstren call.test bbb \r\n删除文件 rm rm call.list del call.lst \r\n\r\n一、pwd命令 \r\npwd命令用来显示当前目录路径,命令如下: \r\npwd \r\n二、cd命令 \r\ncd命令用于改变当前的目录,如: \r\n命令举例 说明 \r\ncd /usr/smith 改变到/usr/smith目录 \r\ncd ../wjm 改变到父目录下的wjm子目录 \r\ncd exam1 改变到当前目录下的exam1子目录 \r\ncd 改变到家目录 \r\n不带参数的cd命令表示进入家目录,这点与DOS有本质区别。 \r\n三、rm命令 \r\nrm命令可以删除文件及目录,举例如下: \r\n命令举例 说明 \r\nrm file2 删除当前目录下的文件file2 \r\nrm file* 删除当前目录下以file开头的文件 \r\nrm -r /usr/wjm/exam2 删除目录/usr/wjm/exam2及其内容 \r\n四、ls命令 \r\nls命令可以显示目录内容,命令格式如下: \r\nls -选项 文件名 \r\n其中的常用选项说明如下: \r\n-l 长列表显示目录内容 \r\n-a 显示所有类型文件,包括隐含文件 \r\n-d 如果显示内容包含目录名,则只显示目录名字不显示目录内容 \r\n命令举例如下: \r\n命令举例 说明 \r\nls 显示当前目录内容 \r\nls file* 显示除当前目录下以file开头的文件 \r\nls -l /usr/wjm/exam2 长列表显示目录/usr/wjm/exam2内容 \r\nls -adl 显示当前目录内容(同时带-l、-d、-a参数) \r\n\r\n[注] ”ls -l”命令显示格式如下: \r\ndrwxrwxr-x 2 smith group 48 Jan 05 1998 john \r\n-rwxr-xr-- 1 wjm newservice 321 Oct 17 09:33 file2 \r\n上面每行中: \r\n第一列: \r\n第1个字符表示文件的类型(d表示目录,-表示普通文件); \r\n第2-4字符表示文件属主对此文件的访问权限(如:“rwx”和“rwx”); \r\n第5-7字符表示用户组对此文件的访问权限(如:“rwx”和“r-x”); \r\n第8-10字符表示其他用户对此文件的访问权限(如:“r-x”和“r--”); \r\n其中,访问权限用三个字符表示,顺序是“rwx”,“r”表示可读、“w”表示 \r\n可写、“x”表示可执行。若某项禁止访问则为“-”,如:“r-x”表示可读、 \r\n不可写、可执行; \r\n第二列:此文件的链接数(如:2和1); \r\n第三列:此文件的属主名(如:smith和wjm); \r\n第四列:用户组名(如:group和newservice); \r\n第五列:文件所占字节数(如:48和321); \r\n第六至八列:最后修改的日期和时间(如:“Jan 05 1998”和“Oct 17 09:33”); \r\n第九列:文件名(如:john和file2)。 \r\n\r\n五、mkdir、rmdir、cat、more、cp、mv命令 \r\n这些命令和DOS的相应命令功能和用法基本一致,它们和DOS命令的对应关系如下: \r\nUNIX命令 DOS命令 \r\nmkdir mkdir或md \r\nrmdir rmdir或rd \r\ncat type \r\nmore more \r\ncp copy \r\nmv move或ren |
|