linux之杂项
理解文件系统上的复制,移动,删除

    文件系统上文件由元数据(metadata)和数据(data)组成

-    inode中保存文件元数据信息:
        文件类型,权限,UID,GID,链接数,大小,时间戳,block号等属性信息

-    block中保存文件的内容数据;
     间接指针是inode防止block号过多,而无法在inode中存储时,将使用block来保存文件block号.

-    目录中保存信息:
        inode与目录下文件名的映射关系,保存至block中

-    同分区复制、移动、删除
        复制操作:
            分配新block并将原block填充至此,分配新inode,并在目的目录的block中加入此inode及文件名的映射关系
        移动操作:
            将此文件上级目录中的block中记录的inode与文件名映射关系删除,在到目的的上级目录中block中添加这条记录
        删除操作:
            将此文件上级目录中的block中记录的inode与文件名映射关系删除

-    不同分区的复制、移动
          复制: 同上复制操作,但速度较慢,由于是不同分区
          移动: 先复制,再删除

-    链接
        硬链接
            实际操作:
                往父目录中block增加同一映射条目

        软链接
            实际操作:
                创建新文件,当此block中保存的内容是目标文件的地址以及结束符

                例:
                    lrwxrwxrwx. 1 root   root      8 Aug 30 00:46 zzz -> /app/t1/
                    文件大小为8,'/app/t1/'末尾有结束符,一共为8个字符

        建议:
            硬链接不能跨分区
            硬链接数为0时才删除此文件

            软连接推荐使用相对路径,防止在目录名称修改等情况,一些绝对路径的连接会失效

- ln
    创建连接文件

    ln -v SRC_FILE LINK_FILE   创建硬链接并显示过程
    ln -sv SRC_FILE LINK_FILE  创建软链接并显示过程