Linux 命令 - chmod: 更改文件模式

文件的模式

当使用 ls -l 命令查看目录内容时

[[email protected] cmdline]$ ls -l /etc/passwd
-rw-r--r-- 1 root root 1917 Jul  2 15:01 /etc/passwd

第一列字段是文件模式。第一个字符表示文件类型,这里 "-" 表示该文件是个普通文件。后面的 9 个字符表示文件的访问权限,分为读权限、写权限和执行权限,又分别针对三种对象:所有者、同组用户和其他用户。这里 "-rw-r--r--" 表示,文件的所有者拥有读写权限,而同组用户和其他用户只用于读权限。

文件的类型

 属性  文件类型
-  普通文件
d  目录文件
l  符号链接
c  字符设备文件。该文件类型表示以字节流形式处理数据的设备,如终端或调制解调器。
b  块设备文件。该文件类型表示以数据块方式处理数据的设备,如硬盘驱动或光盘驱动。

权限属性

属性 文件 目录
r 允许打开和读取文件。 允许列出目录下的内容。
w 允许写入或截短文件,但该权限不允许重命名或删除文件。是否能重命名和删除文件由目录权限决定。 如果也设置了执行权限,那么目录中的文件允许被创建、被删除以及被重命名。
x 允许吧文件当作程序一样来执行。用脚本语言写的程序必须被设置为可读,以便能被执行。 允许进入目录下,例如 cd directory。

八进制数字表示法

 八进制   二进制   文件模式 
0 000 ---
1 001 --x
2 010 -w-
3 011 -wx
4 100 r--
5 101 r-x
6 110 rw-
7 111 rwx

符号表示法

 符号  含义
u  user 的缩写,表示文件或目录的所有者 
g  group 的缩写,表示文件所属的群组
o  othes 的缩写,表示其他所有用户
a  all 的缩写,是 u、g 和 o 三者的组合

如果没有指定字符,则假定使用 all。操作符 "+" 表示添加一种权限,"-" 表示删除一种权限,"=" 表示只有指定的权限可用,其他所有的权限都被删除。

命令格式

chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTAL-MODE FILE...
chmod [OPTION]... --reference=RFILE FILE...

命令参数

-c, --changes
  类似 -v 选项,但只在文件模式发生改变时才显示诊断信息。

--preserve-root
  禁止对根目录进行递归操作。

-f, --silent, --quiet
  去除大部份的错误信息。

-v, --verbose
  处理每个文件时,显示诊断信息。

--reference=RFILE
  使用 RFILE 文件的模式,而非自行指定权限模式。

-R, --recursive
  以递归方式更改文件和目录的模式。

--help
  显示帮助信息。

--version
  显示版本信息。

实例

a) 将 hello.sh 的模式更改为 744(rwxr--r--)。

[[email protected] cmdline]$ ls -l hello.sh
-rw-rw-r-- 1 ucm ucm 0 Oct  3 17:00 hello.sh
[[email protected] cmdline]$ chmod 744 hello.sh
[[email protected] cmdline]$ ls -l hello.sh
-rwxr--r-- 1 ucm ucm 0 Oct  3 17:00 hello.sh

b) 为 hello.sh 所属群组的用户添加可执行权限。

[[email protected] cmdline]$ ls -l hello.sh
-rwxr--r-- 1 ucm ucm 0 Oct  3 17:00 hello.sh
[[email protected] cmdline]$ chmod g+x hello.sh
[[email protected] cmdline]$ ls -l hello.sh
-rwxr-xr-- 1 ucm ucm 0 Oct  3 17:00 hello.sh

c) 删除其他用户对 hello.sh 的读权限。

[[email protected] cmdline]$ ls -l hello.sh
-rwxr-xr-- 1 ucm ucm 0 Oct  3 17:00 hello.sh
[[email protected] cmdline]$ chmod o-r hello.sh
[[email protected] cmdline]$ ls -l hello.sh
-rwxr-x--- 1 ucm ucm 0 Oct  3 17:00 hello.sh

d) 将 hello.sh 所有者权限设置为 rw-,同时删除所属群组用户的可执行权限和为其他用户添加读权限。

[[email protected] cmdline]$ ls -l hello.sh
-rwxr-x--- 1 ucm ucm 0 Oct  3 17:00 hello.sh
[[email protected] cmdline]$ chmod u=rw,g-x,o+r hello.sh
[[email protected] cmdline]$ ls -l hello.sh
-rw-r--r-- 1 ucm ucm 0 Oct  3 17:00 hello.sh
时间: 2024-10-09 01:33:32

Linux 命令 - chmod: 更改文件模式的相关文章

linux命令--chmod命令&chgrp命令&chown命令

chmod命令是用来更改文件或者文件夹权限的命令 使用方法为 chmod [who] [+ | - | =] [mode] 文件名 其中mode的方法如下: 数字与字符对应关系如下: r=4,w=2,x=1若要rwx属性则4+2+1=7若要rw-属性则4+2=6:若要r-x属性则4+1=7. 其中who权限组的关系如下: u :目录或者文件的当前的用户g :目录或者文件的当前的群组o :除了目录或者文件的当前用户或群组之外的用户或者群组a :所有的用户及群组 例子1  表示给当前用户,当前群组增

Linux命令简介(文件/目录权限操作命令)

文件/目录权限 文件/目录的属性 1.权限 读取.写入.可执行 2.归属 属主.属组 注意:root用户是系统的超级用户,拥有完全的管理权限,所以目录的权限限制对root用户将不起作用.它只是针对普通用户来说的. 权限字符表示 权限      文件                目录 r         查看文件内容        查看目录内容(显示子目录.文件列表) w         修改文件内容        修改目录内容(在目录中新建.移动.删除文件或子目录) x         执行该

Linux命令大全----常用文件操作命令

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了Linux命令大全----常用文件操作命令,并附有实例 ls 这个命令是经常用到的,用来显示当前目录下有哪些文件 ,ls最常用的参数有三个: -a -l -F.ls -a说明:Linux上的文件以"."开头的文件被系统视为隐藏文件,仅用ls命令是看不到他们的,而用ls -a除了显示 一般文件名外,连隐藏文件也会显示出来. ls -l(这个参数是字母L的小写,不是数

Linux 命令安装bin文件

Linux 命令安装bin文件 安装命令: //1,增加文件的可执行权限 chmod a+x jdk-6u30-linux-x64.bin //2,程序即安装在执行命令的文件夹下 ./jdk-6u30-linux-x64.bin 原文地址:https://www.cnblogs.com/lizm166/p/9717583.html

Linux命令之大文件切分与合并

当面临将一个大文件进行切分时,linux的split命令是很好的选择.它包含多种参数,支持按行.大小进行切分. split命令的语法如下: split [--help][--version][-a ][-b][-C ][-l ][要切割的文件][输出文件名前缀] 对应的参数描述如下: -a, --suffix-length=N 使用的后缀长度 (默认为 2) -b, --bytes=SIZE 每个输出文件的字节大小 -C, --line-bytes=SIZE 每个输出文件每行的最大字节大小 -d

Linux命令详解--文件与目录查找

一·文件搜索 which:用来查找命令的绝对路径-- 显示shell命令的绝对路径-- 仅仅会在PATH变量中搜索要查找的命令-- 搜索时先查找别名,然后从PATH中查找1.查看用户的PATH变量:命令的搜索路径# echo $PATH/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin command not found可能原因:1)敲错了2)命令没有安装3)命令

分布式进阶 十 linux命令行下载文件以及常用工具 wget Prozilla MyGet Linuxdown Cu

linux命令行下载文件以及常用工具:wget.Prozilla.MyGet.Linuxdown.Curl.Axel 本文介绍常用的几种命令行式的下载工具:wget.Prozilla.MyGet.Linuxdown.Curl.Axel 下面就为大家详细介绍一下这些工具. 1. Wget Wget是一个十分常用命令行下载工具,多数Linux发行版本都默认包含这个工具.如果没有安装可在http://www.gnu.org/software/wget/wget.html 下载最新版本. 1.1 编译安

Linux命令:chmod命令 改变文件或目录存取模式

chmod是一条在Unix系统中用于控制用户对文件的权限的命令(change mode单词前缀的组合)和函数.只有文件所有者和超级用户可以修改文件或目录的权限.可以使用绝对模式,符号模式指定文件的权限. ※命令格式 chmod [options] mode files mode可以是数字形式或以who opcode permission形式表示.who是可选的,默认是a(所有用户).只能选择一个opcode(操作码).可指定多个mode,以逗号分开. ※八进制语法chmod命令可以使用八进制数来

chmod更改文件权限命令----注意小“坑”

更改文件和目录权限的命令:chmod [ugoa][+-=] 文件名 其中,u-user,代表文件所有者:g-group,代表文件的所属组:o-other,代表除所有者和所属组组员之外的其他账户:a-all,代表所有账户.+.-.=分别表示对权限的增加.减少和定义. 比如,example.txt文件当前的权限(ls -l example.txt查看)为----------,我想给文件的所有者增加读写的权限: chmod u+rw example.txt 即可.此时再查看example.txt的文