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(以上数字都是八进制数),如图 所示。

Linux 文件管理命令chmod chgrp chown more md5sum-LMLPHP

从图 中可以看到,“chmod 444 news1”和“chmod a=r news”命令是等价的。

说明 因为 Linux 系统有能力支持多用户,在每一方面系统都会作出谁能读、写和执行 的资源权力限制。这个权限以 3 个 8 位元的方式存储,一个表示文件所属者,一个表 示文件所属群组,另一个表示其他人。这些数字的表示形式如表 2-3 所示

权限的表示形式

Linux 文件管理命令chmod chgrp chown more md5sum-LMLPHP

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 所在行,查找过程如图

Linux 文件管理命令chmod chgrp chown more md5sum-LMLPHP

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

如果验证成功,则会输出“正确”。

05-01 14:41