学习鸟哥的Linux私房菜笔记(5)——目录
一、目录
目录在文件类型上用d来表示,用 / 分割目录层
Linux操作系统 都有且仅有一个起始目录,我们用一个单独的 /来表示,称其为根目录。
对每一个Shell和操作环境,都有一个当前的工作目录。
二、 . 文件与 ..文件
在每一个目录下都有一个.文件与 .. 文件。
. 文件是对当前目录的一个硬链接
.. 文件是对上级目录的一个硬链接
三、目录的权限
目录也是一种文件
目录上的读写执行权限与普通文件有所不同:
读:用户可以读取目录内的文件
写:单独使用没有作用。与执行权限连用可以在目录内添加与删除文件。
执行:用户可以进入目录,调用目录内的资料
四、强制位于冒险位
除了读写执行权限以外,ext2文件系统还支持强制位(setuid和setgid)与冒险位(sticky)的特别权限。
针对u, g, o, 分别有set uid, set gid, 及 sticky
强制位与冒险位添加在执行权限的位置上。如果该位置上原已有执行权限。则强制位与冒险位以小写字母的方式表示,否则,以大写字母表示。
set uid与set gid在u和g的x位置上各采用一个s,sticky使用一个t
(1)set gid对目录的作用
默认情况下用户建立的文件属于用户当前所在的组。
目录上设置了setgid,表示此目录中,任何人建立的文件,都会属于目录所属的组。
如何查看默认用户及组呢? id 用户名
添加强制位权限
添加强制位权限后再来在该目录下建立文件
(2)冒险位对目录的作用
默认情况下,如果一个目录上有w和x权限,则任何人可以在此目录中建立与删除文件。
一旦目录上设置了冒险位,则表示在此目录中,只有文件的拥有者、目录的拥有者与系统管理员可以删除文件。
(3)强制位对文件的作用
在可执行文件上,用户可以添加set uid 和set gid
默认情况下,用户执行一个指令,会以该用户的身份来运行程序。
指令文件上的强制位,可以让用户执行指令,以指令文件的拥有者或所属组的身份运行进程
(4)设置强制位与冒险位
用户可以用chmod指令来为文件设置强制位与冒险位
set uid : chmod u + s 文件名
set gid : chmod g + s 文件名
sticky : chmod o + t 文件名
强制位与冒险位也可以通过一个数字加和,放在读写执行的三位数字前来指定
4(set uid)
2(set gid)
1(sticky)
注意:set uid 只能在文件上面设定、set gid能在目录和文件上面设定、sticky只能在目录上面设定
五、umask
每个用户建立文件时,此文件都会有默认权限
默认权限的值由环境中的umask值来确定
用户可以自主改动umask值,并在改动后建立的文件上得到体现
一般用户的默认uask值为002,系统用户的默认umask值为022.
如果没有umask时文件默认权限是rw-rw-rw-、目录默认权限是rwxrwxrwx
上面的新建文件的权限计算方法,没有umask时默认权限减去umask值
rw-rw-rw-
6 6 6
0 2 2 (去掉组写权限、和普通用户写权限)
6 4 4
rw-r--r--
由此可见,如果要去掉某个权限,则umask该位就是该权限码
六、根目录下的目录
Linux目录遵循FHS标准:http://www.pathname.com/fhs/
FHS标准规范了每个目录下应该放什么数据,如下表:
/ :根目录,一般建议在根目录下只有目录,不要直接有文件。根目录是启动时系统第一个载入的分区,所以,所有启动过程会用到的文件都应该放在这个分区。如:/etc /bin /dev /lib /sbin 这5个子目录都应该与根目录连在一起,不可独立成为某个分区。
/bin :存储常用用户指令
/boot :这个目录主要目的是存放Linux系统启动时用到的文件。启动会用到的Linux的核心文件。这个目录下面的文件vmlinuz就是linux的核心。如果引导程序选择grub,这个目录内还有 /boot/grub子目录
/dev :在Linux系统上,任何设备都以文件类型存放在这个目录中。访问这个目录下面的某个文件,就等于访问某台设备。设备又分为字符设备,例如键盘、鼠标等,块设备,例如硬盘、光盘等。在此目录下的文件会多出两个属性,分别是主设备号和辅助设备号。
/etc :存储系统、服务的配置目录与文件,一般这个目录下的文件是可以让一般用户看的,但只有root用户可以修改。
/home :存放个人主目录
/ib :存放库文件,诸如核心模块、驱动
/lost+found :存储fsck用的孤儿文件,系统出现异常,产生错误时,会将一些遗失的片段放于此目录下,通常这个目录会自动出现在某个分区最顶层的目录下。
/mnt :系统加载文件系统时用的常用挂载点
/opt :第三方工具使用的安装目录
/proc :虚拟文件系统,包含系统讯息等资料
/root :root用户的主目录
/sbin :存储系统管理用指令,这个目录是给root用户管理用的
/tmp :临时文件的暂存点
/usr :存放与用户直接相关的文件与目录
/var :存储在系统运行中可能会更改的数据
学习鸟哥的Linux私房菜笔记(5)——目录的更多相关文章
- 学习鸟哥的Linux私房菜笔记(1)——Linux系统入门
今天在阿里云申请了一个centos系统的云服务器,以前对linux了解的只是皮毛,记了几个命令还给忘了,整了半天都弄不好,作为一个做过javaweb开发的coder实在是惭愧啊,决定从今天开始学习Li ...
- [置顶] 学习鸟哥的Linux私房菜笔记(6)——过滤器、输入输出及管道
一.过滤器 Linux中的应用工具分为三种: 交互工具 过滤器 编辑器 能够接受数据,过滤再输出的工具,称之为过滤器 对过滤器和进程,存在着输入源与输出对象 二.输入.输出.重定向 输入:过滤器的数据 ...
- 学习鸟哥的Linux私房菜笔记(17)——Linux引导流程
一.系统引导流程 第一步:固件fireware(CMOS/BIOS)--POST加点自检(与操作系统无关) 这一步主要是检查硬盘等硬件是否能正常工作 CMOS:是固化在主板上,详细:http://sc ...
- 学习鸟哥的Linux私房菜笔记(16)——Ubuntu中建立ftp服务
1.安装vsftpd,如下图所示:sudo apt-get install vsftpd 2.查看本机是否可以连接ftp 如上图所示,发现login failed了,怎么办呢?我们来看看vsftpd的 ...
- 学习鸟哥的Linux私房菜笔记(15)——文件系统
一.文件结构 为了能在设备上存储与读取文件,我们需要在分区上创立文件系统 文件系统记录目录与文件我们称之为文件结构 每一个文件系统在Linux里都被解释成由一个根目录为起点的目录结构 Linux将各个 ...
- 学习鸟哥的Linux私房菜笔记(14)——硬件配置与管理
一.设备文件 Linux沿袭了Unix的风格,将所有设备看成一个文件 设备文件分为两种: 块设备文件(b):比如硬盘.光驱 字符设备文件(c):比如串口.键盘 设备文件一般存放在/dev目录下 二.常 ...
- 学习鸟哥的Linux私房菜笔记(13)——用户管理
一.检查用户身份 用户可以使用下列指令了解用户身份 who :查询当前在线的用户 groups :查询用户所属组 id :显示当前用户信息 finger :查询用户信息 二.添加用户 用指令添加命令 ...
- 学习鸟哥的Linux私房菜笔记(9)——bash1
一.Shell简介 Shell :命令行解释器,是用户与系统沟通时的媒介 在Unix系统中有各种Shell, Linux采用bash为其默认shell 系统可以使用的shell记录在 /etc/she ...
- 学习鸟哥的Linux私房菜笔记(8)——文件查找与文件管理2
四.压缩 gzip, gunzip Linux标准压缩工具 对文本文件可以达到75%的压缩率 compress, uncompress 旧的Unix压缩工具 bzip2, bunzip2 更新的Lin ...
- 学习鸟哥的Linux私房菜笔记(6)——过滤器、输入输出及管道
一.过滤器 Linux中的应用工具分为三种: 交互工具 过滤器 编辑器 能够接受数据,过滤再输出的工具,称之为过滤器 对过滤器和进程,存在着输入源与输出对象 二.输入.输出.重定向 输入:过滤器的数据 ...
随机推荐
- ORA-01665 control file is not a standby control file
ORA-01665错误处理 问题描述: 在备库启动至mount状态时,报如下错误: ORA-01665: control file is not a standby control file 解决办法 ...
- 洛谷 P2118 比例简化
P2118 比例简化 题目描述 在社交媒体上,经常会看到针对某一个观点同意与否的民意调查以及结果.例如,对某一观点表示支持的有1498 人,反对的有 902人,那么赞同与反对的比例可以简单的记为149 ...
- SSH进阶(2)——用Struts拦截器实现登陆限制
拦截器从字面意思来看就是限制.限制用户訪问某些网页.在Action提出请求之前用拦截器来做权限设置,让符合的用户跳入对应的界面中.近期做的一个商城项目中就用到了自己定义的拦截器,实现了一个简单的ses ...
- 关于DOM的有关总结
1.获取DOM元素 document.getElementById() 通过id获取DOM元素 document.getElementsByClassName() 通过类名获取DOM元素 docum ...
- jmeter--响应断言
背景 在测试过程中,我们需要对某个请求的结果进行判定. 比如我们搜索“你好”,请求发送成功,返回响应码也是200,但是并不能说明返回的响应就是对的,我们可能还需要判定响应结果包含“你好”.这个时候,我 ...
- Docker使用Dockerfile创建Centos(tomcat+jdk)镜像
原文链接:https://blog.csdn.net/qq_37936542/article/details/80824389 Docker构建镜像的方法主要有两种: (1)使用docker c ...
- java中的switch用String作为条件
在开发java程序的过程中,我们遇到了条件推断首选就是switch,可是java中的switch功能不支持字符串作为条件.这时我们该怎么办呢? --使用枚举. 一.枚举简单了解 1.enum是一 ...
- 《从零開始学Swift》学习笔记(Day 63)——Cocoa Touch设计模式及应用之单例模式
原创文章,欢迎转载.转载请注明:关东升的博客 什么是设计模式.设计模式是在特定场景下对特定问题的解决方式.这些解决方式是经过重复论证和測试总结出来的. 实际上.除了软件设计,设计模式也被广泛应用于其它 ...
- 通达OA 小飞鱼在线开发培训第一讲介绍(图文)
培训课件的主要内容.须要參加培训的同学要注意了.课程内容以有用为主.课件仅供參考.
- bootstrap课程3 bootstrap中常用的排版样式有哪些
bootstrap课程3 bootstrap中常用的排版样式有哪些 一.总结 一句话总结:bootstrap里面对常用表情比如p.h1.code等html中的常用表情都修改了样式,照着手册用就好,样式 ...