软连接  
 
 1.  原理  
 
 软连接本质是一种符号连接,类似于 Windows 的快捷方式,存储对应文件的路劲  
 
 2.  格式 
 
 ln -s  源文件 软连接名称  
 
 
例: 
 
 [root@server /] # cd ~  
  [root@server ~] # echo "china" > h1.txt  
  [root@server ~] # ln -s h1.txt h2.txt  
  [root@server ~] # ll h2.txt #  查看软连接的指向  
  lrwxrwxrwx.  1  root root  6 6 月 26  20 :31 h2.txt  - > h1.txt  
  [root@server ~] # ll /dev/cdrom  
  lrwxrwxrwx.  1  root root  3 6 月26  20 :39 /dev/cdrom  - > sr0  
  #  给网卡配置文件建立软连接  
  [root@server ~] # cd /etc/NetworkManager/system-connections/  
  [root@server system-connections] # ls  
  ens160.nmconnection  
  [root@server system-connections] # cd ~  
  [root@server ~] # ln -s /etc/NetworkManager/system 
  connections/ens160.nmconnection nic  
  [root@server ~] # cat nic 
  注意:  
  软连接中删除了源文件则连接不可用  
   #  接上例  
  [root@server system-connections] # cd ~  
  [root@server ~] # ls  
  公共 模板 视频 图片 文档 下载 音乐 桌面  anaconda-ks.cfg h1.txt h2.txt mk1 nic  
  t1.txt temp1 temp2  
  [root@server ~] # cat h2.txt  
  china  
  [root@server ~] # rm -f h1.txt  
  [root@server ~] # cat h2.txt  
  cat : h2.txt:  没有那个文件或目录 
   软连接数不能查看,只能通过 ll  或  ls -l  命令查看指向关系  
  删除软连接,只要源文件存在则数据依然可以访问  
  [root@server ~] # echo "hello" > b1.txt  
  [root@server ~] # ln -s b1.txt b2.txt  
  [root@server ~] # cat b1.txt  
  hello  
  [root@server ~] # cat b2.txt  
  hello  
  [root@server ~] # rm -f b2.txt #  删除软连接  
  [root@server ~] # cat b1.txt  
  hello 
   修改软连接  
  格式:  ln  -snf  新文件名 软连接名  
 例: 
  [root@server ~] # echo "hello" > h1  
  [root@server ~] # echo "world" > w1  
  [root@server ~] # ln -s h1 temp  
  [root@server ~] # cat temp  
  hello  
  [root@server ~] # ll temp  
  lrwxrwxrwx.  1  root root  2 6 月 26  20 :46 temp  - > h1  
  [root@server ~] # ln -snf w1 temp #  修改指向关系  
  [root@server ~] # ll temp  
  lrwxrwxrwx.  1  root root  2 6 月 26  20 :47 temp  - > w1 
     软硬连接的区别  
  硬连接中源文件与连接文件公用一个 inode 号,是同一个文件 
  [root@server ~] # echo "china" > k1  
  [root@server ~] # ln k1 k2 #  新建硬连接  
  [root@server ~] # stat k1  
  文件: k1  
  大小: 6  块: 8 IO  块: 4096  普通文件  
  设备: fd00h/64768d Inode : 9252682  #  注意 硬链接: 2  
  权限: (0644/-rw-r--r--) Uid : (  0 / root) Gid : (  0 / root)  
  环境: unconfined_u:object_r:admin_home_t:s0  
  最近访问: 2024-06-26  20 :50:36.980179787  + 0800  
  最近更改: 2024-06-26  20 :50:38.612178450  + 0800 
  最近改动: 2024-06-26  20 :50:47.468171190  + 0800  
  创建时间: 2024-06-26  20 :50:36.980179787  + 0800  
  [root@server ~] # stat k2  
  文件: k2  
  大小: 6  块: 8 IO  块: 4096  普通文件  
  设备: fd00h/64768d Inode : 9252682  #  注意 硬链接: 2  
  权限: (0644/-rw-r--r--) Uid : (  0 / root) Gid : (  0 / root)  
  环境: unconfined_u:object_r:admin_home_t:s0  
  最近访问: 2024-06-26  20 :50:36.980179787  + 0800  
  最近更改: 2024-06-26  20 :50:38.612178450  + 0800  
  最近改动: 2024-06-26  20 :50:47.468171190  + 0800  
  创建时间: 2024-06-26  20 :50:36.980179787  + 0800  
   软连接中源文件与连接文件拥有不同的 inode 号,是 2 个不同的文件 
  [root@server ~] # ln -s k1 k3  
  [root@server ~] # stat k1  
  文件: k1  
  大小: 6  块: 8 IO  块: 4096  普通文件  
  设备: fd00h/64768d Inode : 9252682  硬链接: 2  
  权限: (0644/-rw-r--r--) Uid : (  0 / root) Gid : (  0 / root)  
  环境: unconfined_u:object_r:admin_home_t:s0  
  最近访问: 2024-06-26  20 :50:36.980179787  + 0800  
  最近更改: 2024-06-26  20 :50:38.612178450  + 0800  
  最近改动: 2024-06-26  20 :50:47.468171190  + 0800  
  创建时间: 2024-06-26  20 :50:36.980179787  + 0800  
  [root@server ~] # stat k3  
  文件: k3  - > k1  
  大小: 2  块: 0 IO  块: 4096  符号链接  
  设备: fd00h/64768d Inode : 9252684  硬链接: 1  
  权限: (0777/lrwxrwxrwx) Uid : (  0 / root) Gid : (  0 / root)  
  环境: unconfined_u:object_r:admin_home_t:s0  
  最近访问: 2024-06-26  20 :52:17.757097177  + 0800  
  最近更改: 2024-06-26  20 :52:11.953101931  + 0800  
  最近改动: 2024-06-26  20 :52:11.953101931  + 0800  
  创建时间: 2024-06-26  20 :52:11.953101931  + 0800 
    软连接的指向关系可以通过命令查看 (ll  或者  ls -l) ,硬连接不可以查看执行关系,只能查看连接硬连接数  
  ( ll  或者  stat )  
  软连接数不会增加,硬连接数会增加  
  文件大小不一样,硬连接文件容量相同是同一个文件,软连接只是一个快捷方式,容量较小  
  软连接可以跨越文件系统(分区),任何用户都可以建立指向目录的软连接