如何建立自己推广网站,广州天河酒店网站建设,工业设计东莞网站建设,网站建设公司擅自关闭客户网络文章目录 一、文件和目录的一些命令ls 命令stat 命令 二、链接的概念三、软链接#xff08;symbolic link#xff09;创建和删除软链接的示例软链接的特性软链接的应用使用 find 查找链接文件 四、硬链接#xff08;hard link#xff09;创建和删除硬链接的示例硬链接的特性… 文章目录 一、文件和目录的一些命令ls 命令stat 命令 二、链接的概念三、软链接symbolic link创建和删除软链接的示例软链接的特性软链接的应用使用 find 查找链接文件 四、硬链接hard link创建和删除硬链接的示例硬链接的特性硬链接的应用 一、文件和目录的一些命令
ls 命令
在bash下执行
ls -a -l -i每一列的含义
因为加了-i选项所以多了一列inode编号
中文解释英文解释节点编号inode文件权限Permissions硬链接数量Hard Links文件所有者Owner文件所属组Group文件大小Size最后修改时间Last Modified文件/目录名Name stat 命令
使用 stat 查看文件的详细信息包括 Inode 号码
stat [FileName]可以查到文件的ACM时间Access、Modify、Change File: ‘log’Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd01h/64769d Inode: 1054710 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1001/ chen) Gid: ( 1001/ chen)
Access: 2088-02-05 14:50:55.609459453 0800
Modify: 2088-02-05 14:50:55.609459453 0800
Change: 2088-02-05 14:50:55.609459453 0800Birth: -[!Abstract] 说明一下 Access - 最后访问时间Modify - 文件内容最后修改时间Change - 属性最后修改时间 二、链接的概念
什么是链接
链接是文件系统中用于关联文件或目录的概念。
软链接和硬链接的区别
软链接也称为符号链接类似于 Windows 快捷方式可以跨文件系统。硬链接指向相同 inode 的文件副本不能跨文件系统。 三、软链接symbolic link 硬链接是通过inode引用另外一个文件软链接是通过名字引用另外一个文件 创建和删除软链接的示例 使用 ln -s 创建软链接 ln -s log log.soft.link可以看到软连接 log.soft.link 有自己独立于 log 的inode编号 和硬链接一样软链接文件向文件中写入数据时原文件中也会存在该数据 但是当原文件被删除后再次查看软链接文件报错 ![[Pasted image 20240207192118.png]] 删除软链接我们可以使用 rm 或 unlink 指令来删除链接文件
软链接的特性
软链接是一个独立的文件有自己的inode软连接存放内容是指向目标文件的路径软链接可以指向不存在的文件删除源文件会导致软链接失效
软链接的应用
软链接最常见的作用之一就是作为快捷方式使用如下myproc.exe 程序在很深的路径下以至于我们每次运行它都很不方便此时我们就可以为它建立一个软链接。 使用 find 查找链接文件
在Linux下可以使用 find 命令来查找软链接文件symbolic links
find /path/to/search -type l其中/path/to/search 是你要搜索的目标路径。上述命令会查找指定路径下的所有链接文件并输出它们的路径。
如果你想要在当前目录及其子目录中查找链接文件可以使用
find . -type l如果你想要在整个系统中搜索链接文件可以使用
sudo find / -type l四、硬链接hard link
创建和删除硬链接的示例
演示如何使用 ln 创建硬链接以及删除硬链接ln hello hello.hard.link两个现象 创建硬链接会改变原文件的硬链接数 (文件权限后紧跟的数字代表文件的硬链接数) 硬链接文件与原文件的文件属性完全相同即硬链接文件与原文件使用同一个 inode 注文件 inode 中存在一个类似于 count 的整形变量来记录文件的硬链接数当我们为文件创建硬链接时 count 加1删除原文件或者硬链接文件时 count 减1C中称为引用计数Linux中称为文件的硬链接数这也就是我们上面观察到文件的硬链接数发生变化的原因所以当一个文件的硬链接数变为0时操作系统才会真正删除该文件即执行将该文件的 inode bitmap 和 block bitmap 对应比特位置0等操作。 硬链接的特性
通过 [[文件系统 inode#5. inode Tableinode表]] 的学习我们了解到真正找到磁盘上文件的并不是文件名而是inode。 在Linux中可以让多个文件名对应于同一个inode这就是硬链接。
硬链接不是一个独立的文件而是在指定目录内部的一组inode文件名的映射关系。创建一个文件的硬链接时新的目录项会被添加到原始文件所在的目录的目录项列表中。一个文件的所有硬链接指向相同的 inode删除任意一个硬链接不影响其他硬链接硬链接不能跨文件系统普通用户不能链接目录
当你在一个目录中创建文件时实际上是在该目录的目录项列表中添加了一个新的目录项该目录项包含了新文件的文件名和相应的inode号。通过inode号系统可以快速找到文件的元数据例如文件的权限、所有者、大小等信息和文件的数据块。 硬链接的应用
Linux 中每个目录下都存在两个隐藏目录 . 和 ..其中 . 代表当前目录.. 代表上级目录 新建一个普通文件其硬链接数是1因为普通文件本身就有一个文件名与 inode 相对应新建一个目录时目录的硬链接数为2这是因为 Linux 中目录下存在隐藏的 .它是目录的一个硬链接如果在当前目录下再新建一个下级目录那么当前目录的硬链接数就会变为3因为下级目录中的 .. 也是当前目录的一个硬链接。(这也是为什么 cd .. 能够回退到上级目录的原因因为 .. 是上级目录的一个别名) 注意Linux 不允许用户给目录创建硬链接只能系统自己创建 (. 和 ..)这是因为给目录创建硬链接可能会在目录中引入循环使得在目录遍历时系统陷入无限循环当中从而导致无法定位到访问目录 (比如系统从根目录开始查找一个文件当在查找过程中遇到根目录的硬链接时就会造成环路查找)。