知识点小结~1

一、软链接与硬链接方面

1、软链接和硬链接的区别:
#原理上:
硬链接:A是B的硬链接(A和B都是文件名),则A的目录项中的inode节点号与B的目录项中的inode节点号相同,即一个inode节点对应两个不同的文件名,
    两个文件名指向同一个文件,A和B对文件系统来说是完全平等的。如果删除了其中一个,对另外一个没有影响。每增加一个文件名,inode节点上的链接数增加一,
    每删除一个对应的文件名,inode节点上的链接数减一,直到为0,inode节点和对应的数据块被回收。注:文件和文件名是不同的东西,rm A删除的只是A这个文件名,
    而A对应的数据块(文件)只有在inode节点链接数减少为0的时候才会被系统回收。
软链接:A是B的软链接(A和B都是文件名),A的目录项中的inode节点号与B的目录项中的inode节点号不相同,A和B指向的是两个不同的inode,
    继而指向两块不同的数据块。但是A的数据块中存放的只是B的路径名(可以根据这个找到B的目录项)。A和B之间是“主从”关系,如果B被删除了,
    A仍然存在(因为两个是不同的文件),但指向的是一个无效的链接。
#使用限制上:
硬链接:a.不能对目录创建硬链接,原因有几种,最重要的是:文件系统不能存在链接环(目录创建时的".."除外,这个系统可以识别出来),
    存在环的后果会导致例如文件遍历等操作的混乱(du,pwd等命令的运作原理就是基于文件硬链接,顺便一提,ls -l结果的第二列也是文件的硬链接数,即inode节点的链接数)
    b:不能对不同的文件系统创建硬链接,即两个文件名要在相同的文件系统下。
    c:不能对不存在的文件创建硬链接,由原理即可知原因。
软链接:a.可以对目录创建软链接,遍历操作会忽略目录的软链接。
    b:可以跨文件系统
    c:可以对不存在的文件创建软链接,因为放的只是一个字符串,至于这个字符串是不是对于一个实际的文件,就是另外一回事了。
#命令
硬链接:ln 源文件 链接名
软链接:ln -s 源文件 链接名

2、执行rm命令

#软链接:

  删除软链接文件时,若软链接的源文件为目录,执行rm -rf filename/为删除源文件内容;

  执行rm -rf filename为删除软链接文件。

#硬链接:

  针对硬链接执行rm操作对源文件内容无任何影响,只是减少链接数。

二、各种引号的区别

''(单引号):在命令中使用单引号,其中的内容被当做字符串处理,命令及变量均不能被识别。

""(双引号):在命令行中使用双引号,其中的内容所包含的变量会被识别,但命令不能被识别。

``(反向单引号):在命令行中使用反向单引号,其中的内容所包含的变量和命令均会被识别,常用于命令调用,被调用命令放置于反向单引号内。

三、cp与mv命令的工作原理

cp命令:分配一个空闲的inode号,在inode表中生成新条目,在目录中创建一个目录项(文件名),将名称与inode编号关联到拷贝数据生成的新文件。

mv命令:1、若目标文件和源文件在同一文件系统,则用新的文件名创建对应新的目录项,删除旧目录条目对应的旧文件名,由于没有数据移动,则不影响inode表(除时间戳)或磁盘上的数据位置。

    2、若目标文件和源文件不在同一文件系统,则mv相当于cp和rm。

四、用户与组之间的关系

#将用户加入组(作为附加组)的三种方式

  1、 usermod  -aG    组名        用户名

  2、gpasswd   -a      用户名    组名

  3、groupmems  -a   用户名     -g    组名

#将用户移出组的两种方式

  1、gpasswd  -d  用户名    组名

  2、groupmems  -d   用户名   -g   组名

五、文件权限

  对文件或执行删除操作,即便该用户对改文件或目录无任何权限,只要对该文件或目录所在目录有w和x权限,便可执行删除操作,删除的是该文件或目录所在父目录中存放的名称与inode号的映射关系,并未对所要删除的文件或目录进行操作。其中切记x权限时目录的基本权限,若对目录没有x权限,其余权限均无用武之地。

猜你喜欢

转载自www.cnblogs.com/FightMG/p/10889656.html