ln指令:为文件创建连接

原文链接 

ln指令:为文件创建连接

【语    法】ln [选项] [参数]

【功能介绍】ln指令用来为文件创建连接,连接类型分为硬链接(hard link)和符号连接(symbolic link)两种,默认的连接类型是硬链接。如果要创建符号连接则必须使用"-s"选项。

【选项说明】

选    

功    

-b

为每个存在的文件创建备份文件

-d-F --directory

默认情况下,不允许对目录创

建硬连接。此选项允许“root

用户建立目录的硬连接。受系统

设置的影响,此选项可能导致

命令执行失败

-f

强制创建连接,即使目标文件已

经存在。目标文件被强制   覆盖

-n --no-dereference

把指向目录的符号连接目标当做

一个普通文件

-i --interactive

创建连接时,如果目标文件已经

存在,则提示用户确认覆盖已

存在的目标文件

-s --symbolic

创建符号连接。如果系统不支持

符号连接,则导致命令出错

-v--verbose

详细信息模式,输出指令的

详细执行过程

【参数说明】

参    

功    

源文件

指定连接的源文件。如果使用“-s”选

项创建符号连接,则“源文件”参数可以

是文件或者目录。创建硬连接时,则

“源文件”参数只能是文件

目标文件

指定源文件的目标连接文件

【经验技巧】

ln指令默认创建的连接为硬连接,所以不能对目录建立连接。要为目录建立连接必须使用"-s"选项,指明创建的连接类型为符号连接。

只能为普通文件创建硬连接,不能为目录创建硬链接。而符号连接则没有任何限制。

互为硬连接的两个文件(源文件和目标文件)等同于一个文件,所不同的仅仅是文件名。可以使用"ls -i"指令查看文件的索引节点,互为硬链接的文件的索引节点(inode:index node)号相同。删除互为硬连接的两个文件中的任何一个文件,另一个文件内容不受任何影响。而编辑或者修改两者中的任何一个文件,另一个文件的内容也发生同样的变化。

创建硬连接时,源文件和目标文件必须同一个硬盘分区下,不能跨越不同的分区。而创建符号连接时,源文件和目标文件可以在任何硬盘分区下。因为符号连接文件本身只记录了源文件的路径信息,而硬链接要创建一个具有相同索引节点的连接文件,而索引节点在不同的分区中自成体系的,不同的分区中的索引节点不能混用,所以硬链接只能在同一个硬盘分区下。

符号连接文件中保存的是源文件的存放路径,所以删除源文件后,符号连接文件将失去意义。符号连接类似于"快捷方式",可以简化文件或目录的访问路径。可以为路径很深或书写不方便的文件或目录创建符号连接,以提高访问效率。

【示例44】为文件和目录创建连接。ln命令默认创建的是硬链接。下面举例说明硬链接的创建。具体步骤如下:

(1)在命令行中输入下面的命令:

 
 
  1. [root@localhost ~]# ln /etc/fstab ./myfstab  
  2. #为源文件/etcfstab创建硬连接myfstab 

说明:此命令没有任何输出信息。

(2)使用ls指令的"-i"选项,显示源文件和硬链接文件的索引节点信息。在命令行中输入下面的命令:

 
 
  1. [root@localhost ~]# ls -i /etc/fstab . /myfstab  #创建互为硬链接文件的索引节点号 

输出信息如下:

 
 
  1. 1393895 ./myfstab  1393895 /etc/fstab 

说明:可以看出"/etc/fstab"文件和"./myfstab"文件的索引节点号是相同的,所以,除了文件名不同外,其他的完全相同。

(3)硬链接仅对文件起作用,如果要建立目录的硬连接将导致出错。在命令行中输入下面的命令:

 
 
  1. [root@localhost ~]# ln mydir demolink       #试图对目录创建硬链接 

输出信息如下:

 
 
  1. ln: `mydir: hard link not allowed for directory 

说明:错误信息说明目录不允许创建硬链接。

(4)可以使用ln指令的"-s"选项,创建目录的符号连接。在命令行中输入下面的命令:

 
 
  1. [root@localhost ~]# ln -s mydir demolink  
  2.     #为目录mydir创建符号链接demolink 

(5)使用ls指令查看连接文件的详细信息。在命令行中输入下面的命令:

 
 
  1. [root@localhost ~]# ls -l#显示文件详细信息 

输出信息如下:

 
 
  1. total 84  
  2. drwxr-xr-x 2 root root  4096 May 14 15:16 Desktop  
  3. -rw------- 1 root root  1495 May 12 23:31 anaconda-ks.cfg  
  4. lrwxrwxrwx 1 root root     5 May 14 17:25 demolink -> mydir  
  5. drwxr-xr-x 2 root root  4096 May 14 17:25 mydir 

说明:从上面的输出信息"demolink->mydir",可以看出连接文件"demolink"是"mydir"目录的符号连接。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值