【Linux】文件系统中inode与软硬链接以及读写权限问题
warning:
这篇文章距离上次修改已过190天,其中的内容可能已经有所变动。
在Linux文件系统中,每个文件都有一个inode(索引节点),它包含了文件的元数据,比如文件的大小、所有者、创建时间等。但是,inode并不包含文件名,文件名存储在目录项(directory entry)中,目录项关联了文件名和inode号。
软链接(symbolic link)就是一个常规文件,它含有另一文件的路径指向那个文件的inode。当你读取软链接的内容时,你实际上读取的是它指向的文件的路径。
硬链接(hard link)是一个指向inode的新的文件名,它允许你用不同的文件名访问同一个文件。硬链接的创建不会复制文件内容,它仅仅创建新的文件名指向已存在的inode。
对于读写权限,Linux文件系统使用9位权限位来控制。前三位是模式(模式为空格或者t,表示普通文件或者目录,还有一个t代表sticky bit),接下来的三位是所有者权限(user),再接下来的三位是组权限(group),最后三位是其他人(others)的权限。每个位可以设置为r(读权限)、w(写权限)、x(执行权限)或者-(无权限)。
例如,如果你想给一个文件设置所有者可读写执行,组用户可读执行,其他人无权限,你可以使用如下命令:
chmod 750 filename
如果你想给一个文件设置软链接,你可以使用如下命令:
ln -s target_file soft_link_file
如果你想给一个文件设置硬链接,你可以使用如下命令:
ln target_file hard_link_file
评论已关闭