笔记 — Linux的文件系统与目录配置

用户与用户组

1.文件拥有者(user)

文件拥有者也就是用户,只要设置适当的权限,就拥有对文件查看或者修改的权利。

2.用户组(group)

用户组:几个用户共同构成一个组。在团队协同合作时,每个账号都可以有多个用户组的支持。

3.其他人(others)

对于用户和用户组来说是“其他人”。

  • root 在 linux系统中具有最高权限
  • 所有的系统上的账号与一般身份用户,以及 root 的相关信息都记录在 /etc/passwd这个文件中。个人密码记录在/etc/shadow这个文件中。Linux中所有的组名都记录在/ets/group中。这三个文件可以说是 Linux 系统里账号、密码、用户组信息的集中地,不能随便删除这三个文件。

Linux 文件权限概念

Linux 文件属性

使用ls -al来查看所有文件详细的权限与属性(包含隐藏文件,及文件名第一个字符为.的文件,而ls命令不会显示隐藏文件)

drwxr-xr-x   6 root  root   192  9 25 16:39 .
drwxr-xr-x+ 48 root  root  1536 11  1 16:57 ..
-rw-r--r--@  1 root  root  6148  9 25 16:39 .DS_Store
drwxr-xr-x   5 root  root   160  9 25 16:39 bin
[ 权限 ][链接][拥有者][用户组][文件容量][修改日期][文件名]
1.第一栏代表这个文件的类型与权限
  • 第一个字符代表这个文件是目录、文件或链接文件
  • [d] 代表目录,[-] 代表文件,[l] 代表链接文件
  • 接下来的字符为三个一组,且均为 [rwx] 的组合,[r] 代表可读(read),[w] 代表可写(write),[x] 代表可执行(execute)。如果没有相应权限的时候,该项会为 [-]
  • 第一组代表文件拥有者所具有的权限,第二组代表用户组所具有的权限,第三组代表其他人所具有的权限
2.第二栏表示有多少文件名链接到此节点
3.第三栏表示该文件(或目录)的拥有者账号
4.第四栏表示该文件的所属用户组
  • 属于该用户组的用户可以对该文件有相应的权限
Linux 文件系统权限的重要性
  • root 基本上是不受系统权限所限制,无论文件权限是什么,默认 root 都可以进行读写
  • 团队共同开发软件或是数据共享等功能

如何修改文件属性以及权限

  • chgrp:修改文件所属用户组
  • chown:修改文件所属文件拥有者
  • chmod :修改文件权限

修改所属用户组:chgrp

  • 被修改成的组名必须在/etc/group
  • chgrp [-R] group dirname/filename:更改某个文件的用户组

修改文件拥有者:chown

  • 被修改成的用户者必须在/etc/passwd
  • chown [-R] owner dirname/filename:更改某个文件的拥有者
  • chown [-R] owner:group dirname/filename:同时更改某个文件的拥有者和用户组
  • 用途:在用命令进行复制的时候cp A B(将A复制给B),而复制又会同时复制执行者属性和权限。这时就可以用chown来更改相关权限

修改权限:chmod

1.数字类型修改文件权限
  • 用数字代表各个权限。r : 4,w : 2,x : 1。
  • 每个身份的权限是进行累加的。例如:owner = rwx = 4 + 2 + 1 = 7
  • chmod [-R] xyz dirname/filename:xyz 即为三位累加的权限值
2.符号类型修改文件权限
  • u、g、o、a来分别表示user、group、others、all(所有人)
  • +、-、=来分别表示 加入,移除,设置
  • chmod u=rwx,go=rw .bashrc :修改各项权限
  • chmod a+w .bashrc:使每个人对该文件各写
  • chmod a-x .bashrc:拿掉所有人的可执行权限

目录与文件的权限意义

1.对于文件的重要性
  • r:指可读取该文件的实际内容
  • w:可以编辑、修改、或新增该文件的内容(但不包括删除该文件)
  • x:指该文件有被系统各执行的权限。文件能否被执行,仅由 [x] 该项来决定,与文件名没有绝对关系。
  • 删除文件由目录中的 [x] 权限来决定
2.对于目录的重要性
  • r:具有读取目录结构列表的权限
  • w:具有改动该目录结构列表的权限(新建、删除、更名、移动)
  • x:指用户能否进入该目录并使之成为工作目录(可简单理解为能否通过cd命令进入,也可理解为进入该目录的权限)
  • 注意:如果在某目录中不具有 [x] 的权限,那么就无法切换到该目录下,无法执行该目录下的任何权限,即使拥有了 [w] 或 [r] 的权限。
  • 通常情况下要开放目录,至少要提供 [w] [r]两种权限。

Linux 文件种类名与扩展名

1.文件种类
  • 常规文件:第一个属性为 [-]。主要又分为纯文本文件(可使用 cat 打印)、二进制文件(binary file)、数据文件(可使用 last打印)
  • 目录:第一个属性为 [d]
  • 链接文件:第一个属性为 [l]
  • 设备与设备文件:与系统周边及存储相关的文件,集中在 /dev目录下
2.Linux文件扩展名
  • 一个文件能否被执行与文件名无关,[x] 仅代表该文件具有可执行的能力,能不能执行成功,要看该文件的内容。
  • .sh指脚本

Linux目录配置 -- FHS

三个重要目录:

  • /:root 根目录,与启动系统有关
  • /usr:与软件安装/执行有关
  • /var:与系统运行过程有关
    四种交互作用形态:
  • shareable
  • unshareable
  • static
  • variable
1.根目录下比较重要的几个目录
  • /bin:存放一些可执行文件,以及一些可使用的命令,如cat、chmod、chown、mv、mkdir、cp等等
  • /etc:包含了系统主要的配置文件,一般用户只能查看,只有 root 才有权利修改
  • /lib:启动时会用到的一些库函数,以及在 /bin/sbin中的命令调用的库函数
  • /sbin:包括了启动、修复、还原系统所需要的命令
2./usr下几个重要的目录
  • /usr/bin:同 /bin
  • /usr/lib:同/lib
  • /usr/sbin:同/sbin,最常见的就是某些服务器软件的服务命令(deamon)
  • /usr/local:用来存放系统管理员下载的一些软件
3./var下几个重要的目录
  • /var目录下主要存放一些经常性变动的文件,例如缓存(cache)、日志文件(log file),以及某些软件运行时所产生的的文件。
  • /var/lib:程序在执行过程中,需要使用的数据文件放置的目录
  • /var/cache:主要存放程序运行过程中产生的缓存
  • /var/log:非常重要。存放日志的路径。

绝对路径与相对路径

  • 绝对路径:由根目录(/)开始写起的文件或目录名,例如/home/dmtsai
  • 相对路径:对于目前文件名的相对写法,例如./home/dmtsai或者../../home/dmtsai。不是/开头的都是相对路径。
  • .:表示当前目录,也可以用./来表示,例如./main命令就是执行该目录下的main文件。
  • ..:表示上一级目录,也可以用../来表示。cd ..回到上一级目录。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。