每天一个linux命令:chmod
1、命令简介
chmod(Change mode) 用来将每个文件的模式更改为指定值。Linux/Unix 的档案调用权限分为三级 : 档案拥有者、群组、其他。
u :目录或者文件的当前的用户
g :目录或者文件的当前的群组
o :除了目录或者文件的当前用户或群组之外的用户或者群组
a :所有的用户及群组
Linux的文件基本上分为三个属性:可读(r),可写(w),可执行(x)。另外,有一些程序属性的执行部分不是x,而是s,这表示执行这个程序的使用者,临时可以有和拥有者一样权力的身份来执行该程序。
[root@oracledb dir1]# ls -l backup.sh
-rwxr-xr-x 1 root root 0 4月 24 15:04 backup.sh
以rwx(Owner)r-x(Group)r-x(Other)为例:这个例子表示的权限是:使用者自己可读,可写,可执行;同一组的用户可读,不可写,可执行;其它用户可读,不可写,可执行。
权限对文件的重要性
r (read):可读取此一文件的实际内容,如读取文本文件的文字内容等;
w (write):可以编辑、新增或者是修改该文件的内容(但不含删除该文件);
x (execute):该文件具有可以被系统执行的权限。linux下文件是否可以执行和扩展名无关
权限对目录的重要性
r (read contents in directory):
表示具有读取目录结构列表的权限,所以当你具有读取(r)一个目录的权限时,表示你可以查询该目录下的文件名数据。 所以你就可以利用 ls 这个指令将该目录的内容列表显示出来!
w (modify contents of directory):
表示你具有移动该目录结构列表的权限,也就是底下这些权限:
建立新的文件与目录;
删除已经存在的文件与目录(不论该文件的权限为何!)
将已存在的文件或目录进行更名;
搬移该目录内的文件、目录位置。
x (access directory):
目录不可以被执行,目录的x代表的是用户能否进入该目录成为工作目录的用途! 所谓的工作目录(work directory)就是你目前所在的目录!举例来说,当你登入Linux时, 你所在的家目录就是你当下的工作目录。而变换目录的指令是cd(change directory)!
权限的数字表示法
r 读取权限,数字代号为“4”;
w 写入权限,数字代号为“2”;
x 执行或切换权限,数字代号为“1”;
2、用法
用法:chmod [选项]... 模式[,模式]... 文件...
或:chmod [选项]... 八进制模式 文件...
或:chmod [选项]... --reference=参考文件 文件...
1、文字设定法:
2、数字设定法
按照顺序(u)(g)(o),将权限转换成3个从0到7的八进制数字,如若要rwx属性则4+2+1=7 ; 若要rw-属性则4+2=6;
chmod 3个从0到7的八进制数 文件或目录
3、选项
-c, --changes 类似 --verbose,但只在有更改时才显示结果
--no-preserve-root 不特殊对待根目录(默认)
--preserve-root 禁止对根目录进行递归操作
-f, --silent, --quiet 去除大部份的错误信息
-v, --verbose 为处理的所有文件显示诊断信息
--reference=参考文件 使用指定参考文件的模式,而非自行指定权限模式
-R, --recursive 以递归方式更改所有的文件及子目录
--help 显示此帮助信息并退出
--version 显示版本信息并退出 每种 MODE 都应属于这类形式"[ugoa]*([-+=]([rwxXst]*|[ugo]))+"。
4、示例
示例1:查看权限
[root@oracledb dir1]# ls -l
总用量 0
-rw-r--r-- 1 root root 0 4月 24 15:04 backup.sh
示例2:将backup.sh设定为只有该档案拥有者可以执行
chmod u+x backup.sh
chmod u+x backup.sh
示例3:同时修改不同用户权限
chmod ug+w,o-x backup.sh
示例4:删除文件权限
chmod a-x backup.sh
示例5:使用“=”设置权限
chmod u=x backup.sh
示例6、根据数字修改权限
chmod 744 backup.sh
示例7、将目前目录下的所有档案与子目录皆设为任何人可读取 :
chmod -R a+r *
chmod -R a+r *
示例8、将backup2.sh的权限改为和backup1.sh相同
[root@oracledb dir1]# ll
总用量 0
-rwxr-xr-x 1 root root 0 4月 24 15:04 backup1.sh
-rw-r--r-- 1 root root 0 4月 25 20:27 backup2.sh
[root@oracledb dir1]# chmod --reference=backup1.sh backup2.sh
[root@oracledb dir1]# ll
总用量 0
-rwxr-xr-x 1 root root 0 4月 24 15:04 backup1.sh
-rwxr-xr-x 1 root root 0 4月 25 20:27 backup2.sh
每天一个linux命令:chmod的更多相关文章
- 每天一个 Linux 命令(21):find命令之xargs
在使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行.但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出 ...
- 每天一个linux命令目录
出处:http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列为每 ...
- 每天一个linux命令-转载
每天一个linux命令目录 转载自: http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令 ...
- [转]每天一个linux命令目录
[转]每天一个linux命令目录 http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每 ...
- 每天一个Linux命令 (转)
一. 文件目录操作命令: 1.每天一个linux命令(1):ls命令 2.每天一个linux命令(2):cd命令 3.每天一个linux命令(3):pwd命令 4.每天一个linux命令(4):mk ...
- 每周一个linux命令之---uptime详解
每周一个linux命令之---uptime详解 linux命令 uptime详解 引言:从今天开始,每周更新一个对程序员有用的linux命令,我真的没敢写每天一个,我怕我坚持不下去,每周一个还是可以的 ...
- 每天一个linux命令【转】
转自:http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列为每 ...
- 每天一个linux命令(目录)
转:http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列为每天 ...
- 【转】每天一个linux命令目录
原文网址:http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列 ...
随机推荐
- python线程池ThreadPoolExecutor与进程池ProcessPoolExecutor
python中ThreadPoolExecutor(线程池)与ProcessPoolExecutor(进程池)都是concurrent.futures模块下的,主线程(或进程)中可以获取某一个线程(进 ...
- php(apache)切换版本
php(apache)切换版本 1.brew link php@7.1 2.上两行写入 ~/.bash_profile文件 3.source ~/.bash_profile 4.sudo vi /et ...
- Java中菜单的实现以及画实线与画虚线之间的自由转化
1.Java画线 1 import java.awt.Color; import java.awt.Container; import java.awt.Graphics; import java.a ...
- TF:Tensorflow结构简单应用,随机生成100个数,利用Tensorflow训练使其逼近已知线性直线的效率和截距—Jason niu
import os os.environ[' import tensorflow as tf import numpy as np x_data = np.random.rand(100).astyp ...
- To the Max POJ - 1050 (最大子段和)
Given a two-dimensional array of positive and negative integers, a sub-rectangle is any contiguous s ...
- c++字符串string的操作
#include <iostream> #include <cstring> #include <string> using namespace std; int ...
- BUG总是存在的
遇到了一个Bug 前段时间,添加功能的时候,在其他页面的Html中(django)的python调用{{}}中不小心按多了一个空格. 这导致这个值在读取的时候,读取多了一个空格:split的时候,多分 ...
- Ef 自动迁移,日志
Ef 迁移 在vs打开程序控制台 2,选择程序集 ,如果是初次,输入 Enable-Migrations,启动迁徙 3 添加迁移,完成修改 4,之后会自动生成迁移配置文件. 然后再上下文类中加入 两 ...
- 一个小demo 实用selenium 抓取淘宝搜索页面内的产品内容
废话少说,上代码 #conding:utf-8 import re from selenium import webdriver from selenium.webdriver.common.by i ...
- js获取form元素,不使用id
<form method="post" name="form"> <input type="text" name=&quo ...