Linux 软链接文件

软链接文件

1. 什么是软链接文件

Linux系统中的软链接文件就类似于Windows系统中的快捷方式 .

假设场景 : 对于A文件 , 必须保存在/root/111/目录下 , 但是有另外一个程序也在使用这A文件并且需要一直往A文件中追加log , 但是这个程序必须要在/tmp/111目录下来使用A文件 . 那么这样就两种方式来实现 .

方式1 : 给/root/111/下的A文件 , copy一份 , 放到/tmp/111/目录下 , 供程序使用 , 在程序使用一段时间后 , A文件被修改了 , 然后再在/tmp/111/目录下 , 把A文件copy回/root/111/中 , 以保证A文件的一致性 .

方式2 : 给/root/111/下的A文件 , 做一个软链接 , 链接到/tmp/111/目录下 , 名字还是叫A , 供程序调用 . 由于软链接相当于快捷方式 , 所以 , 不管程序给/tmp/111/目录下的A文件追加了多少内容 , /root/111/下的A文件都会保持一致 .

很明显 , 方式2比方式1操作更简单 , 占用磁盘空间更少 .

2. 认识系统中的软链接文件

[[email protected] ~]# ls -l /binlrwxrwxrwx. 1 root root 7 5月  22 23:52 /bin -> usr/bin
[[email protected] ~]#

/bin是一个目录 , 其实真正存放在/usr/bin (目录是一种特殊的文件)

> 系统中 , 最多的软链接文件 , 是在lib64/目录下

3. 创建软链接文件

格式 : ln -s 源文件 目标文件

软链接既支持对文件做软链接 , 也支持对目录做软链接

ps : 一个约定 , 在创建软链接文件时,最好使用绝对路径 . 假如使用相对路径 , 在源文件转移了位置的情况下 , 会出问题 .

[[email protected] ~]# ls 2.txt  anaconda-ks.cfg.1[[email protected] ~]# ls /tmp/111  234  666     allinlinux                                                                tmp222  345  allin2  systemd-private-0f4b60569c224727b1ec0153a8598630-vmtoolsd.service-qCx2Tt  user1.txt
[[email protected] ~]# ln -s /root/2.txt /tmp/2.txt[[email protected] ~]# ls -l /tmp/总用量 0drwxrwxr--. 4 root   root   45 6月   8 21:20 111drwxr-xr-x. 2 root   root    6 6月   8 20:11 222drwxrwxr-x. 3 allin1 allin1 26 6月   9 10:53 234lrwxrwxrwx. 1 root   root   11 6月   9 14:06 2.txt -> /root/2.txt
drwxr-xr-x. 3 root   root   26 6月   9 10:56 345drwxr-sr-x. 3 root   user1  26 6月   9 11:10 666drwxr-xr-x. 4 root   root   40 6月   6 21:32 allin2
drwxrwxrwx. 2 allin1 user1  19 6月   8 14:58 allinlinux
drwx------. 3 root   root   17 6月   8 14:15 systemd-private-0f4b60569c224727b1ec0153a8598630-vmtoolsd.service-qCx2Tt
drwxr-xr-x. 4 root   root   28 6月   6 17:16 tmp
-rw-rw-r--. 1 user1  user1   0 6月   9 13:03 user1.txt
[[email protected] ~]#

4. 工作中软链接的运用

场景 : 有一个文件 , 存放在一个磁盘空间快满了的分区上 , 并且有一个重要的服务 ,一直在向这个文件追加log , 并且该服务只能作用于该分区的该文件上 .

为了更好的保存log , 可以使用软链接来操作 , 以达到既满足磁盘空间充足 , 又能完整的保存所有log的需要 .

  1. 把该文件copy到一个磁盘空间非常充裕的磁盘分区上 , 并同步好数据(可以使用rsync工具来保持文件内容同步,速度非常快, 一瞬间).
  1. 使用软链接 , 把该文件软链接到原来的的磁盘分区上 , 文件名保持一致 , 为了那个重要的服务能正常运行 .
  1. 删除原来的文件 , 让服务对软链接文件继续服务 .
时间: 2024-08-12 02:31:28

Linux 软链接文件的相关文章

Linux软链接和硬链接文件

下面是Linux系统软件底层的存储结构,我们将从底层上来去解释Linux系统下的软硬连接文件 <一>: 解释(底层) 硬链接,其实从底层数据上来看, 硬链接其实就是增加了一个目录项.底层对应的inode table.数据区中的值是不变的, 也不会重新创建. 软链接, 其实从底层接上看, 软链接其实就是相当于重新创建了一个文件,, 无论是目录项,inode table,以及数据区都是重新重建的,而这个文件功能比较特殊, 它是用来指向另外一个文件的. <二>:命令的使用 硬链接命令:

linux下软链接文件的拷贝

最近在编译libnl库准备拷贝到其他机器中使用的时候出现无法拷贝问题,原因是sd卡是fat32文件系统格式,这种文件系统不支持linux下的ln软链接文件, void@void-ThinkPad-E450:~/libnl-3.4.0$ sudo cp /usr/local/arm/libnl3.4/lib /media/void/0000-006F/ -rf cp: cannot create symbolic link '/media/void/0000-006F/lib/libnl-cli-

Linux学习笔记(九)set_uid、set_gid、stick_bit、软链接文件、硬连接文件

一. 特殊权限set_uid 只能作用于二进制可执行文件,可以使用户暂时拥有文件所有者的权限例如:普通没有root权限,但是修改密码的命令passwd又需要root权限,所以,passwd命令被赋予set_uid权限,使普通用户修改密码时可以暂时获取root权限去修改密码: 用法为 chmod u+s /usr/bin/passwd 二. 特殊权限set_gid 与set_uid用法类似作用于文件时,可以使用户暂时拥有文件所属组的权限,作用于文件夹时,在文件夹内新建文件或者文件夹时,新建文件或文

linux软链接与硬链接的区别

Linux 文件系统最重要的特点之一是它的文件链接.链接是对文件的引用,这样可以让文件在文件系统中多处被看到.不过,在 Linux 中,链接可以如同原始文件一样来对待.链接可以与普通的文件一样被执行.编辑和访问.对系统中的其他应用程序而言,链接就是它所对应的原始文件.当您通过链接对文件进行编辑时,您编辑的实际上是原始文件.链接不是副本,linux有两种类型的链接:硬链接和符号链接(软链接). 硬链接(hard link)只能引用同一文件系统中的文件.它引用的是文件在文件系统中的物理索引(也称为

Java后台Linux软链接文件下载检验

最近项目的测试哥们提了一个linux系统软链接攻击的问题,项目中导出服务器上某个文件的时,通过软连接漏洞可以获取到其他文件的信息. 具体过程自己写了个下载的Demo模拟了一下: 下载的servlet和html如下,下载/opt/temp/a.txt,国际惯例,内容是hello world,文件大小12kb. <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>

Linux学习笔记四:Linux的文件搜索命令

1.文件搜索命令  which 语法:which [命令名称] 范例:$which ls  列出ls命令所在目录 [[email protected] ~]$ which ls alias ls='ls --color=auto' /bin/ls 另外一个命令:whereis [名称名称],也可以列出命令所在目录. [[email protected] ~]$ whereis ls ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/ma

linux链接文件

linux链接文件 链接有两种方式:硬链接和软链接. (一)软链接 软链接又叫做符号链接.基本命令为: [plain] view plaincopy ln -s sourcePlace newPlace 软链接可以链接任何文件或者目录,还可以链接不同文件系统的文件或者目录. 软链接的特点: 1.要建立链接时,newPlace必须是存在的:而当sourcePlace不存在时建立的连接是一个空链接,相当于空指针.空链接文件也可以操作,而且如果对空链接进行操作,比如 emptyFile是空链接,进行v

第三章 Linux 软链接与硬链接

Linux 软链接与硬链接 通过实验加深理解 [[email protected]]$ touch f1          #创建一个测试文件f1 [[email protected]]$ ln f1 f2          #创建f1的一个 硬连接   文件f2 [[email protected]]$ ln -s f1 f3       #创建f1的一个 符号连接 文件f3  即软链接 [[email protected]]$ ls -li            # -i参数显示文件的ino

02.学习笔记-Linux常见文件类型

Linux文件类型常见的有:普通文件(-).目录(d).字符设备文件(c).块设备文件(b).符号链接文件(l)等:需要注意的是,Linux文件类型和Linux文件的文件名所代表的意义是两个不同的概念.我们通过一般应用程序而创建的比如file.txt.file.tar.gz ,这些文件虽然要用不同的程序来打开,但放在Linux文件类型中衡量的话,大多是常规文件(也被称为普通文件). 1 普通文件 [[email protected] ~]# ls -lh install.log -rw-r--r