「Linux」鸟叔私房菜 第五章读书笔记

简介:

第五章 Linux 的文件权限与目录配置

5.1 使用者与群组

  • 1.文件拥有者 User
  • 2.群组概念 Group
  • 3.其他人的概念 Others

5.2 Linux文件属性

列出当前目录下的所有文件及目录

ls -ah

5.2.1 Linux 文件属性

输出结果:

-rw-r--r-- 1 root root 2494 7月  23 21:40 weather_test.py

1.第一个字符代表这个文件是『目录、文件或链接文件等等』:

  • 当为[ d ]则是目录;
  • 当为[ - ]则是文件;
  • 若是[ l ]则表示为连结档(link file);
  • 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
  • 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)

2.接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表 可写(write)、[ x ]代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。

  • 第一组为『文件拥有者可具备的权限』;
  • 第二组为『加入此群组之账号的权限』;
  • 第三组为『非本人且没有加入本群组之其他账号的权限』。

3.第二栏表示有多少档名连结到此节点(i-node):
4.第三栏表示这个文件(或目录)的『拥有者账号』
5.第四栏表示这个文件的所属群组
6.第五栏为这个文件的容量大小,默认单位为bytes
7.第六栏为这个文件的建档日期或者是最近的修改日期
8.第七栏为这个文件的档名

  • 如果档名之前多一个『 . 』,则代表这个文件为『隐藏档』

5.2.2 如何改变文件属性与权限

  • chgrp :改变文件所属群组
  • chown :改变文件拥有者
  • chmod :改变文件的权限

1.改变所属群组, chgrp

[root@study ~]# chgrp [-R] dirname/filename ...
选项与参数:
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件、目录
   都更新成为这个群组之意。常常用在变更某一目录内所有的文件之情况。
范例:
[root@study ~]# chgrp users initial-setup-ks.cfg
[root@study ~]# ls -l
-rw-r--r--. 1 root users 1864 May 4 18:01 initial-setup-ks.cfg [root@study ~]# chgrp testing initial-setup-ks.cfg
chgrp: invalid group: `testing' <== 发生错误讯息啰~找不到这个群组名~

注意:要被改变的组名必须要在/etc/group 文件内存在才 行,否则就会显示错误!

2.改变文件拥有者,chown

[root@study ~]# chown [-R] 账号名称 文件或目录
[root@study ~]# chown [-R] 账号名称:组名 文件或目录
选项与参数:
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都变更
范例:将 initial-setup-ks.cfg 的拥有者改为 bin 这个账号: [root@study ~]# chown bin initial-setup-ks.cfg
[root@study ~]# ls -l
-rw-r--r--. 1 bin users 1864 May 4 18:01 initial-setup-ks.cfg
范例:将 initial-setup-ks.cfg 的拥有者与群组改回为 root:
[root@study ~]# chown root:root initial-setup-ks.cfg [root@study ~]# ls -l
-rw-r--r--. 1 root root 1864 May 4 18:01 initial-setup-ks.cfg

用户必须是已经存在系统中的账 号,也就是在/etc/passwd 这个文件中有纪录的用户名称才能改变。
chown 也可以使用『chown user.group file』,亦即在拥有者与群组间加上小数
点『 . 』也行! 不过很多朋友设定账号时,喜欢在账号当中加入小数点(例如 vbird.tsai 这样的账号格式),这就会 造成系统的误判了! 所以我们比较建议使用冒号『:』来隔开拥有者与群组啦!此外,chown 也能单纯的修改所属 群组呢! 例如『chown .sshd initial-setup-ks.cfg』就是修改

3.改变权限, chmod
数字类型改变文件权限,各权限的分数对照表如下:

  • r:4
  • w:2
  • x:1

举个栗子:

  • owner = rwx = 4+2+1 = 7
  • group = rwx = 4+2+1 = 7
  • others= --- = 0+0+0 = 0
[root@study ~]# chmod [-R] xyz 文件或目录
选项与参数:
xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更

符号类型改变文件权限 ,就可以借由 u, g, o 来代表三种身份的权限!此外, a 则代表 all 亦即全部
的身份!那么读写的权限就可以写成 r, w, x 啰

[root@study ~]# chmod u=rwx,go=rx .bashrc
# 注意喔!那个 u=rwx,go=rx 是连在一起的,中间并没有任何空格符! [root@study ~]# ls -al .bashrc
-rwxr-xr-x. 1 root root 176 Dec 29 2013 .bashrc

5.2.3 目录与文件之权限意义

1.权限对文件的重要性

  • r (Read):可读取此一文件的实际内容,如读取文本文件的文字内容等;
  • w (Write):可以编辑、新增或者是修改该文件的内容(但不含删除该文件);
  • x (eXecute):该文件具有可以被系统执行的权限。

2.权限对目录的重要性

  • r (read contents in directory):
    表示具有读取目录结构列表的权限,所以当你具有读取(r)一个目录的权限时,表示你可以查询该目录下的 文件名数据。 所以你就可以利用 ls 这个指令将该目录的内容列表显示出来
  • w (modify contents of directory):
    这个可写入的权限对目录来说,是很了不起的! 因为他表示你具有异动该目录结构列表的权限,也就是底 下这些权限:

    • 建立新的文件与目录;
    • 删除已经存在的文件与目录(不论该文件的权限为何!)
    • 将已存在的文件或目录进行更名;
    • 搬移该目录内的文件、目录位置。
  • x (access directory):
    目录只是记录文件名而已,总不能拿来执行吧?没错!目录不可以被执 行,目录的 x 代表的是用户能否进入该目录成为工作目录的用途! 所谓的工作目录(work directory)就是你 目前所在的目录啦!举例来说,当你登入 Linux 时, 你所在的家目录就是你当下的工作目录。而变换目录 的指令是『cd』(change directory)啰!
组件 内容 迭代物件 r w x
文件 详细资料 data 文件文件夹 读到文件内容 修改文件内容 执行文件内容
目录 文档名 可分类抽屉 读到档名 修改档名 进入该目录的权限(key)

5.2.4 Linux 文件种类与扩展名

5.3 Linux目录配置

5.3.1 Linux 目录配置的依据--FHS

Filesystem Hierarchy Standard (FHS)标准

5.3.2 目录树(directory tree)

ls -al /

5.3.3 绝对路径与相对路径

  • 绝对路径:由根目录(/)开始写起的文件名或目录名称, 例如 /home/dmtsai/.bashrc;
  • 相对路径:相对于目前路径的文件名写法。 例如 ./home/dmtsai 或 ../../home/dmtsai/ 等等。反正开头不是 /就属于相对路径的写法
  • . :代表当前的目录,也可以使用 ./ 来表示;
  • .. :代表上一层目录,也可以 ../ 来代表。
目录
相关文章
|
缓存 IDE Linux
《Linux是怎么样工作的》读书笔记(二)
《Linux是怎么样工作的》读书笔记
177 0
《Linux是怎么样工作的》读书笔记(二)
|
存储 缓存 固态存储
《Linux是怎么样工作的》读书笔记(一)
《Linux是怎么样工作的》读书笔记
273 0
《Linux是怎么样工作的》读书笔记(一)
|
消息中间件 存储 网络协议
《硬核linux攻略》读书笔记更新中
《硬核linux攻略》读书笔记更新中
140 0
|
Shell Linux Perl
《Linux Shell脚本攻略》读书笔记
《Linux Shell脚本攻略》读书笔记
283 0
|
存储 Shell Linux
《Linux命令行与shell脚本编程大全》读书笔记————第一章 初识Linux shell
本章内容 1、什么是Linux 2、Linux内核的组成   1、1 什么是Linux Linux课划分为以下四部分 a)Linux内核 b)GNU工具 c)图形化桌面环境 d)应用软件   1.1.1 深入探究Linux内核 内核主要负责以下四种功能 a)系统内存管理 b)软件程序管理 c)硬件设备管理 d)文件系统管理   1、系统内存管理 内核不仅管理服务器上的可用内存,还可以创建和管理虚拟内存(即实际上不存在的内存)。
1384 0
|
关系型数据库 Linux
《Linux就该这么学》读书笔记
cat /proc/cpuinfo lsmod 安装VNC服务 重置root密码: image.png RPM操作: image.png 日期: image.
1368 0
《Linux内核设计与实现》读书笔记 - 目录 (完结)
《Linux内核设计与实现》读书笔记 - 目录 (完结) 读完这本书回过头才发现, 第一篇笔记居然是 2012年8月发的, 将近一年半的时间才看完这本书(汗!!!).
|
3月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
469 1
二、Linux文本处理与文件操作核心命令
|
3月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
325 137
|
3月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
751 57

热门文章

最新文章