1.软链接 ==> 也称为符号链接
1.1软链接的创建
注:不管是源文件还是链接文件,最好都用上绝对路径
ln -s 链接源 链接名 //创建链接文件
ln -sf 链接源 链接名 //修改链接的源
s 如果目标链接名称已经存在,会返回错误,并不会覆盖现有文件或链接
f 创建链接时,如果链接已经存在,则会强制删除它并创建新的链接
1.2示例
给网卡配置文件做软链接,链接到/home/ens33
网卡配置文件路径
/etc/sysconfig/network-scripts/ifcfg-ens33
ln -sf /etc/sysconfig/network-scripts/ifcfg-ens33 /home/ens33
1.3 软链接的特点
① 创建的链接文件会产生新的inode
==>用来存储文件的元数据等,元数据包括文件的权限,属主和属组,记录文件内容所在的block number等等
② 可以跨文件系统创建
==>例如在xfs文件系统、ext4文件系统下
实验准备:
添加一块磁盘,创建分区
parted -s /dev/sdb mklabel gpt // 创建标签格式
parted -s /dev/sdb mkpart sdb1 0 1G // 非交互创建分区指定大小
lsblk // 查看分区信息
格式化为ext4文件系统类型,并挂载到/mnt/test下
mksfs.ext4 /dev/sdb1 // 格式化为ext4文件系统类型
mkdir /mnt/test // 创建挂载点
mount /dev/sdb1 /mnt/test // 挂载到/mnt/test
准备完成,这时可以看到/boot文件系统类型和/mnt/test是不同的
创建链接
在/boot下创建一个testfile.txt
在创建一个链接文件到/mnt/test/test.txt
echo "hello linlin" > /boot/testfile.txt // 输出内容重定向到指定文件
ln -sf /boot/testfile.txt /mnt/test/test.txt // 创链接到指定位置
ll /mnt/test/test.txt // 验证
这验证了在不同的文件系统下,依旧可以建立软链接
③ 删除源之后链接文件无效
把②中的文件删除,验证一下
源文件飘红,查看链接文件显示没有该文件...
④ 可以对目录做软链接,会同步目录里面的内容
ln -sf /home /tmp/home_link // 做一个home目录的链接,链接放在/tmp目录下
ll /tmp/home_link // 查看链接信息
echo "hello liu" > /home/liu/a.txt // 修改源目录本身内容
cat /tmp/home_link/liu/a.txt // 查看链接内容是否跟随源目录改变
2.硬链接 ==> 强备份
2.1 硬链接的创建
ln 链接源 链接名
2.2 软链接的特点
① 对主要数据文件备份,防止误删
② 不产生新的inode
③ 任意删除文件名,文件都不会损坏
④ 不可以对目录做硬链接
⑤ 不可以跨设备和文件系统创建