Linux学习(一)——Linux的文件权限与目录配置

目录

用户、用户组、other

文件权限

改变文件属性与权限

目录与文件的权限意义

Linux文件种类与扩展名

Linux目录配置

Root:

/usr

/var

目录树

其他


用户、用户组、other

用户(user):其实就是一个账号,不同的用户具有不同的权限,root账号具有最高的权限,保存在/etc/passwd下

用户组(group):多个用户组成的一个小组,一个用户可以属于多个用户组,就如一个人可以加多个社团,这个例子中,人就是用户,社团就是用户组,保存在/etc/shadow下

other:用户组外的用户,保存在/etc/group下

文件权限

首先了解一下文件操作有关的命令:

#列出当前文件夹下的所有文件夹以及文件,参数就不多说了,要用的时候在系统上就可以查看
ls

#-a参数列出包括隐藏文件在内(以.开头)的所有文件,-l参数对应的文件属性
ls -al

运行结果如下:

  1. 第一列是文件的权限,由10个字符组成,第一个字符表明文件的属性:
    d表示目录
    -表示文件
    |表示连接文件
    b表示可供存储的接口设备
    c表示串行端口设备,例如鼠标、键盘

    接下来的九个字符每三个为一组,表明用户、用户组、other对文件的操作,w表示可写,r表示刻度,e表示可执行

  2. 第二列记录硬链接的数据,linux中文件的权限与属性都记录到i-node节点,可以有多个文件名指向同一个i-node,这就是硬链接,软链接相当于windows的快捷方式,只是记录文件的路径而已

  3. 第三列记录文件的所有者(user)

  4. 第四列记录文件的用户组(group)

  5. 第五列为文件的大小,单位为B

  6. 第六列为文件的创建日期或是修改日期,如果时间比较久了,则只会显示年份,可以运行ls -l --full-time显示完整的时间

  7. 第七列为文件的名字,以 . 开头的文件为隐藏文件,运行ls是无法查看隐藏文件的

改变文件属性与权限

所用命令

#改变文件所属用户组
chgrp

#改变文件所有者
chown

#改变文件的权限
chmod
  1. chgrp:用于更改文件所属用户组,用户组必须在/etc/group中存在才行,否则会显示错误
    chgrp -R dirname/filename
    
    -R:递归更改,即更改当前目录下的所有文件以及子目录
  2. chown:改变文件的所有者,用户必须在/etc/passwd中存在才行,chown也可以顺手改了用户组
    chown -R 账号名称 文件或是目录
    chown -R 账号名称:组名 文件或是目录
    
    -R:与之前的意思一致
    
    #单纯的修改组名
    chown .组名 文件或是目录
    
    顺带一提cp这个命令,这个命令用于复制文件,同时也会复制文件的属性以及权限
    cp 源文件 目的文件
  3.  chmod:改变文件的权限,可以使用数字或是符号来进行权限的更改,权限——数字对照表:
    r:4
    w:2
    x:1

    chmod的使用方式:

    chmod -R xyz 文件或目录
    #x表示用户的权限,y表示用户组,z表示other,为对应权限分数的累加,例如rwx=4+2+1=7
    #以vim编辑后的文件权限通常为-rw-rw-r--

    可以使用u、g、o来分别代表用户、用户组、other,a表示全部,则chmod还可以如下使用:

    chmod u/g/o/a +(加入)/-(除去)/=(设置) r/w/x 文件或是目录
    
    #设置hello文件的用户权限为rwx,用户组、other为rx
    chmod u=rwx go=rx hello

目录与文件的权限意义

文件的rwx权限意义和目录的不同

权限对文件的意义:

  • r(read):可读取文件的内容
  • w(write):可以更改文件内容,当不包括删除
  • x(execute):可以执行,文件能否执行是由是否具有x权限决定的,而不是文件的后缀名

权限对目录的意义:

  • r:表示具有读取目录结构的权限,即使用ls
  • w:可以更改目录结构(新增、删除、重命名、转移文件与目录)
  • x:表示是否可以进入该目录,即是否可以cd进改目录

Linux文件种类与扩展名

任何设备在linux下都是文件,linux的文件扩展名只是让我们了解该文件的可能用途,在网络上下载可执行文件到本地,却发现无法执行,可能和文件操作的权限有关

文件种类

  • 普通文件:普通文件又可以分为文本文件和二进制文件,鸟哥的私房菜里面还有一个数据格式文件,我觉得就是二进制文件
  • 目录
  • 连接文件
  • 设备与设备文件:与系统外设及存储相关的一些文件,通常存放在/dev文件夹下,可分为块设备文件(随机访问的接口设备文件)、字符设备文件(串行端口的接口设备对应的文件)
  • 套接字:用于网络数据连接的文件
  • 管道:用于进程间通信的文件

Linux目录配置

目录配置标准:FHS(懒,直接上图)

目录的四种交互形态:

  • 可分享:可以被其他主机访问
  • 不变的:存放不会经常变动的数据,例如函数库

FHS只是规定了三层目录下应放置的数据:

  • /(root目录):存放开机有关的文件
  • /usr:存放软件安装后的文件
  • /var:存放系统或是软件运作过程有关的文件

接下来一一介绍这三个目录的子目录(继续偷懒,上图):

Root:

FHS规定的目录就只有上面这些,但是根目录下也有其他一些目录:

一些目录与开机有关,是不能与根目录分离的:

  • /etc:配置文件
  • /bin:重要的执行文件
  • /dev:所需要的设备文件
  • /lib:执行文件所需要的函数库与内核所需要的模块
  • /sbin:重要的系统执行文件

/usr

usr不是user的缩写,而是unxi software resource的缩写,是软件的安装目录

/var

/var目录主要针对常态性变动的文件,包括缓存(cache)、登录文件(log file)以及某些软件运作所产生的文件

目录树

linux的文件系统逻辑结构是树状的:

其他

. :代表当前目录

.. :代表上一层目录

猜你喜欢

转载自blog.csdn.net/dhaiuda/article/details/82530211
今日推荐