Linux学习笔记(十一)--命令学习(文件权限属性)

在进行新内容学习前,我们先把上面的内容简单的回顾下:


  1. 绝对路径:『一定由根目录 / 写起』;相对路径:『不是由 / 写起』

  2. 特殊目录有:., .., -, ~, ~account需要注意;

  3. 与目录相关的命令有:cd, mkdir, rmdir, pwd 等重要命令;

  4. rmdir 仅能删除空目录,要删除非空目录需使用『 rm -r 』命令;

  5. ls 可以检视文件的属性,尤其 -d, -a, -l 等选项特别重要!

  6. 文件的复制、删除、移动可以分别使用:cp, rm , mv等命令来操作;

  7. 检查文件的内容(读档)可使用的命令包括有:cat, tac, nl, more, less, head, tail, od 等

  8. cat -n 与 nl 均可显示行号,但默认的情况下,空白行会不会编号并不相同;

  9. touch 的目的在修改文件的时间参数,但亦可用来创建空文件; 

linux 文件权限属性命令

    这里我们提到的文件属性其实与windows 中的 右键>>属性 效果差不多,在里面都可以查看文件的类型、所属组、所属人、建立时间、权限等等。但由于linux里主要是使用cli操作,所以我们就有必要认识下相关的命令。

    但在学习使用命令前,我们还要去了解linux属性的相关知识:

1、如何查阅文件权限属性,里面包含有那些内容??

    ls -l 

wKiom1Q4vzbxtSa2AAPa7Nyt7rQ573.jpg

上面红色框住的部分就是文件的属性。分别有文件类型、所属组、所属成员、文件大小、创建时间日期等。

具体那些是表示什么,请看下面的文件属性示意图:

wKioL1Q4xbOhMVFJAAERZRNtTxs182.jpg

其中我们主要去了解的是前面部分(也就是权限部分),其中它又分为四部分。

wKioL1Q4y5SjzhDuAAGjWRlT6jU391.jpg

    A、第一部分的表示:文件类型

    [ d ]则是目录

    [ - ]则是文件

    [ l ]则表示连结档(link file);

    [ b ]则表示装置文件里面的可供储存的接口设备(可随机存取装置);

    [ c ]则表示装置文件里面的串行端口设备,例键盘、鼠标(一次性读取装置)。


    B、第二、三、四部分详细如下图:

wKioL1Q47ADhfEppAAIZBtrm2mk373.jpg

2、现在我们会看上面的内容,也知道各个部分所要表达的意思了,但是上面的字母(R W X)又是表示什么 意思呢???

wKiom1Q48lPjEeLoAAI_sPOEU90438.jpg 

通过上面的学习,我们已经知道上面的这些是什么意思了,所以我们现在又要进行命令的学习了,通过命令的学习,我们将对上面的这些相关的属性进行更改与调整。

    因下面的命令都是要使用root或者有管理员权限的用户来操作,而且要同时且有二个用户,在这里我就不先创建管理员,直接使用root来操作,但因现在系统中只有一个用户(hznethome),所以我们还要创建一个用户(linux中默认的情况下,创建一个用户,它就会以该用户创建一个该组。下面我们开始创建用户、加密码等。

wKiom1Q4_P_CzGfSAAM7FYiw0YM827.jpg


chown   chmod    chgrp   chattr   lsattr  umask命令学习


命令 chown (change owner 英文的缩写)
功能 由字面上理解我们知道 chown 是改变使用者的拥有权限的意思
语法 chown 【参数】【拥有者】【要做更改的文件名】
扩展 -R  :如果想要让目录以下的文件都递归式的更改成这个权限,使用参数 R
实例

1、下面我们把 hznethome用户里的/tmp/blog/hznethome里的一个test.txt的文件拥有都的权限更改成  hz用户的。

wKiom1Q4_nnDPRalAAJ7-41LgMo156.jpg

2、如果我们要想一次把所有的文件都更改成 hz为woner,我们就要使用上面提到的参数 R,例如,我想把hznethome里的所有文件全更改成用户hz拥有者。

测试环境:/tmp/blog/hznethome 里有 hz net home 与test.txt ,其中在hz文件夹里有一个hz.txt文件,如下图:

wKioL1Q5HW_SNyIXAAFO2j55KRE486.jpg

那我们先检查下它们现在的拥者是谁,方便下面进行对比。在图里可以看到,所有的拥有者都是 hznethome 用户的。

wKioL1Q5HtfC1lA4AAMizm_Qg6s108.jpg

环境搭建好,我们就开始上面的操作,利用参数 -R 把hznethome里的文件拥有都都更改成  hz用户的。

wKioL1Q5IGDSr1p6AAYEpYI0QBE466.jpg


命令 chmod (change model 英文的缩写)
语法 chmod 【参数】 XYZ 要更改的文件或者文档名
功能 变更文件权限
扩展

1、XYZ分别为每个组的rwz相加之和

如:X=r+w+z Y=r+w+z Z=r+w+z

2、-R  递归式变更,与上面的chown的用法一样

实例

1、现在我们把hznethome里的test.txt文件权限更改成 777

wKioL1Q5IwuyRH-gAAH1qhU6Umc824.jpg

2、现在我们把hznethome 用户建立的  /tmp/blog/hznethome里的文件权限全改成 777.

wKiom1Q5JCjTe5hEAAZHN8I5z9E277.jpg

3、我们还可以使用下面的方式对文件权限的更改。

下面将引用网上的一张图片来说明这个,我在这里也就不做测试 了,有兴趣的可以回去自己进行测试。 图片来源 希望不会造成版权问题,哈。。。

wKiom1Q5JbCj4PFnAAOeULO8g3U746.jpg


命令 chgrp (change group 英文缩写)
语法 chgrp 【参数】 要更改的拥有群组 要进行更改的文件或者文档名
功能 变更文件所属群组
扩展 -R :与上面的一致,递归式变更群组
实例

下面我们一样把  原拥有者 hznethome 的/tmp/blog/hznethome 文件群组由hznethom变更成hz用户的。

wKiom1Q5KT_SiPLcAAVSD2dp_nM289.jpg


命令 umask 
语法 umask 【参数】 要减少权限的文件或者文档名
功能 减少文件或者文档的权限
扩展 umask -S >>>显示当前文件或者文档的权限
实例

1、我们来查看当前 hznethome用户中 /tmp/blog/hznethom文件里的默认权限

wKiom1Q5LoTAn4iYAAKiAV2eNWM928.jpg

2、现在我们就用 umask 来更改默认值。

wKioL1Q5XB6T4EVXAAShEoJ9ifM988.jpg

从上面的二个对比 ,我们可以很明确的知道,新建的文件夹与文档都是按新的默认权限来新建。


命令 chattr (注意:这个只能是root用户才可以使用)
语法 chattr 【+ & - & =】【参数】 文件或者文档名
功能 设置文件或者文档的隐藏属性
扩展

+   :添加某一个特殊参数,其他原本存在参数则不动。
-   :移除某一个特殊参数,其他原本存在参数则不动。
=   :配置一定,且仅有后面接的参数

---------------------------------------------------------------------------

a  :当配置 a 之后,这个文件将只能添加数据,而不能删除也不能修改数据,只有root
    才能配置这个属性。

i  :这个 i 可就很厉害了!他可以让一个文件『不能被删除、改名、配置连结也无法
    写入或新增数据!』对於系统安全性有相当大的助益!只有 root 能配置此属性

实例

1、设置i的属性,并测试改名。

wKiom1Q5ZaaScZp6AAf8A1HG-Rs841.jpg

2、测试添加数据与删除。

  +a 后可以添加数据,但不能删除

wKioL1Q5Z4GjnK0-AAQ-lt3_Sp4479.jpg

上面可以看到是不可以删除,但是添加数据呢?我们再来测试下


在这里我也弄不清楚是为什么???我把文档的权限设置成 777后,还是不能正常的添加数据,唉。。。所以下面的这个也就去测试了,有兴趣的自己去弄下吧,sorry...


  +i 后不可以添加数据,也不能删除

命令

lsattr 

语法 chattr 【+】【参数】加要显示隐藏属性的文件 &文档名
功能 显示隐藏的文件&文档属性
扩展 +a :把所有隐藏的属性全部显示出来
实例 wKioL1Q5bQOSo3iVAAQ9YZSzL7s269.jpg

不知大家还记得上面权限时,提到一个连接的,但是俺没有做过多的解释,现在我们再来看下它吧!!

    当我们创建一个目录时 hznethome,它会默认创建三个,它们分别是:

    hznethome    >>>创建的文件目录

    hznethome/.  >>>>代表当前目录

    hznethome/.. >>>>代表上一级目录

现在明白上面我们创建目录时,它的连接数为 2 了吧??


你可能感兴趣的:(windows,linux,touch,account,根目录)