Linux 命令 - chmod: 更改文件模式
文件的模式
当使用 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: 更改文件模式的更多相关文章
- Linux 命令 - chown: 更改文件的所有者和所属群组
chown 命令用来更改文件或者目录的所有者和所属群组.使用这个命令需要超级用户的权限. 命令格式 chown [OPTION]... [OWNER][:[GROUP]] FILE... chown ...
- linux中chmod更改文件权限命令
1. 命令格式: chmod [-cfvR] [--help] [--version] mode file 2. 命令功能: 用于改变文件或目录的访问权限,用它控制文件或目录的访问权限. 3. 命令参 ...
- Linux 命令安装bin文件
Linux 命令安装bin文件 安装命令: //1,增加文件的可执行权限 chmod a+x jdk-6u30-linux-x64.bin //2,程序即安装在执行命令的文件夹下 ./jdk-6u30 ...
- Linux命令-自动挂载文件/etc/fstab功能详解
Linux命令-自动挂载文件etcfstab功能详解 一./etc/fstab文件的作用 磁盘被手动挂载之后都必须把挂载信息写入/etc/fstab这个文件中,否则下次开机启动时仍然需要重新挂载. 系 ...
- 【转载】Linux命令-自动挂载文件/etc/fstab功能详解[转]
博客园 首页 新随笔 联系 订阅 管理 随笔 - 322 文章 - 0 评论 - 19 Linux命令-自动挂载文件/etc/fstab功能详解[转] 一./etc/fstab文件的作用 ...
- 分布式进阶(十) linux命令行下载文件以及常用工具:wget、Prozilla、MyGet、Linuxdown、Curl、Axel
linux命令行下载文件以及常用工具:wget.Prozilla.MyGet.Linuxdown.Curl.Axel 本文介绍常用的几种命令行式的下载工具:wget.Prozilla.MyGet.Li ...
- 菜鸟学Linux命令:chmod命令和数字文件权限
chmod是一条在Unix系统中用于控制用户对文件的权限的命令(change mode单词前缀的组合)和函数.只有文件所有者和超级用户可以修改文件或目录的权限.可以使用绝对模式,符号模式指定文件的权限 ...
- 每天一个linux命令:chmod
1.命令简介 chmod(Change mode) 用来将每个文件的模式更改为指定值.Linux/Unix 的档案调用权限分为三级 : 档案拥有者.群组.其他. u :目录或者文件的当前的用户 g : ...
- Ubuntu设置目录的读写权限(Linux命令chmod 777 dirName)
更改文件所有者 sudo chown system_username /location_of_files_or_folders 更改文件的权限 鼠标右按钮点击文件/目录 -> 属性 权限 分页 ...
随机推荐
- XML操作:1.XML类(http://blog.csdn.net/happy09li/article/details/7460521)
XML绑定TreeView private void XmlOperation_Load(object sender, EventArgs e) { path = AppDomain.CurrentD ...
- 汇编语言(学习笔记-----[bx]和loop)
1.[bx]是什么?? 和[0]有些类似,[0]表示内存单元,它的偏移地址是0 [bx]同样也表示一个内存单元,它的偏移地址在bx中,mov ax,[bx] (字) mov ...
- 记录一下在WinXP上搭建Apache的httpd+PHP+MySQL+Wordpress的过程
实验室有台旧电脑,想用它一台服务器. 不知为何,U盘启动盘死活不能启动,所以放弃了安装Linux的念头,直接在原来的XP上弄一个服务器,毕竟用的人也不多,也就局域网的这几个人, 本来主要是搭建一个FT ...
- Codeforces Gym 100610 Problem A. Alien Communication Masterclass 构造
Problem A. Alien Communication Masterclass Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codefo ...
- Codeforces Gym 100286I iSharp 水题
Problem I. iSharpTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/ ...
- ListView往TreView里面拖拽
ListView往TreView里面拖拽 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Class ...
- 第二周02:Fusion ICP逐帧融合
本周主要任务02:Fusion 使用ICP进行逐帧融合 任务时间: 2014年9月8日-2014年9月14日 任务完成情况: 已实现将各帧融合到统一的第一帧所定义的摄像机坐标系下,但是由于部分帧之间的 ...
- Android版本号的识别——$(PLATFORM_VERSION)
#/******************************************************************************#*@file Android.mk#* ...
- iOS开发——语法篇&swift经典语法总结
swift经典语法总结 1:函数 1.1 func funcNmae()->(){} 这样就定义了一个函数,它的参数为空,返回值为空,如果有参数和返回值直接写在两个括号里就可以了 1.2 参数需 ...
- How to Display Image In Picturebox in VC++ from Iplimage and Mat
Introduction This tip/trick will be useful to OpenCV programmers, who wish to use Windows Form appli ...