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

2.Linux 文件管理命令

2.39 chmod:设置文件或目录的访问权限

  • 作用:chmod 是 change file or directory’s mode 的缩写,其作用是修改文件或目录的访问权 限,用户可以用它控制文件或目录的访问权限。
  • 用法:chmod 命令有两种用法,一种是包含字母和操作符表达式的字符设定法(相对权限 设定),另一种是包含数字的数字设定法(绝对权限设定)。

1字符设定法

字符设定法的一般形式如下:

chmod [ugoa] [+ || =] [rwxXstugo] 文件名

第一部分决定权限的授予者,第二部分决定对权限进行何种操作(添加、删除、设定), 第三部分决定具体要授予的权限,3 部分组成一个字符串,也就是 mode 参数值。详细描述如表

  • 授予者
描述
u用户,即文件或目录的所有者
g同组用户,与文件属主有相同组 ID 的所有用户
o其他用户
a所有用户,它是系统默认值
  • 操作符号
描述
在原有权限中添加某个权限
在原有权限中删除某个权限
赋予新给定的权限,并取消其他所有权限
  • 权限位
描述
r设置读权限
w设置写权限
x设置执行权限
X只有目标文件对某些用户是可执行的,该目标文件是目录时才追加 X 属性
s设置 SUID 和 SGID,g+s 设置 SGID,u+s 设置 SUID
t保存程序的文本到交换设备上
u与文件属主拥有一样的权限
g与和文件属主同组的用户拥有一样的权限
o与其他用户拥有一样的权限
案例练习

如果一个系统管理员写了一则通知(news)让所有用户阅读,那么必须授权用户对这个文 件有读权限,可以使用如下命令:

#chmod a=r news

2 数字设定法

数字设定法的一般形式如下:

chmod[mode]文件名

数字属性的用法应为 3 个 0~7 之间的八进制数,其顺序是(u)(g)(o)文件名,以空格 分开要改变权限的文件列表,支持通配符。

数字表示的权限的含义如下。

0001:所有者的执行权限。
0002:所有者的写权限。
0004:所有者的读权限。
0010:组的执行权限。
0020:组的写权限。
0040:组的读权限。
0100:其他人的执行权限。
0200:其他人的写权限。
0400:其他人的读权限。
1000:粘贴位置位。
2000:假如这个文件是可执行文件,则为组 ID 位置位。
4000:假如这个文件是可执行文件,则为用户 ID 位置位。

系统管理员写了一则通知(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=参考文件…

  • 主要选项如下:
命令描述
-c, --changes类似–verbose 选项,只在有更改时才显示结果
--dereference影响符号链接所指示的对象,而非符号链接本身
-h, --no-dereference影响符号链接本身,而非符号链接所指示的目的地(当系统支持更 改符号链接的所有者时,此选项才有效)。
-f, --silent不显示错误信息。
--reference=参考文件使用<参考文件>的所属组,而非指定的<组>。
-R, --recursive递归处理所有的文件及子目录。
-v, --verbose显示命令执行过程。

说明 chgrp 命令改变指定文件所属的用户组。其中 group 可以是用户组 ID,也可以是 /etc/group 文件中用户组的组名。文件名是以空格分开的要改变所属组的文件列表,支 持通配符。如果用户不是该文件的属主、超级用户,则不能改变该文件的组。

案例练习

将目录 dir 中的所有文件属组改为 sam。

# chgrp -R sam dir/

2.41 chown:改变文件的拥有者或群组

  • 作用:chown 是 change ownership 的缩写,用于更改与文件关联的所有者组
  • 用法:

​ chown [选项]…所有者[:[组]]文件…

​ chown [选项]…:组文件…

​ chown [选项]…–reference=参考文件…

  • 主要选项如下:

当使用–referebce 参数时,将文件的所有者和所属组更改为与指定参考文件相同。

命令描述
-c,--changes类似 verbose,但只在有更改时才显示结果。
--dereference受影响的是符号链接所指示的对象,而非符号链接本身。
-h,--no-dereference会影响符号链接本身,而非符号链接所指示的目的地(当系统支持更改符号链接的所有者时,此选项才有效)。
--from=当前所有者:当前所属组只当每个文件的所有者和组符合选项所指定时才更改所有者和组。其中一个可以省略,这时已省略的属性就不需要符合原有的属性。
--no-preserve-root不特殊对待“/”(默认值)。
--preserve-root不允许在“/”上递归操作。
-f,--silent,--quiet去除大部分的错误信息。
--reference=参考文件使用参考文件的所属组,而非指定值。
-R,--recursive递归处理所有的文件及子目录。
-v,--verbose为处理的所有文件显示诊断信息。

以下选项是在指定了-R 选项时被用于设置如何穿越目录结构体系。如果用户指定了多于一 个选项,那么只有最后一个选项会生效。

命令描述
-H如果命令行参数是一个通到目录的符号链接,则遍历符号链接。
-L遍历每一个遇到的通到目录的符号链接。
-P不遍历任何符号链接(默认)。
--help显示此帮助信息并退出。
--version显示版本信息并退出。

如果没有指定所有者,则不会更改。所属组若没有指定也不会更改,但当加上“:”时 GROUP 会更改为指定所有者的主要组。所有者和所属组可以是数字或名称。

说明 chown 将指定文件的拥有者改为指定的用户组,用户可以是用户名用户 ID;组可 以是组名组 ID;文件是以空格分开的要改变权限的文件列表,支持通配符。系统管理 员经常使用 chown 命令,在将文件复制到另一个用户的目录下以后,让用户拥有使用 该文件的权限。

案例练习

将目录/mywork 及其下的所有文件和子目录的属主改为 lwan,属组改为 users。

# chown - R lwan.users /mywork

2.42 more:查看文件的内容

  • 作用:和 cat 命令相比,more 命令适合查看大文件。more 命令一般用于显示内容超过一屏 的文件。其他命令经常和 more 匹配使用,但 more 命令也可单独使用。

  • 用法:more [选项]文件

  • 主要选项如下:

命令描述
-d显示帮助,而不是响铃。
-f统计逻辑行数而不是屏幕行数。
-l抑制换页(form feed)后的暂停。
-p不滚屏,清屏并显示文本。
-c不滚屏,显示文本并清理行尾。
-u抑制下画线。
-s将多个空行压缩为一行。
-NUM指定每屏显示的行数为 NUM。
+NUM从文件第 NUM 行开始显示。
+/STRING从匹配搜索字符串 STRING 的文件位置开始显示。
-V输出版本信息并退出。

more 命令在命令暂停时接受子命令并且作为-p 标志的参数。许多子命令接受可选的整数, 这里由 K 代表,它必须在子命令之前输入,之间没有空格。more 命令在暂停状态时立即处理 子命令,并且不需要按下 Enter 键。more 命令使用下面的子命令。

命令描述
h显示描述 more 子命令的帮助屏幕。
v启动 vi 编辑器,在当前行编辑当前文件。
r^L:刷新显示。
R刷新显示并删除缓冲的输入。

在 more 命令的执行过程中,用户可以使用 more 自己的一系列命令动态地根据需要选择显 示的部分。more 命令在显示完一屏内容之后,将停下来等待用户输入某个命令。下面列出了 more 命令在执行中用到的一些常用命令,而有关这些命令的完整内容,可以在 more 执行时按 h 键查看。这些命令的执行方法是先输入 i(行数)的值,再输入所需要的命令,否则它会以预 设值来执行命令。

命令描述
i:空格若指定 i,显示下面的 i 行;否则,显示下一整屏。
i:回车若指定 i,显示下面的 i 行;否则,显示下一行。
i d若指定 i,显示下面的 i 行;否则,往下显示半屏(一般为 11 行)。
qQ退出 more。
显示当前行号。

说明 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 [选项] [文件]
  • 主要选项如下:
命令描述
-b,--binary以二进制模式读取。
-c,--check从文件中读取 MD5 的校验值并予以检查。
-t,--text以纯文本模式读取(默认)。

以下 3 个选项在进行校验时非常有用。

命令描述
--quiet不为校验成功的文件输出 OK。
--status不输出任何内容,使用退出状态号显示成功。
-w,--warn对格式不准确的校验和行进行警告。
--strict验证成功时不输出任何信息。
--help显示此帮助信息并退出。
--version显示版本信息并退出。

校验和会按照 RFC 1321 规范生成。在进行检查时,给出的输入格式应该和程序的输出样板格式相同。默认的输出模式是输出一行校验和的校验结果,并有一个字符来表示文件类型 (“*”代表二进制,“ ”代表纯文本),并同时显示每个文件的名称。

说明 MD5 算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。MD5 全 称是报文摘要算法(Message Digest Algorithm 5),此算法对任意长度的信息逐位进行 计算,产生一个二进制、长度为 128 位(十六进制长度就是 32 位)的“指纹”(称“报 文摘要”),不同的文件产生相同的报文摘要的可能性是非常小的。

案例练习

(1)使用 md5sum 来产生指纹(报文摘要)。

#md5sum file > file.md5

也可以把多个文件的报文摘要输出到一个 MD5 文件中,这要使用通配符*。例如某目录下 有几个.iso 文件,要把这几个.iso 文件的摘要输出到 iso.md5 文件中,命令如下:

#md5sum *.iso > iso.md5

(2)使用 MD5 报文摘要验证文件。 把下载的文件 file 和该文件的 file.md5 报文摘要文件放在同一个目录下,然后用如下命令 进行验证:

#md5sum -c file.md5

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

  • 23
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

度假的小鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值