linux中什么命令可以判断硬链接和软链接?比如,在centos7.2的/etc/systemd/system目录,有一个mysqld.service,图标上有个箭头,但怎么区分这是软链接还是硬链接呢?以及它指向文件的位置怎么查看?百度了一下,没找到相关答案。
/etc/systemd/system
欢迎选择我的课程,让我们一起见证您的进步~~
如上图:ls -al显示,软连接开头是l,而且在文件名显示时有“->”指向。
ls -al 可以查看软链接的指向硬链接是相当与创建了文件信息的一份拷贝,跟原来的文件是一模一样的,没有任何区别,除了文件名字,只不过两个文件名指向的硬盘中的文件只存在一份。。可以参考软链接与硬链接
ls -al
file就可以了,比如:
eechen@ubuntu:~$ file /usr/bin/vi /usr/bin/vi: symbolic link to `/etc/alternatives/vi'
硬链接是无法判断的,前后两个文件地位是相等的,没有谁是谁的硬链接的说法,软链接用什么都能判断的,
软链接 就如上面说的,用ls看就行了
ls -l
硬链接,可以这样理解: 对一个文件进行拷贝,并且这个文件带有同步功能,删除其中一个,另外一个依然存在。
硬链接和源文件的 i节点号是一样的,可以用下面的的命令查看,但是你也不能区分哪个是源文件,哪个是硬链接,因为他们地位是相等的,只能看出这个文件创建了硬链接
ls -li
硬链接不能跨文件系统,不能作用于目录。多个文件同时指向一个inode号。软连接可以跨文件系统,可以作用于目录和文件。
ln a c 创建硬链接 在a文件中添加数据,c中也会有相同数据。
删除了a文件,c文件依然存在并且。可以把硬链接看作是一种备份。而软连接则可以看作是一种引用方式,调用方式,链接文件本身只存储路径,不保存数据。所以当源文件被删除后,软连接文件也将失效。
一般通过ls -l 只能查看软连接。目前暂时没可以查看硬链接指向方法,其实也没必要看,因为他们彼此可以看作镜像,一模一样。相关信息,只能看ls -l 后的被硬链接次数。
如上图:ls -al显示,软连接开头是l,而且在文件名显示时有“->”指向。
ls -al
可以查看软链接的指向硬链接是相当与创建了文件信息的一份拷贝,跟原来的文件是一模一样的,没有任何区别,除了文件名字,只不过两个文件名指向的硬盘中的文件只存在一份。。
可以参考软链接与硬链接
file就可以了,比如:
硬链接是无法判断的,前后两个文件地位是相等的,没有谁是谁的硬链接的说法,
软链接用什么都能判断的,
软链接 就如上面说的,用ls看就行了
硬链接,可以这样理解: 对一个文件进行拷贝,并且这个文件带有同步功能,删除其中一个,另外一个依然存在。
硬链接和源文件的 i节点号是一样的,可以用下面的的命令查看,但是你也不能区分哪个是源文件,哪个是硬链接,因为他们地位是相等的,只能看出这个文件创建了硬链接
硬链接不能跨文件系统,不能作用于目录。多个文件同时指向一个inode号。
软连接可以跨文件系统,可以作用于目录和文件。
ln a c 创建硬链接
在a文件中添加数据,c中也会有相同数据。
删除了a文件,c文件依然存在并且。可以把硬链接看作是一种备份。
而软连接则可以看作是一种引用方式,调用方式,链接文件本身只存储路径,不保存数据。
所以当源文件被删除后,软连接文件也将失效。
一般通过ls -l 只能查看软连接。目前暂时没可以查看硬链接指向方法,其实也没必要看,因为他们彼此可以看作镜像,一模一样。相关信息,只能看ls -l 后的被硬链接次数。