文件的模式

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

[huey@huey-K42JE 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--)。

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

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

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

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

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

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

[huey@huey-K42JE cmdline]$ ls -l hello.sh
-rwxr-x--- 1 ucm ucm 0 Oct 3 17:00 hello.sh
[huey@huey-K42JE cmdline]$ chmod u=rw,g-x,o+r hello.sh
[huey@huey-K42JE cmdline]$ ls -l hello.sh
-rw-r--r-- 1 ucm ucm 0 Oct 3 17:00 hello.sh

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

  1. Linux 命令 - chown: 更改文件的所有者和所属群组

    chown 命令用来更改文件或者目录的所有者和所属群组.使用这个命令需要超级用户的权限. 命令格式 chown [OPTION]... [OWNER][:[GROUP]] FILE... chown ...

  2. linux中chmod更改文件权限命令

    1. 命令格式: chmod [-cfvR] [--help] [--version] mode file 2. 命令功能: 用于改变文件或目录的访问权限,用它控制文件或目录的访问权限. 3. 命令参 ...

  3. Linux 命令安装bin文件

    Linux 命令安装bin文件 安装命令: //1,增加文件的可执行权限 chmod a+x jdk-6u30-linux-x64.bin //2,程序即安装在执行命令的文件夹下 ./jdk-6u30 ...

  4. Linux命令-自动挂载文件/etc/fstab功能详解

    Linux命令-自动挂载文件etcfstab功能详解 一./etc/fstab文件的作用 磁盘被手动挂载之后都必须把挂载信息写入/etc/fstab这个文件中,否则下次开机启动时仍然需要重新挂载. 系 ...

  5. 【转载】Linux命令-自动挂载文件/etc/fstab功能详解[转]

    博客园 首页 新随笔 联系 订阅 管理 随笔 - 322  文章 - 0  评论 - 19 Linux命令-自动挂载文件/etc/fstab功能详解[转]     一./etc/fstab文件的作用 ...

  6. 分布式进阶(十) linux命令行下载文件以及常用工具:wget、Prozilla、MyGet、Linuxdown、Curl、Axel

    linux命令行下载文件以及常用工具:wget.Prozilla.MyGet.Linuxdown.Curl.Axel 本文介绍常用的几种命令行式的下载工具:wget.Prozilla.MyGet.Li ...

  7. 菜鸟学Linux命令:chmod命令和数字文件权限

    chmod是一条在Unix系统中用于控制用户对文件的权限的命令(change mode单词前缀的组合)和函数.只有文件所有者和超级用户可以修改文件或目录的权限.可以使用绝对模式,符号模式指定文件的权限 ...

  8. 每天一个linux命令:chmod

    1.命令简介 chmod(Change mode) 用来将每个文件的模式更改为指定值.Linux/Unix 的档案调用权限分为三级 : 档案拥有者.群组.其他. u :目录或者文件的当前的用户 g : ...

  9. Ubuntu设置目录的读写权限(Linux命令chmod 777 dirName)

    更改文件所有者 sudo chown system_username /location_of_files_or_folders 更改文件的权限 鼠标右按钮点击文件/目录 -> 属性 权限 分页 ...

随机推荐

  1. Arduino Due, Maple and Teensy3.0 的 W5200性能测试

    开源平台中以太网连接方案里W5100是众所周知的,W5200正在此领域越来越受欢迎.这个测试结果是在Arduino Due(Atmel CortexM3-84Mhz), Maple(ST Cortex ...

  2. [转]JSON.stringify 语法实例讲解

    原文地址:http://www.jb51.net/article/29893.htm 作用:这个函数的作用主要是为了系列化对象的. 可能有些人对系列化这个词过敏,我的理解很简单.就是说把原来是对象的类 ...

  3. 如何把Excel数据转化成SQL语句-转

    问题背景 在我们实际的程序开发.维护的过程中,很多时候都要和Excel打交道. 因为用户的数据很多时候是Excel存储的. 公司维护项目的时候,经常要帮客户导入Excel数据,这些数据很多,零 碎,而 ...

  4. sql2008“备份集中的数据库备份与现有数据库不同”解决方法

    因为是在另一台电脑对同名数据库做的备份,用常规方法还原,提示不是相同数据库,不让还原,在网上找到下面的方法解决了: 一.右击系统数据库master,新建查询 执行以下SQL代码: RESTORE DA ...

  5. 从零开始学android开发-用Intent启动Activity的方法

    启动另外一个Activity,可以有的方法有用setClass()和Component Name 1. 先说在setClass启动一个Activity的方法吧: Intent intent = new ...

  6. Codeforces GYM 100114 B. Island 水题

    B. Island Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100114 Description O ...

  7. C#实现对Word文件读写[转]

    手头上的一个项目报表相对比较简单,所以报表打印采用VBA引擎,通过定制Word模版,然后根据模版需要填充数据,然后OK,打印即可. 实现方法:首先需要引用VBA组建,我用的是Office2003 Pr ...

  8. utf-8 和gbk编码的差别

    UTF- 8: 是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24为(三个字节)来编码. GBK 是国家标准GB2312基础上扩容后兼容GB2312的标准. GBK的文 ...

  9. SuperToolTips

    https://github.com/nhaarman/supertooltips supertooltips-master.zip

  10. 免费的天气预报API--谷歌,雅虎,中央气象台

    Google Weather API 仅仅支持美国地区使用邮政编码进行查询,比如:  http://www.google.com/ig/api?hl=zh-cn&weather=94043  ...