创建软连接 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;这样就解决了占用磁盘空间的问题了)
 
 

ln -s 软连接的更多相关文章

  1. ln -s 软连接介绍

    软连接(softlink)也称符号链接.linux里的软连接文件就类似于windows系统中的快捷方式.软连接文件实际上是一个特殊的文件,文件类型是I.软连接文件实际上可以理解为一个文本文件,这个文件 ...

  2. liunx ln -s 软连接

    项目中遇到不同项目中上传图片共享问题 解决方法就用到了 liunx的ln -s 的软连接, 用法: liunx ln -s 文件路径 实现共享思路:不同的目录都软连接到同一个目录

  3. linux 创建连接命令 ln -s 软连接

    这是linux中一个非常重要命令,请大家一定要熟悉.它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s, 具体用法是:ln -s 源文件 目标文件. 当 我们需要在不同 ...

  4. Tomcat不能访问ln -s软连接文件夹的前因后果

    为了部署方便,把webapps下的大文件(图片等资源)放到工程外,通过软连接的方式设置 命令最常用的参数是-s,具体用法是:ln -s 源文件 目标文件. ln -s /usr/local/pic/i ...

  5. 第五节 suid/ sgid /sbit /which /locate / find /stat / ln / uname -a

    复习上节课内容(重点记录)1.chown -R 递归修改目录下包含子目录和子目录下的文件的属组2.chmod -R 递归修改目录下包含子目录和子目录下的文件的权限 ================== ...

  6. 随意软连接/home/users目录导致环境变量消失后的事故

    1 自己的用户zj下,把/home/zj 删除后用ln -s软连接其他目录,导致了当前用户的.bash_profile失效 2 解决思路 第一,删除软连接 rm -rf /home/zj   记住后面 ...

  7. lmap

    1.lamp组件安装 sudo apt-get install apache2 sudo apt-get install php5 sudo apt-get install mysql-server ...

  8. Jenkins若干小问题

    1. Jenkins上不能直接在shell中调用scp命令来执行上传下载操作,核心问题是scp需要输入密码. 为了可以直接将密码传递过去.我们安装  sshpass 来透传密码 a. 安装sshpas ...

  9. 【转】 java web开发之安全事项

    从事java web开发也有几年了,可是开发中的安全问题却越来越不以为然.直到不久遇到一黑软,瞬间sql注入,少时攻破网站数据库.还好,我还没有用root级的用户连接数据库.不过也没有什么用了,因为我 ...

随机推荐

  1. Lab 3-3

    Execute the malware found in the file Lab03-03.exe while monitoring it using basic dynamic analysis ...

  2. 2019/01/17 基于windows使用fabric将gitlab的文件远程同步到服务器(git)

    觉得django项目把本地更新push到gitlab,再执行fabric脚本从gitlab更新服务器项目挺方便的,当然从本地直接到服务器就比较灵活. 2019/01/17 基于windows使用fab ...

  3. 通俗大白话来理解TCP协议的三次握手和四次断开

    from : https://blog.csdn.net/Neo233/article/details/72866230?locationNum=15&fps=1%20HTTP%E6%8F%A ...

  4. mac中 hosts地址

    /etc/hosts 拉出hosts文件,修改之后再拉进去

  5. 根据id获取某一类的最大最小值

    ->selectRaw('max(marking_price) as maxPrice, min(marking_price) as minPrice, product_id') ->gr ...

  6. Mybatis异常There is no getter for property named 'XXX' in 'class java.lang.String'

    1.当入参为 string类型时 (包括java.lang.String.)  我们使用#{xxx}引入参数.会抛异常There is no getter for property named 'XX ...

  7. oracle查看列数据类型

    select * from user_tab_columns where table_name = upper('表名')

  8. MongoDB 教程(三):MongoDB 的下载、安装和配置

    一.下载 下载地址:https://www.mongodb.com/download-center#community(这里是Windows 版,其他版本也可以在该网页进行下载) 版本选择: Mong ...

  9. Hadoop---日志服务器

    Hadoop---日志服务器 1.历史服务器: 启动: 1)测试使用: 1.做一个任务: 2.接受任务: 3.执行任务: 4.执行任务完成: 2)日志文件产生: 成功后:   失败后: 点击进入His ...

  10. Charles破解网站收藏(持续更新)

    1. 在这个网站(http://charles.iiilab.com/)下载破解文件 charles.jar 2. 替换掉原文件夹里的charles.jar Mac: /Applications/Ch ...