五分钟搞懂 Linux 重点知识,傻瓜都能学会!
来源:无痴迷,不成功
www.cnblogs.com/justmine/p/9053419.html
写在前面
我们都知道Linux是一个支持多用户、多任务的系统,这也是它最优秀的特性,即可能同时有很多人都在系统上进行工作,所以千万不要强制关机。
同时,为了保护每个人的隐私和工作环境,针对某一个文档(文件、目录),Linux系统定义了三种身份,分别是拥有者(owner)、群组(group)、其他人(others),每一种身份又对应三种权限,分别是可读(readable)、可写(writable)、可执行(excutable)。
文档属性
使用命令ls -al --full-time,或者此命令的简写ll可以查看文件或者目录的所有属性。如下:
从上面可以看到,每一行都有7列,分别是:
第一列
共10位,第1位表示文档类型,d表示目录,-表示文件,l表示链接文件,d表示可随机存取的设备,如U盘等,c表示一次性读取设备,如鼠标、键盘等。后9位,依次对应三种身份所拥有的权限,身份顺序为:owner、group、others,权限顺序为:readable、writable、excutable。如:-r-xr-x---的含义为当前文档是一个文件,拥有者可读、可执行,同一个群组下的用户,可读、可写,其他人没有任何权限。第二列
表示连结数第三列
表示拥有者第四列
表示所属群组第五列
表示文档容量大小,单位字节第六列
表示文档最后修改时间,注意不是文档的创建时间哦第七列
表示文档名称。以点(.)开头的是隐藏文档
变更拥有者(owner)
位置
etc/passwd
注意:必须是该位置下已存在的帐号。也就是在/etc/passwd中有记录的拥有者才能改变。
语法
chown [-R] [帐号名称] [文件或目录]
chown [-R] [帐号名称]:[群组名称] [文件或目录]
备注:此命令也可以顺便变更文档群组,但还是建议使用chgrp命令来变更文档群组。
选项
-R 递归变更,即连同次目录下的所有文件(夹)都要变更。
用法
chown daemon test 变更文件夹test账号为daemon。
chown daemon:root test 变更文件夹test群组为root。
chown root.users test 变更文件夹账号为root,群组为users
chown .root test 单独变更群组为root
备注:虽然也可以在拥有者与群组间加小数点(.),但为了避免有的同学命名中带点,故还是建议使用冒号“:”来隔开拥有者与群组,避免误判。
变更群组(group)
位置
etc/group
备注:从这里可以查看到所有群组
语法
chgrp [-options] [群组名] [文档路径]
备注:关于options,可以通过man chgrp、info chgrp、chgrp --help等命令查询详细用法。
用法
chgrp -R users test 改变test文件夹及其所有子文件(夹)的群组为users。
注意:群组名称不在位置内,将会报错invalid group。
变更权限
Linux文档的基本权限就三个,分别是read/write/execute,加上身份owner/group/others也只有九个。权限变更的方式有2种,分别是符号法和数字法。Java程序员必须掌握的常用Linux命令,这篇也推荐大家看下。
- 符号法
分别使用u,g,o来代表三种身份,a表示全部身份;分别使用r、w、x表示三种权限;分别使用+、-、=表示操作行为
语法
chmod | u g o a | +(加入) -(除去) =(设置) | r w x | 文档路径
设置权限(=)
变更目录test的权限为任何人都可读、写、执行。
chmod u=rwx,g=rwx,o=rwx test
或
chmod ugo=rwx test
或
chmod a=rwx test
去掉权限(-)
去掉目录test执行权限
chmod u-x,g-x,o-x test
或
chmod ugo-x test
或
chmod a-x test
备注:执行权限(x),对目录而已就是其他用户能否cd test成为工作目录。
添加权限(+)
增加目录test执行权限
chmod u+x,g+x,o+x test
或
chmod ugo+x test
或
chmod a+x test
备注:很熟悉吧,如果我们编写完一个shell文件test.sh后,通过chmod a+x test.sh就添加了文件执行权限。
- 数字法
顾名思义,就是使用数字来代表权限,r,w,x分别为4,2,1。三种权限累加就可以得出一种身份的权限。
设置目录test的权限为任何人都可读、写、执行。
chmod 777 test
设置目录test的权限为任何人都可读、写。
chmod 666 test
赋予一个shell文件test.sh可执行权限,拥有者可读、写、执行,群组账号和其他人可读、执行。
chmod 755 test
备注:有没有发现数字法更简单啊!!!
文件和目录权限差异
文档权限对于文件和目录有巨大的差异
文件
针对的是该文件内容
readable 可读取该文件的实际内容
writable 可以编辑、新增或者是修改该文件的内容
executable 有可以被系统执行的权限
备注:具有w权限不可以删除文件,删除文件是目录权限控制的范围!!!记住文件权限针对是文件内容。
目录
针对的是该目录下的文件对象
readable 具有读取目录结构清单的权限,即可以通过ls命令,查询该目录清单。
writable 具有变动该目录结构清单的权限,即可以创建、迁移、删除、更名该目录下的文件。
executable 具备进入该目录的权限,即可以通过cd命令,转到工作目录。
备注:从上面可以得出,开放目录给任何人浏览时,至少需要赋予r或x权限。读取目录文件内容,至少需要目录权限x和文件权限r。
总结
Linux的每个文档可以分别针对三种身份赋予rwx权限;chgrp命令变更文件群组,chmod命令变更文件权限,chown变更文件拥有者;那么以后记得使用文档权限来保护数据的安全性哦。
- END -
关注Java技术栈微信公众号,在后台回复关键字:Java,可以获取一份栈长整理的 Java 最新技术干货。
最近干货分享
点击「阅读原文」加入栈长的战队~
五分钟搞懂 Linux 重点知识,傻瓜都能学会!的更多相关文章
- 五分钟搞懂POM设计模式
转载请注明出处️ 作者:IT小学生蔡坨坨 原文链接:五分钟搞懂POM设计模式 大家好,我是IT小学生蔡坨坨. 今天,我们来聊聊Web UI自动化测试中的POM设计模式. 为什么要用POM设计模式 前期 ...
- 五分钟搞懂Vuex
这段时间一直在用vue写项目,vuex在项目中也会依葫芦画瓢使用,但是总有一种朦朦胧胧的感觉.于是决定彻底搞懂它. 看了一下午的官方文档,以及资料,才发现vuex so easy! 作为一个圈子中的人 ...
- 五分钟搞定Linux容器
[TechTarget中国原创] Linux容器针对特定工作负载提供了全新的灵活性与可能性.存在很多解决方案,但是没有一个解决方案能够像systemd容器那样进行快速部署.给我五分钟,本文将介绍如何使 ...
- 五分钟搞定 Linux 文档全部知识,就看这篇文章
作者:无痴迷,不成功 来源:见文末 写在前面 我们都知道Linux是一个支持多用户.多任务的系统,这也是它最优秀的特性,即可能同时有很多人都在系统上进行工作,所以千万不要强制关机,同时,为了保护每个人 ...
- 五分钟搞懂什么是B-树(全程图解)【转】
前戏 我们大家都知道动态查找树能够提高查找效率,比如:二叉查找树,平衡二叉查找树,红黑树.他们查找效率的时间复杂度O(log2n),跟树的深度有关系,那么怎么样才能提高效率呢?当然最快捷的方式就是减少 ...
- 五分钟搞懂MySQL索引下推
大家好,我是老三,今天分享一个小知识点--索引下推. 如果你在面试中,听到MySQL5.6"."索引优化" 之类的词语,你就要立马get到,这个问的是"索引下推 ...
- 五分钟搞懂spring-cloud-square
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 初识spring-cloud-square 2021年 ...
- 五分钟搞定Go.js
五分钟搞定Go.js 1.基于html5~因为Go.js是一个依赖于HTML5特性的JavaScript库,所以需要确保您的页面声明它是一个HTML5文档,当然需要加载库 <!DOCTYPE ...
- zookeeper-架构设计与角色分工-《每日五分钟搞定大数据》
本篇文章阅读时间5分钟左右 点击看<每日五分钟搞定大数据>完整思维导图 zookeeper作为一个分布式协调系统,很多组件都会依赖它,那么此时它的可用性就非常重要了,那么保证可用性的同 ...
随机推荐
- css多种方式实现双飞翼布局
圣杯布局.双飞翼布局效果图 从效果图来看圣杯布局.双飞翼布局效果是一样一样的.圣杯布局.双飞翼布局就是左右两侧宽度固定,中间内容宽度自适应,即100% 圣杯布局 <style> *{ ma ...
- Bean的生命周期与JVM**
案例: 在service里定义了一个全局变量,这类变量只能是final的.如果不是,在代码中一旦有地方给该变量进行业务赋值.当不满足赋值条件时变量仍然保留上次的赋值的值. 这是因为Bean没有销毁. ...
- 理解Python中的__init__和__new__
先来看一段代码: class A(object): # -> don't forget the object specified as base def __new__(cls): print ...
- 【NOIP2016提高A组模拟8.14】传送带
题目 在一个2维平面上有两条传送带,每一条传送带可以看成是一条线段.两条传送带分别为线段AB和线段CD.FTD在AB上的移动速度为P,在CD上的移动速度为Q,在平面上的移动速度R.现在FTD想从A点走 ...
- List中的Map
List中的Map import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.u ...
- POJ 2229 sumset ( 完全背包 || 规律递推DP )
题意 : 给出一个数 n ,问如果使用 2 的幂的和来组成这个数 n 有多少种不同的方案? 分析 : 完全背包解法 将问题抽象==>有重量分别为 2^0.2^1.2^2…2^k 的物品且每种物 ...
- 可恶!学了这么久的LCA,联考的题目却是LCA+树形DP!!!可恶|!!!这几天想学学树形DP吧!先来一道入门题HDU 1520 Anniversary party
题目描述 某大学有N个职员,编号为1~N.他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司.现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数Ri, ...
- [CF535D]Tavas and Malekas 题解
题意简述 有一个空着的长度为\(n\)的字符串\(ans\),再给出一个长度为\(m\)的序列\(a\),现要在序列中每个元素\(a_i\)的位置开始都规定必须为一个给定的字符串\(s\).问字符串\ ...
- 服务器中常见的RAID
Standalone 最普遍的单磁盘储存方式. Cluster 集群储存是通过将数据分布到集群中各节点的存储方式,提供单一的使用接口与界面,使用户可以方便地对所有数据进行统一使用与管理. Hot sw ...
- SQL 批量修改一个字段的值为另一个字段的值
AND create_time BETWEEN '2016-07-25 14:30:00' AND '2016-07-25 15:20:28'; AND create_time BETWEEN '20 ...