Linux中怎么看出文件是硬连接?
使用ls -l命令,看结果中文件权限后面的数字,如果数字是大于1,证明此文件是有硬链接文件。Linux相关学习的话,可以去黑马程序员要一些课程大纲,还有配套视频。官网对话框就可以直接领取。因为黑马相对来说课程贴合市场需求,所以看着他们的课程学习相对比较系统。
可以通过查询文件的硬链接数来判断,如果硬链接数大于1则说明文件是硬链接。
查看硬链接是可以使用命令“ls -l”,返回结果的第二列为硬链接数。
用法示例:
可以看到file1和file3的硬链接数都大于1,为硬链接。
值得注意的是,硬链接和源文件是无法区分的,两个文件具有相同的大小、创建时间等信息。
可以通过查询文件的硬链接数来判断,如果硬链接数大于1则说明文件是硬链接。
查看硬链接是可以使用命令“ls -l”,返回结果的第二列为硬链接数。
用法示例:
可以看到file1和file3的硬链接数都大于1,为硬链接。
值得注意的是,硬链接和源文件是无法区分的,两个文件具有相同的大小、创建时间等信息。
使用
ls -l
即可.
示例:
$ touch file1 # 创建新文件 file1
$ touch file2 # 创建新文件 file2
$ ln file1 file3 # 为 file1 创建硬链接 file3
$ ls -l
total 0
-rw-r--r-- 2 root root 0 Aug 12 16:59 file1
-rw-r--r-- 1 root root 0 Aug 12 17:00 file2
-rw-r--r-- 2 root root 0 Aug 12 16:59 file3
结果的第二列数字就是指向该文件的硬链接数. 注意, 硬链接和原文件是无法区分的. 所以 file3 是 file1 的硬链接也可以看作 file1 是 file3 的硬链接. 所以该数字大于 2 即说明该文件是硬链接.
补充说明:
1) 使用
ls -i # 可以与 ls -l 一起使用, 即 ls -il
可以查看文件的 inode number
$ ls -il
total 0
267105 -rw-r--r-- 2 root root 0 Aug 12 16:59 file1
267106 -rw-r--r-- 1 root root 0 Aug 12 17:00 file2
267105 -rw-r--r-- 2 root root 0 Aug 12 16:59 file3
这时结果的第一列就是文件的 inode number, 可以看出由于 file1 和 file3 互为硬链接, 所以他们的 inode number 相同.
2) 如何找出所有硬链接到某个文件的文件?
首先使用
ls -i
查看文件的 inode number
然后使用
find -inum
查找所有指向该 inode 的文件
例子:
$ find . -inum 267105
./file3
./file1
3) 关于文件夹
文件夹没有硬链接, 只有符号链接
4) 关于 NTFS
微软的文件系统好像只有 NTFS 支持硬链接.
在 NTFS 文件系统上, 当该文件是长文件名(非8.3标准dos格式)时, 而且该文件在 Windows 上创建时, 硬链接数会自动增加 1. (在 NTFS 文件系统 ls -l, 你会发现长文件名文件的 "硬链接数"通常是 2). 当然如果你创建硬链接, 那个数字也会增加. 这个与 Windows 处理长文件名文件的方式有关, Windows 为了兼容性, 会为每个长文件名文件创建一个8.3格式短文件名的硬链接. 这时虽然某个文件可能有2个硬链接, 但 Linux知道他们其实只是一个文件的不同名字, 在用户空间会把它们当作是一个文件, 你用 ls 或是 find 也只能找到1个文件, 你删除了1个就两个都没有了, 不能算是真正的硬链接. 所以在 NFTS 文件系统下, 该方法可能效果并不好. 不过在 Linux 下处理 NTFS 硬链接应该本来就是 Linux 的非典型应用了....
文件没有硬链接的. 目录才有, 而且都是系统自动创建的.
[root@python test]# echo "你咋这么帅呢" >> lianjie.txt
[root@python test]# ln lianjie.txt lianjie_ying.txt
[root@python test]# ln -s lianjie.txt lianjie_ruan.txt
[root@python test]# file lianjie*
lianjie_ruan.txt: symbolic link to `lianjie.txt'
lianjie.txt: UTF-8 Unicode text
lianjie_ying.txt: UTF-8 Unicode text
[root@python test]# ls -li lianjie*
652826 lrwxrwxrwx 1 root root 11 Jan 25 19:45 lianjie_ruan.txt -> lianjie.txt
652824 -rw-r--r-- 2 root root 19 Jan 25 19:45 lianjie.txt
652824 -rw-r--r-- 2 root root 19 Jan 25 19:45 lianjie_ying.txt
[root@python test]# rm -rf lianjie.txt
[root@python test]# ls -li lianjie*
652826 lrwxrwxrwx 1 root root 11 Jan 25 19:45 lianjie_ruan.txt -> lianjie.txt
652824 -rw-r--r-- 1 root root 19 Jan 25 19:45 lianjie_ying.txt
[root@python test]# cat lianjie_ying.txt
你咋这么帅呢
[root@python test]# cat lianjie_ruan.txt
cat: lianjie_ruan.txt: No such file or directory
[root@python test]#
呃,能看出很多区别吧,自己总结去……
第一种:
alias ll="ls -l | sed '1iFile_Permissions Owner Group Size Modified_Time Name'"
然后以后用ll
第二种,装一个ls增强工具 exa
exa -bghHliS
Linux中硬链接和软链接的区别与联系!
链接是一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法。在Linux操作系统中,链接被分为两种:软链接(SoftLink,符号链接)和硬链接(HardLink)。那么什么是软链接?什么是硬链接?Linux中软链接和硬链接之间有什么区别和联系?以下是详细的内容介绍。为解决文件的共享使用,Linux系统引入了两种...
Linux系统中的硬链接和软链接有何区别?
但在Linux,区分硬链接(hard link)和软链接(symbolic link)。硬链接更像一个指向原始文件inode的指针,共享同一个inode和文件,增删链接不影响原文件。除非文件的inode连接数降为0,否则删除原文件后,硬链接仍可访问。而软链接仅保存链接路径,可链接目录文件,跨文件系统,但原文件删除后失效,与...
linux 软连接和硬链接的区别
首先我们需要了解linux下硬链接以及软连接的基本概念.硬链接:新建的文件是已经存在的文件的一个别名,当原文件删除时,新建的文件仍然可以使用.软链接:也称为符号链接,新建的文件以“路径”的形式来表示另一个文件,和Windows的快捷方式十分相似,新建的软链接可以指向不存在的文件.下面详细介绍一下硬...
linux软连接和硬链接的区别
在Linux系统中,硬链接和软链接是两种常见的文件链接方式,它们各自具有独特的特点和用途。硬链接和软链接的定义是不同的。硬链接指的是新建的文件与已存在的文件共享同一个inode号,即文件的唯一标识符。这意味着,尽管文件名不同,但它们实际上指向同一个文件内容。而软链接,则是一种特殊的文件,它...
linux 中软连接硬链接区别
例如,如果尝试将位于Windows系统的文本文件aa.txt通过硬链接的方式链接到Linux系统的\/root目录下的bb和cc,会发现使用命令ln aa.txt \/root\/bb会失败,但使用ln -s aa.txt \/root\/bb却可以成功建立软链接。关于I节点的问题,硬链接无论有多少个,它们都会指向同一个I节点。这不仅意味着I节点的连接数...
linux硬链接和软链接深入理解
一方面也是因为看了vamei的linux的概念与体系系列文章,感觉不全的做些补充。软链接相当于windows中的快捷方式。硬链接相当于一个灾备系统,数据存放在两处,与复制不同的是两处之间存在同步机制,一处数据的改变会实时同步到另一处,另外,一处数据如果被删除了,不会影响到另一处的数据.详细的介绍:硬连接...
linux软链接和硬链接的区别?
Linux链接分为硬连接与软连接两种。硬连接,通过索引节点号连接文件,一个文件可以拥有多个有效路径名。多个文件名可以指向同一索引节点,这是硬连接的特点。硬连接允许用户建立到重要文件的连接,以防止误删。删除一个硬连接并不影响索引节点本身和其它连接,只有当最后一个连接被删除后,文件的数据块及目录...
linux下符号链接和硬链接的区别
链接是一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法。Linux中包括两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号链接(Symbolic link)。一、硬链接 硬链接说白了是一个指针,指向文件索引节点,系统并不为它重新分配inode。可以用:ln命令来建立硬链接。语法:l...
linux软连接和硬链接的区别
2、语法不同 硬链接的语法:ln filename linkname。软链接的语法:ln -s filename linkname。Linux的用处 linux是一套免费开放源代码的操作系统,用户可以按照自己的想法来修改源代码,它的每一个操作,你都能够充分了解,这对计算机方面的爱好者是有很大帮助的,它可以让用户知道系统是怎样工作的。Linux...
【Linux】硬链接 和 软链接
为了方便用户访问文件,Linux提供了一种称为连接(link)的机制,可以将一个文件或目录与另一个文件或目录建立关联,从而实现多个路径指向同一个文件或目录的效果。Linux中的连接分为两种类型:硬链接(hard link)和软链接(symbolic link)。硬链接是指一个文件系统中的多个文件名指向同一个数据块(...