linux 文件管理命令:chmod设置文件或目录的访问权限\ chgrp改变文件或目录所属的群组\chown改变文件的拥有者或群组\more查看文件的内容
字符设定法的一般形式如下:
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
数字设定法的一般形式如下:
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 所示
权限的表示形式
chgrp [选项]…组文件…
chgrp [选项]…--reference=参考文件…
命令 | 描述 |
---|---|
| 类似--verbose 选项,只在有更改时才显示结果 |
| 影响符号链接所指示的对象,而非符号链接本身 |
| 影响符号链接本身,而非符号链接所指示的目的地(当系统支持更 改符号链接的所有者时,此选项才有效)。 |
| 不显示错误信息。 |
| 使用<参考文件>的所属组,而非指定的<组>。 |
| 递归处理所有的文件及子目录。 |
| 显示命令执行过程。 |
说明 chgrp 命令改变指定文件所属的用户组。其中 group 可以是用户组 ID,也可以是 /etc/group 文件中用户组的组名。文件名是以空格分开的要改变所属组的文件列表,支 持通配符。如果用户不是该文件的属主、超级用户,则不能改变该文件的组。
将目录 dir 中的所有文件属组改为 sam。
# chgrp -R sam dir/
当使用--referebce 参数时,将文件的所有者和所属组更改为与指定参考文件相同。
命令 | 描述 |
---|---|
| 类似 verbose,但只在有更改时才显示结果。 |
| 受影响的是符号链接所指示的对象,而非符号链接本身。 |
| 会影响符号链接本身,而非符号链接所指示的目的地(当系统支持更改符号链接的所有者时,此选项才有效)。 |
| 只当每个文件的所有者和组符合选项所指定时才更改所有者和组。其中一个可以省略,这时已省略的属性就不需要符合原有的属性。 |
| 不特殊对待“/”(默认值)。 |
| 不允许在“/”上递归操作。 |
| 去除大部分的错误信息。 |
| 使用参考文件的所属组,而非指定值。 |
| 递归处理所有的文件及子目录。 |
| 为处理的所有文件显示诊断信息。 |
以下选项是在指定了-R 选项时被用于设置如何穿越目录结构体系。如果用户指定了多于一 个选项,那么只有最后一个选项会生效。
命令 | 描述 |
---|---|
| 如果命令行参数是一个通到目录的符号链接,则遍历符号链接。 |
| 遍历每一个遇到的通到目录的符号链接。 |
| 不遍历任何符号链接(默认)。 |
| 显示此帮助信息并退出。 |
| 显示版本信息并退出。 |
如果没有指定所有者,则不会更改。所属组若没有指定也不会更改,但当加上“:”时 GROUP 会更改为指定所有者的主要组。所有者和所属组可以是数字或名称。
说明 chown 将指定文件的拥有者改为指定的用户组,用户可以是用户名用户 ID;组可 以是组名组 ID;文件是以空格分开的要改变权限的文件列表,支持通配符。系统管理 员经常使用 chown 命令,在将文件复制到另一个用户的目录下以后,让用户拥有使用 该文件的权限。
将目录/mywork 及其下的所有文件和子目录的属主改为 lwan,属组改为 users。
# chown - R lwan.users /mywork
more [选项]文件
命令 | 描述 |
---|---|
| 显示帮助,而不是响铃。 |
| 统计逻辑行数而不是屏幕行数。 |
| 抑制换页(form feed)后的暂停。 |
| 不滚屏,清屏并显示文本。 |
| 不滚屏,显示文本并清理行尾。 |
| 抑制下画线。 |
| 将多个空行压缩为一行。 |
| 指定每屏显示的行数为 NUM。 |
| 从文件第 NUM 行开始显示。 |
| 从匹配搜索字符串 STRING 的文件位置开始显示。 |
| 输出版本信息并退出。 |
more 命令在命令暂停时接受子命令并且作为-p 标志的参数。许多子命令接受可选的整数, 这里由 K 代表,它必须在子命令之前输入,之间没有空格。more 命令在暂停状态时立即处理 子命令,并且不需要按下 Enter 键。more 命令使用下面的子命令。
命令 | 描述 |
---|---|
| 显示描述 more 子命令的帮助屏幕。 |
| 启动 vi 编辑器,在当前行编辑当前文件。 |
| :刷新显示。 |
| 刷新显示并删除缓冲的输入。 |
在 more 命令的执行过程中,用户可以使用 more 自己的一系列命令动态地根据需要选择显 示的部分。more 命令在显示完一屏内容之后,将停下来等待用户输入某个命令。下面列出了 more 命令在执行中用到的一些常用命令,而有关这些命令的完整内容,可以在 more 执行时按 h 键查看。这些命令的执行方法是先输入 i(行数)的值,再输入所需要的命令,否则它会以预 设值来执行命令。
命令 | 描述 |
---|---|
| 若指定 i,显示下面的 i 行;否则,显示下一整屏。 |
| 若指定 i,显示下面的 i 行;否则,显示下一行。 |
| 若指定 i,显示下面的 i 行;否则,往下显示半屏(一般为 11 行)。 |
| 退出 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 所在行,查找过程如图
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。