文件链接

====================================================================================
软链接 或 符号链接
硬链接

软链接相当于windows中的快捷方式,硬链接相当于一个灾备系统,数据存放在两处,与复制不同的是两处之间存在同步机制,一处数据的改变会实时同步到另一处,另外,一处数据如果被删除了,不会影响到另一处的数据。

ln [-s -v] SRC DEST
硬链接:
1、只能对文件创建,不能应用于目录;
2、不能跨文件系统;
3、创建硬链接会增加文件被链接的次数;

符号链接:
1、可应用于目录;
2、可以跨文件系统;
3、不会增加被链接文件的链接次数;

一、符号链接 symbolic link
[root@localhost ~]# echo 111 > /file1
[root@localhost ~]# ln -s /file1 /home/file11
[root@localhost ~]# ll /home/file11
lrwxrwxrwx 1 root root 6 Dec 20 17:58 /home/file11 -> /file1

[root@localhost ~]# ll -i /file1 /home/file11
4599081 -rw-r--r-- 1 root root 4 Dec 20 17:57 /file1
135 lrwxrwxrwx 1 root root 6 Dec 20 17:58 /home/file11 -> /file1

[root@localhost ~]# cat /file1
111
[root@localhost ~]# cat /home/file11
111

[root@localhost ~]# rm -rf /file1
[root@localhost ~]# ll /home/file11
lrwxrwxrwx 1 root root 6 Dec 20 17:58 /home/file11 -> /file1

二、硬链接
[root@localhost ~]# echo 222 > /file2
[root@localhost ~]# ln /file2 /file2-h1
[root@localhost ~]# ln /file2 /home/file2-h2
ln: failed to create hard link ‘/home/file2-h2’ => ‘/file2’: Invalid cross-device link
[root@localhost ~]# ln /file2 /etc/file2-h3

[root@localhost ~]# echo 222 > /file2
[root@localhost ~]# ln /file2 /file2-h1
[root@localhost ~]# ln /file2 /home/file2-h2
ln: failed to create hard link ‘/home/file2-h2’ => ‘/file2’: Invalid cross-device link
[root@localhost ~]# ln /file2 /etc/file2-h3

[root@localhost ~]# ll -i /file2 /file2-h1 /etc/file2-h3
4599081 -rw-r--r-- 3 root root 4 Dec 20 18:03 /etc/file2-h3
4599081 -rw-r--r-- 3 root root 4 Dec 20 18:03 /file2
4599081 -rw-r--r-- 3 root root 4 Dec 20 18:03 /file2-h1

把一些重要文件做多个链接

注:硬链接
1. 不能跨文件系统(分区)
2. 不支持目录做硬链接
[root@localhost home]# ln /home/ /mnt
ln: “/home/”: 不允许将硬链接指向目录

警告:删除目录软链时:

# mkdir /home/it1000
# touch /home/it1000/file{1..10}
# ln -s /home/it1000/ /var/

rm -rf /var/it1000/ 删除目录下的文件
rm -rf /var/it1000 仅删除链接文件本身

[root@localhost ~]# ln -s /etc /home/
[root@localhost ~]# rm -rf /home/etc/
====================================================================================

linux文件管理之链接文件的更多相关文章

  1. Linux下的链接文件

    整理自<鸟哥的Linux私房菜>,整理者:华科小涛http://www.cnblogs.com/hust-ghtao/ Linux中的链接文件分为两种:硬链接和软链接.软链接(symbol ...

  2. Linux中的链接文件_软链接和硬链接

    一.链接文件介绍 Linux操作系统中的“链接文件”分为硬链接(hard link)和软链接(symbolic link).两种链接的本质区别在于inode.以下是详细介绍: 硬链接:当系统要读取一个 ...

  3. Linux下硬链接与软链接

    linux下的链接文件,尤其是软链接使用非常的频繁: 链分为硬链接(hard link)与软链接(symbolic link) 两种:关键在于inode: 硬链接: 当系统需要读取一个文件时,就会去读 ...

  4. Linux文件系统与日志文件

    目录 一.inode和block 1.1.inode和block概述 1.2.inode的内容 inode包含文件的元信息: 查看inode号两种方式 目录文件的结构 1.3.inode的号码 用户通 ...

  5. 基本命令学习 -(4)链接文件:ln命令

    关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ 前言 在Windows系统中,快捷方式是指向原始文件的一个链接文件,原文件一旦被删除或剪切到其 ...

  6. Linux ln命令 - 建立文件/目录链接

    转自Linux ln命令 - 建立文件/目录链接 1. 使用方式:ln [option] source_file dist_file                     -f 建立时,将同档案名删 ...

  7. Linux命令--链接文件的那些事

    linux 链接ln的使用 linux操作系统下ln的使用方式: ln [option] source_file dest_file #source_file是待建立链接文件的文件,dest_file ...

  8. Linux的链接文件-ln命令

    Linux的链接文件 使用ln命令来创建链接文件(link) Linux链接分两种:硬链接(Hard Link),符号链接(Symbolic Link) 默认情况下,ln命令产生硬链接. [root@ ...

  9. Linux编程 4 (创建文件touch,复制文件cp,tab补全,链接文件ln)

    一.创建文件 使用touch 可以创建空文件,例如opt目录下创建test2.txt文件.这种一般是有些程序必须要先创建文件,才能使用. 二. 复制文件 2.1 使用cp命令来复制文件,需要两个参数- ...

随机推荐

  1. 如何查看.net framework 版本

    以windows 2016 standard版本为例 通过注册表查看,找到 .NET Framework 注册表信息所在的位置:HKEY_LOCAL_MACHINE\SOFTWARE\Microsof ...

  2. Nginx+Tomcat整合的安装与配置(win.linux)

    //原帖 http://zyjustin9.iteye.com/blog/2017394 上面是windows系统,linux直接下拉到分割线. 相信很多人都听过nginx,这个小巧的东西慢慢地在吞食 ...

  3. redis问题与解决思路

    问题现象: 集群状态 1主 2从,主没有开启bgsave,从开启bgsave.现象所有redis可以访问,进行操作.主不断开始bgsave 1从停止bgsave. 主日志报错# Connection ...

  4. sourceTree回退撤销commit

    https://blog.csdn.net/gang544043963/article/details/71511958

  5. vue-cli脚手架

    cnpm i vue-cli -g   //npm 安装报错,原因不明,可能是我改过东西的原因,但是cnpm可以安装 命令行进入要新建的vue的目录执行 C:\Users\76912\Videos\v ...

  6. shiro 角色与权限的解读

    1.为什么 shiro 有了<角色>后,还要设置<角色权限>呢?(问题) 思考:设置好角色了,那么就代表什么操作都可以执行了吗? 理解:如果上边回答是的话,那么只是<角色 ...

  7. 解决Kettle ETL数据乱码

    首先用insert语句插入一条数据试试是否因为MySQL编码不对引起,如果是MySQL原因,修改MySQL编码即可: 如果不是因为MySQL的编码导致问题,那么在Kettle的表输出中,编辑连接-选项 ...

  8. 133A

    #include <stdio.h> #include<string.h> #include <stdbool.h> #define MAXSIZE 105 int ...

  9. repo常用命令及常见问题汇总

    1.执行repo命令的时候,总是显示“project xx no found” 解决: (1)先执行“repo forall -c pwd” 显示所有project的路径,按照这个来写project参 ...

  10. Eclipse安装fatjar(不用自己下载fatjar包)

    .安装Eclipse-jee-luna-SR2-win32-x86_64版本的插件支持 方法如下: Help -> Install New Software... -> Work with ...