zoukankan      html  css  js  c++  java
  • ln -s 软连接

    创建软连接 ln -s
    我们通过实例查看ls的路径发现,在/tmp/目录下的/bin/ls指向的是/usr/bin/ls,所以这里/tmp/bin/ls所存储的就是一个绝对路径,我们可以看做是一个软链接文件,其大小根据绝对路径的长度来决定。类似快捷方式。应用场景,将日志拷贝到另外的地方,在原位置留下软链接,可以更改文件的存放位置。

    特点:

    软链接和目标文件不是同一个文件,inode号不相同。

    目标文件的删除操作会影响软链接文件。当链接文件被删除时,不会对目标文件产生影响;当删除目标文件/目录时,由于失去了目标指向,软链接会失效,变成死链。

    能跨分区创建软链接。(使用命令 #hf -h 查看分区的大小是使用情况的时候,挂载点那一行就是分区。)

    注意事项:

    写软连接的时候最好是写绝对路径,不然会存在一些弊端,好比当我们把所有的文件拷贝到另一台机器上,会发现源文件不存在。

    当我们建立软链接的时候,目的文件不可以存在,否则建立不成功。

    [root@master tmp]# ls -l /bin  
    lrwxrwxrwx. 1 root root 7 May 15 23:23 /bin -> usr/bin  #可以看到这一行的第一个字母为 l ,这个 l 就代表它是一个软链接文件 。/bin 相当于Windows下的快捷方式,而usr/bin才是它真正的目录。
    [root@master tmp]# ls -ld /usr/bin
    dr-xr-xr-x. 2 root root 24576 Jun  1 09:31 /usr/bin
    [root@master tmp]# /bin/ls
    ls2
    systemd-private-0ff0f3dae2804d77b70af201e3ee734b-vgauthd.service-ZPbHKi
    systemd-private-0ff0f3dae2804d77b70af201e3ee734b-vmtoolsd.service-i4O0pB
    systemd-private-ea100dfd1fe140c88cfaf97842a8a7ad-vgauthd.service-MJNNdA
    systemd-private-ea100dfd1fe140c88cfaf97842a8a7ad-vmtoolsd.service-tIHYJp
    [root@master tmp]# /usr/bin/ls
    ls2
    systemd-private-0ff0f3dae2804d77b70af201e3ee734b-vgauthd.service-ZPbHKi
    systemd-private-0ff0f3dae2804d77b70af201e3ee734b-vmtoolsd.service-i4O0pB
    systemd-private-ea100dfd1fe140c88cfaf97842a8a7ad-vgauthd.service-MJNNdA
    systemd-private-ea100dfd1fe140c88cfaf97842a8a7ad-vmtoolsd.service-tIHYJp
     
    实例
    对文件软连接
    [root@master ~]# ln -s /root/2.txt /root/test/3.txt
    [root@master ~]# ls -ld /root/2.txt /root/test/3.txt
    -rw-r--r--. 1 root root  0 Jun  8 01:45 /root/2.txt
    lrwxrwxrwx. 1 root root 11 Jun  8 01:57 /root/test/3.txt -> /root/2.txt       (2.txt 部分是源文件;  /root/test/2.txt是目标文件)
     
    对目录软连接
    [root@master ~]# ls -ld 、/root/tmp/xiaoliang  /root/xiao
    lrwxrwxrwx. 1 root root 15 Jun  8 01:52 /root/xiao -> /tmp/xiaoliang/
    drwxr-xr-x. 2 root root  6 Jun  8 01:52 /tmp/xiaoliang
     
    需求:日志快写满磁盘怎么办?
    比如有一个进程不断的往/boot 分区不停的往这个分区写数据,而此时随着时间的增长,这个分区即将被写满,会把磁盘撑爆,甚至会导致系统出现故障。
    cp  /boot/a.log  /a.log(把/boot/a.log文件拷贝到 /a.log;也就是比较大的分区下面)
    rm -rf /boot/a.log  ; ln -s /a.log  /boot/a.log (拷贝过/分区后,马上删了/boot下的a.log;然后去做一个软连接,此时,实际上写的是/a.log;这样就解决了占用磁盘空间的问题了)
     
     
  • 相关阅读:
    LeetCode 461. Hamming Distance
    LeetCode 442. Find All Duplicates in an Array
    LeetCode 448. Find All Numbers Disappeared in an Array
    LeetCode Find the Difference
    LeetCode 415. Add Strings
    LeetCode 445. Add Two Numbers II
    LeetCode 438. Find All Anagrams in a String
    LeetCode 463. Island Perimeter
    LeetCode 362. Design Hit Counter
    LeetCode 359. Logger Rate Limiter
  • 原文地址:https://www.cnblogs.com/xiaoliangxianshen/p/9152220.html
Copyright © 2011-2022 走看看