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;这样就解决了占用磁盘空间的问题了)
     
     
  • 相关阅读:
    第四节 修改表结构之alter
    第三节 数据表的创建和相关的一些指令
    第二节 数据库的创建以及相关命令
    运维不容错过的4个关键指标!
    服务器监控之 ping 监控
    Docker 监控- Prometheus VS Cloud Insight
    几种 Docker 监控工具对比
    临阵磨枪,血拼季网站优化的最后三板斧
    Java 8 vs. Scala(二):Stream vs. Collection
    Java 8 vs. Scala(一): Lambda表达式
  • 原文地址:https://www.cnblogs.com/xiaoliangxianshen/p/9152220.html
Copyright © 2011-2022 走看看