`

软链接和硬链接及查看链接文件命令

阅读更多
http://www.xxlinux.com/linux/article/accidence/technique/20081224/14724.html
查看链接文件命令,比如你有一个软链接/etc/php.ini 想查找他的链接文件,那可以直接用:ls -lih /etc/php.ini命令,则显示为:6390969 lrwxrwxrwx 1 root root 27 12-24 16:08 /etc/php.ini -> /usr/local/Zend/etc/php.ini,清楚的看到他是链接到zend目录下的文件

系统文件系统使用情况,其中 /home 文件系统当前已使用了 3.0G ,剩余105G
[root@s14 ~]# df -h
Filesystem            Size Used Avail Use% Mounted on
/dev/mapper/sys-root 4.0G 2.3G 1.5G 60% /
/dev/cciss/c0d0p1     244M   11M 221M   5% /boot
none                  1.9G     0 1.9G   0% /dev/shm
/dev/mapper/sys-home 112G 3.0G 105G   3% /home
/dev/mapper/sys-var   2.0G 174M 1.7G 10% /var

我们拿一个大文件来做测验,1.6G 大小。
[root@s14 ~]# ls -lh /home/zjw/Wins2003.tar.gz
-rw-r--r-- 1 zjw zjw 1.6G Jun 12 18:51 /home/zjw/Wins2003.tar.gz

建立软连接:
[root@s14 ~]# ln -s /home/zjw/Wins2003.tar.gz /home/zjw/Wins2003.tar.gz.symboliclink
建立硬连接:
[root@s14 ~]# ln -b /home/zjw/Wins2003.tar.gz /home/zjw/Wins2003.tar.gz.hardlink

查看这几个文件的情况,发现:
1)硬链接文件显示跟原来文件一样大小1.6G,软链接文件才27个字节;
2)硬链接文件inode号跟原来文件一样,都是 753682,软链接文件inode号为 753685;
[zjw@s14 ~]$ ls -lih /home/zjw/Wins2003.tar.gz*
753682 -rw-r--r-- 2 zjw zjw 1.6G Jun 12 18:51 /home/zjw/Wins2003.tar.gz
753682 -rw-r--r-- 2 zjw zjw 1.6G Jun 12 18:51 /home/zjw/Wins2003.tar.gz.hardlink
753685 lrwxrwxrwx 1 root root   27 Jun 16 18:10 /home/zjw/Wins2003.tar.gz.symboliclink -> /home/zjw/Wins2003.tar.gz

查看 /home 文件系统,发现空间使用没有明显变化,还是使用 3.0G,剩余 105G
[root@s14 ~]# df -h /home
Filesystem            Size Used Avail Use% Mounted on
/dev/mapper/sys-home 112G 3.0G 105G   3% /home

上述实验说明:
1)在同一文件系统下,可以创建软链接或硬链接(同文件系统不同目录下也可以);
2)硬链接的文件显示大小跟原文件一样;软链接的文件很小,只有几十个字节;
3)硬链接的文件的inode跟原文件一样;软连接的文件有自己的inode,跟原文件不一样;
4)创建软链接或硬链接文件不会明显占用文件系统磁盘空间;

我们测试一下跨文件系统(/home --> /var ),是否可以建立软链接和硬链接:
软链接成功:
[root@s14 var]# ln -s /home/zjw/Wins2003.tar.gz   /var/wins2003.symboliclink
硬链接失败:
[root@s14 var]# ln -b /home/zjw/Wins2003.tar.gz   /var/wins2003.hardlink     
ln: creating hard link `/var/wins2003.hardlink' to `/home/zjw/Wins2003.tar.gz': Invalid cross-device link

上述实验说明:
1)软链接可以跨文件系统建立; 硬链接则不可以;




硬链接(hard link)
        UNIX文件系统提供了一种将不同文件链接至同一个文件的机制,我们称这种机制为链接。它可以使得单个程序对同一文件使用不同的名字。这样的好处是文件系 统只存在一个文件的副本,系统简单地通过在目录中建立一个新的登记项来实现这种连接。该登记项具有一个新的文件名和要连接文件的inode号,文件的目录登记项就是所谓的文件硬链接(硬链接,目录登记项: 文件名-->文件的inode;文件名可以有多个,但文件inode只是一个)。不论一个文件有多少硬链接,在磁盘上只有一个描述它的inode,只要该文件的链接数不为0,该文件就保持存在。硬链接不能跨越文件系统,也不能对目录建立硬链接!
        硬 连接是直接建立在节点表上的(inode),建立硬连接指向一个文件的时候,会更新节点表上面的计数值。举个例子,一个文件被连接了两次(硬连接),这 个文件的计数值 是3,而无论通过3个文件名中的任何一个访问,效果都是完全一样的,但是如果删除其中任意一个,都只是把计数值减1,不会删除实际的内容的,(任何存在的 文件本身就算是一个硬连接)只有计数值变 成0也就是没有任何硬连接指向的时候才会真实的删除内容。

软链接(symbolic link)
        我们把符号链接称为软链接,它是指向另一个文件的特殊文件,这种文件的数据部分仅包含它所要链接文件的路径名。软链接是为了克服硬链接的不足而引入的,软链接不直接使用inode号作为文件指针,而是使用文件路径名作为指针(软链接:文件名 + 数据部分-->目标文件的路径名)。软件有自己的inode,并在磁盘上有一小片空间存放路径名。因此,软链接能够跨文件系统,也可以和目录链接!其二,软链接可以对一个不存在的文件名进行链接,但直到这个名字对应的文件被创建后,才能打开其 链接。
分享到:
评论

相关推荐

    Linux入门之ln命令创建软链接的绝对路径和相对路径详解(Ubuntu)

    Linux链接,可以分为硬链接与软链接;本文主要介绍软链接。(默认情况下,ln命令产生硬链接) 软链接文件类似于Windows的快捷方式,但实际上是一个特殊的文件。在软连接中,文件实际上是一个文本文件,其中包含另一...

    详解linux软连接和硬链接

    软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。 链接文件甚至可以链接不存在的文件,这就产生一般称之为”断链”的...

    Linux软连接和硬链接

    默认情况下,ln命令产生硬链接。  【硬连接】  硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多...

    tomcat支持访问软链接(ln -s)文件目录

    tomcat访问软链接路径报404错误,这是应为tomcat因为安全问题,默认不运行访问软链接文件路径。 修改支持软链接方法tomcat5 6 7: 打开 $tomcat_home/conf/context.xml中配置文件,修改里面的信息即可: 找到 标签 ...

    Linux下创建和删除软、硬链接(ln)

    在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号。文件属性保存在索引结点里,在...Linux中包括两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号...

    Linux ln 命令的使用

    ln 命令用来为文件创建链接,分为硬链接(hard link)和软链接(符号链接,symbolic link)两种,默认创建硬连接,如果要创建软链接须使用 -s 选项。本文介绍的是 GNU 版本的实现,其它版本(如 POSIX 版)实现可能...

    硬链壳扩展 HardLink ShellExtension 3.9.3.5 + x64 中文.rar

    虽然可以将文件添加为硬链接或符号链接,但可以将文件夹作为交点(软链接),智能副本,智能镜像,DeLorean 副本,硬链接克隆或符号链接克隆删除。可以对单个文件或多个项目(批量)进行选择。 轻松区分物品 支持...

    Linux命令讲解视频.rar

    06-查找文件命令, mp4 07-压缩和解压缩命令, mp4 08文件权限命令 mp4 09获取管理权限的相关命令, mp4 10用户相关操作 mp4 11-用户组相关操作 mp4 01第二天知识点回顾 mp4 02p命令选项-a的使用 mp4 03远程登录 mp4...

    实验五 复制文件

    完成一个目录复制命令mycp,包括目录下的文件和子目录, 运行结果如下: 说明: Linux: creat,read,write等系统调用,要求支持软链接 Windows: CreateFile(), ReadFile(), WriteFile(), CloseHandle()等函数

    Linux命令讲解视频.zip

    03-软链接.ev4 04-硬连接.ev4 04-硬连接.ev4 05-文本搜索命令.ev4 06-查找文件命令.ev4 06-查找文件命令.ev4 07-压缩和解压缩命令.ev4 07-压缩和解压缩命令.ev4 08-文件权限命令.ev4 ..........

    linux教程——很使用的那种

    导入文件命令和!命令以结合起来使用,在末行模式下输入:r !命令。就会将命令的结果导入到当前文件光标处。 bin:binary usr:user sbin:super binary linux中命名规则:除了/之外,所有的字符都合法。大小写敏感,以...

    入门学习Linux常用必会60个命令实例详解doc/txt

    umount 命令是mount命令的逆操作,它的参数和使用方法和mount命令是一样的。Linux挂装CD-ROM后,会锁定CD—ROM,这样就不能用CD- ROM面板上的Eject按钮弹出它。但是,当不再需要光盘时,如果已将/cdrom作为符号链接...

    Linux基本命令的使用

    把b.log 软链接到test2目录下,文件同名。用ls命令查看test2文件夹下所创建的文件,并打开图形界面Nautilus的窗口观察文件夹test2下a.log文件和b.log文件的特征。 25. 由超级用户切换为以自己姓名命名的普通用户身份...

    操作系统实验报告-实验九.docx

    2、软链接可对文件和文件夹,而硬链接仅针对文件。 对于一个文件来说,有唯一的索引接点与之对应,而对于一个索引接点号,却可以有多个文件名与之对应。因此,在磁盘上的同一个文件可以通过不同的路径去访问该文件...

    linux服务器的一些知识点.pdf

    6. 在Linux中,如何查看网络连接情况和端口占用情况?请列举相应的命令。 7. 请说明在Linux系统中如何创建新的用户账号,并为其分配合适的权限。 8. 如何在Linux系统中查看系统的内存使用情况?请列举相关的命令。 9...

    shell编程和unix命令

    1.9.1 使用软链接来保存文件的多个映像 12 1.9.2 符号链接举例 12 1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user...

    模拟shell(minishell)(myshell)

    ln -> 创建文件硬链接 ln -s -> 创建文件软连接 ***具有终端输入日记记录功能 其中 Main.c: 主要用于调用Terminal.c以及Command.c中的函数接口 Terminal.c: 用于实现终端的打印及接收命令,判断命令调用Command.c...

    10、linux命令(14题)1

    1. 使用两种命令创建一个文件 2. 硬链接和软连接的区别 3. linux常用命令有哪些 4. 怎么查看一个java线程的资源耗用 5. Load过高的可能性

    Python基础班视频.zip

    14软连接、硬链接、grep、cp mvmp4 01-find.mp4 02tar压缩和解压缩mp4 03-cal.date.ps.top.htop.kill.mp4 04-df.du.ifconfig.ping命令mp4 05 useradd.su、.exit.ssh、whoami..mp4 06-创建用户、创建组.mp4 07修改...

Global site tag (gtag.js) - Google Analytics