文章目录
2.Linux 文件管理命令
2.39 chmod:设置文件或目录的访问权限
- 作用:chmod 是 change file or directory’s mode 的缩写,其作用是修改文件或目录的访问权 限,用户可以用它控制文件或目录的访问权限。
- 用法:chmod 命令有两种用法,一种是包含字母和操作符表达式的字符设定法(相对权限 设定),另一种是包含数字的数字设定法(绝对权限设定)。
1字符设定法
字符设定法的一般形式如下:
chmod [ugoa] [+ | - | =] [rwxXstugo] 文件名
第一部分决定权限的授予者,第二部分决定对权限进行何种操作(添加、删除、设定), 第三部分决定具体要授予的权限,3 部分组成一个字符串,也就是 mode 参数值。详细描述如表
- 授予者
- 操作符号
- 权限位
案例练习
如果一个系统管理员写了一则通知(news)让所有用户阅读,那么必须授权用户对这个文 件有读权限,可以使用如下命令:
#chmod a=r news
2 数字设定法
数字设定法的一般形式如下:
chmod[mode]文件名
数字属性的用法应为 3 个 0~7 之间的八进制数,其顺序是(u)(g)(o)文件名,以空格 分开要改变权限的文件列表,支持通配符。
数字表示的权限的含义如下。
系统管理员写了一则通知(news2)让所有用户阅读,那么必须授权用户对这个文件有读 权限,可以使用以下命令:
#chmod 444 news2
上述命令中,数字 444 是如何计算出来的呢?0004 为所有者的读权限,0040 为组的读权 限,0400 为其他人的读权限,这 3 个数字相加就是 0444(以上数字都是八进制数),如图 所示。
从图 中可以看到,“chmod 444 news1”和“chmod a=r news”命令是等价的。
说明 因为 Linux 系统有能力支持多用户,在每一方面系统都会作出谁能读、写和执行 的资源权力限制。这个权限以 3 个 8 位元的方式存储,一个表示文件所属者,一个表 示文件所属群组,另一个表示其他人。这些数字的表示形式如表 2-3 所示
权限的表示形式
2.40 chgrp:改变文件或目录所属的群组
- 作用:chgrp 是 change group permissions 的缩写,chgrp 是一条在 Linux 和 UNIX 中用于设 置文件所归属的组的命令。与 chown 命令不同,chgrp 允许普通用户改变文件所属的组,只要 该用户是该组的一员。
- 用法:
chgrp [选项]…组文件…
chgrp [选项]…--reference=参考文件…
- 主要选项如下:
说明 chgrp 命令改变指定文件所属的用户组。其中 group 可以是用户组 ID,也可以是 /etc/group 文件中用户组的组名。文件名是以空格分开的要改变所属组的文件列表,支 持通配符。如果用户不是该文件的属主、超级用户,则不能改变该文件的组。
案例练习
将目录 dir 中的所有文件属组改为 sam。
# chgrp -R sam dir/
2.41 chown:改变文件的拥有者或群组
- 作用:chown 是 change ownership 的缩写,用于更改与文件关联的所有者组
- 用法:
chown [选项]…所有者[:[组]]文件…
chown [选项]…:组文件…
chown [选项]…–reference=参考文件…
- 主要选项如下:
当使用–referebce 参数时,将文件的所有者和所属组更改为与指定参考文件相同。
以下选项是在指定了-R 选项时被用于设置如何穿越目录结构体系。如果用户指定了多于一 个选项,那么只有最后一个选项会生效。
如果没有指定所有者,则不会更改。所属组若没有指定也不会更改,但当加上“:”时 GROUP 会更改为指定所有者的主要组。所有者和所属组可以是数字或名称。
说明 chown 将指定文件的拥有者改为指定的用户组,用户可以是用户名用户 ID;组可 以是组名组 ID;文件是以空格分开的要改变权限的文件列表,支持通配符。系统管理 员经常使用 chown 命令,在将文件复制到另一个用户的目录下以后,让用户拥有使用 该文件的权限。
案例练习
将目录/mywork 及其下的所有文件和子目录的属主改为 lwan,属组改为 users。
# chown - R lwan.users /mywork
2.42 more:查看文件的内容
-
作用:和 cat 命令相比,more 命令适合查看大文件。more 命令一般用于显示内容超过一屏 的文件。其他命令经常和 more 匹配使用,但 more 命令也可单独使用。
-
用法:
more [选项]文件
-
主要选项如下:
more 命令在命令暂停时接受子命令并且作为-p 标志的参数。许多子命令接受可选的整数, 这里由 K 代表,它必须在子命令之前输入,之间没有空格。more 命令在暂停状态时立即处理 子命令,并且不需要按下 Enter 键。more 命令使用下面的子命令。
在 more 命令的执行过程中,用户可以使用 more 自己的一系列命令动态地根据需要选择显 示的部分。more 命令在显示完一屏内容之后,将停下来等待用户输入某个命令。下面列出了 more 命令在执行中用到的一些常用命令,而有关这些命令的完整内容,可以在 more 执行时按 h 键查看。这些命令的执行方法是先输入 i(行数)的值,再输入所需要的命令,否则它会以预 设值来执行命令。
说明 more 命令读取文件,而且每次显示一屏文本。该命令在每屏后暂停,并在屏幕 底部打印单词 more。如果随后按 Enter 键,more 命令会再显示一行。如果按下 Space 键,more 命令将显示文本的另一屏。对于有些终端型号,more 命令清除屏幕,而不 是滚动屏幕。可以重定向通过管道传送标准输出(如长目录列表)到 more 命令,而 不是读取命名的文件。当从文件而不是管道读取的时候,命令在提示符处加%(百分 符),这提供了 more 命令已经读取文件的百分比(以字符为单位,而不是行)
案例练习
(1)查看以 myfile 命名的文件。
#more myfile
(2)从 ls 命令查看输出。
#ls –l | more
(3)逐页显示 testfile 的档案内容,如有连续两个以上空白行则以一个空白行显示。
#more -s testfile
(4)查找/etc/passwd 文件中用户 cjh 所在行,查找过程如图
2.43 md5sum:MD5 函数值计算和检查
- 作用:检验 MD5 校验码。
- 用法:md5sum [选项] [文件]
- 主要选项如下:
以下 3 个选项在进行校验时非常有用。
校验和会按照 RFC 1321 规范生成。在进行检查时,给出的输入格式应该和程序的输出样板格式相同。默认的输出模式是输出一行校验和的校验结果,并有一个字符来表示文件类型 (“*”代表二进制,“ ”代表纯文本),并同时显示每个文件的名称。
案例练习
(1)使用 md5sum 来产生指纹(报文摘要)。
#md5sum file > file.md5
也可以把多个文件的报文摘要输出到一个 MD5 文件中,这要使用通配符*。例如某目录下 有几个.iso 文件,要把这几个.iso 文件的摘要输出到 iso.md5 文件中,命令如下:
#md5sum *.iso > iso.md5
(2)使用 MD5 报文摘要验证文件。 把下载的文件 file 和该文件的 file.md5 报文摘要文件放在同一个目录下,然后用如下命令 进行验证:
#md5sum -c file.md5
如果验证成功,则会输出“正确”。