创建软连接 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. maven ----> 子工程中引入父工程

    创建父工程,打包方式指定为 pom <groupId>com.example</groupId> <artifactId>SleuthMain</artifa ...

  2. Java中的参数传递 --Java

    1.基本类型传值,对象类型传地址 按值传递:当将一个参数传递给一个方法时,方法接收的是原始值的一个副本.因此,如果方法修改了该参数,仅改变副本,而原始值保持不变. 按引用传递:当将一个参数传递给一个方 ...

  3. LeetCode--404--左叶子之和

    问题描述: 计算给定二叉树的所有左叶子之和. 示例: 3 / \ 9 20 / \ 15 7 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 方法:recursive class ...

  4. Web3.js 0.20.x API 中文版翻译

    文档原始链接为:https://web3.learnblockchain.cn/0.2x.x/,欢迎大家前往查阅,本文只是节选开头部分的介绍及API列表索引,以下为翻译正文: 为了开发一个基于以太坊的 ...

  5. hdu-2709整数划分 技巧

    整数划分变形,由2^k组成. 整数划分中一个节约内存的技巧,平时我们使用dp[i][j]维护用不大于j的数组合成i的方案数,所以必须dp[i-j][j]->dp[i][j].这样就需要二位,如果 ...

  6. 字符串hash

    hash[i]=(hash[i-1]*p+idx(s[i]))%mod p和mod取不同的较大的素数

  7. Bulb Switcher (leetcode java)

    问题描述: There are n bulbs that are initially off. You first turn on all the bulbs. Then, you turn off ...

  8. 将maven项目托管到github

    1.下载安装git 并通过 git config --global user.name "",和git config --global user.email "" ...

  9. 使用scp上传和下载文件

    利用scp传输文件 1.从服务器下载文件 scp username@servername:/path/filename /tmp/local_destination 例如scp codinglog@1 ...

  10. Quartz理解与实现

    记录关于Quartz定时调度任务的知识点,知识点主要分为两个部分,第一个部分介绍Quartz,第二部分使用Quartz+Spring来配置使用Quartz的实际操作. (一)Quartz知识点 Qua ...