Hard Links:node
不能跨 filesystem ,由于不一样的 filesystem 有不一样的inode table 嘛!linux
不能 link 目录!安全
Symbolic Links:less
语法:[root @test/root ]# ln [-s] [来源档] [目的档]
参数说明:
-s :提供连结档的连结!若是直接以 ln 不加任何参数的话,那么就属于 hard link啰!
范例:
[root @test/root]# mkdir test
[root @test/root]# cd test
[root @test/test]# cp /usr/bin/passwd .0. 本来的信息:
[root @test/test]# ll
-rw-r--r--1root root 13476 Jun 26 11:31 passwd
[root @test/test]# du -k<==查看该目录下的占用硬盘空间
20ide1. Hard Link信息:
[root @test/test]# ln passwd passwd-hard
[root @test/test]# ll
total 32
-rw-r--r--2root root 13476 Jun 26 11:31 passwd
-rw-r--r--2root root 13476 Jun 26 11:31 passwd-hard
注意看,上面那个数字变成2 啰!这就是占用掉 inodes 啰!
[root @test/test]# du -k
20 <==注意看,容量并无变大!由于是link 档案呀!测试2. SymbolicLink 信息:
[root @test/test]# ln -s passwd passwd-soft; ll
-rw-r--r-- 2 root root 13476 Jun 26 11:31 passwd
-rw-r--r-- 2 root root 13476 Jun 26 11:31 passwd-hard
lrwxrwxrwx 1 root root 6 Jun 26 11:37 passwd-sofe -> passwd
注意啰!该Symbolic Link 的档案是有容量的呦!
注意啰, passwd-soft会指到另一个档案去,并且,最前面属性显示 l ,
此外,他是一个独立的档案!先杀掉passwd 后,咱们分别 more 一下内容:rem3. 用 more 来试试看是怎样?!
说明:
[root @testtest]# rm passwd
rm: removeregular file `passwd'? y
[root @testtest]# more passwd-hard
………(正常显示)
[root @testtest]# more passwd-soft
passwd-soft:No such file or directory同步
要注意啰!若是不加任何参数的话,那么就是 Hard Link 啰!如同上面的状况,增长了hard link 以后,能够发现 link 那一栏属性增长了!而若是这个时候砍掉 passwd会发生什么事情呢?呵呵! passwd-hard 的内容仍是会跟原来 passwd 相同,可是passwd-soft 就会找不到该档案啦!就是这样!了解了吗?!还有,跟 cp 也不同呦!由于虽然Hard Link 的档案看起来是有容量的,可是基本上仍是指向原来的档案,因此啰,总体容量是没有增大的啦!
而若是使用 -s 的参数时,就作成差很少是 Windows 底下的『快捷方式』的意思(SymbolicLink,较经常使用!)不过,须要特别注意的是, Linux 的 link 与 Windows 的快捷方式是不同的东西!举个例子说,当你在Windows 创建一个快捷方式时,你能够在这个快捷方式内修改任何数据,而你的原始数据并不会跟着变!不过,当你修改Linux 下的 link 档案时,则更动的实际上是『原始档』,呵呵,因此不论你的这个原始档被连结到哪里去,只要你修改了连结档,呵呵!原始档就跟着变啰!以上面为例,因为你使用-s 的参数创建一个名为 passwd-soft 的档案,则你修改 passwd-soft 时,其内容与passwd 彻底相同,而且,当你按下储存以后,被改变的将是 passwd 这个档案!
此外,若是你作了底下这样的连结:ln –s /bin /root/bin那么若是你进入 /root/bin 这个目录下,『请注意呦!该目录实际上是 /bin 这个目录,由于你作了连结档了!』因此,若是你进入/root/bin 这个刚刚创建的连结目录,而且将其中的数据杀掉时,嗯! /bin 里面的数据就统统不见了!这点请千万注意!并非/root 底下的资料都是 root 的!还须要注意一下该属性才行!
基本上, Symbolic link 的用途比较广,因此您要特别留意 symbolic link的用法呢!将来必定还会经常用到的啦!
ln是 linux中又一个很是重要 命令,它的功能是为某一个文件在另一个位置创建一个同不的连接,这个 命令最经常使用的参数是-s,具体用法是: ln –s 源文件 目标文件。
当咱们须要在不一样的目录,用到相同的文件时,咱们不须要在每个须要的目录下都放一个必须相同的文件,咱们只要在某个固定的目录,放上该文件,而后在其它的目录下用 ln 命令连接(link)它就能够,没必要重复的占用磁盘空间。例如: ln –s /bin/less/usr/local/bin/less
-s 是代号(symbolic)的意思。
这里有两点要注意:第一, ln 命令会保持每一处连接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;第二, ln的连接又软连接和硬连接两种,软连接就是 ln –s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬连接 ln ****,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,不管是软连接仍是硬连接,文件都保持同步变化。
若是你用ls察看一个目录时,发现有的文件后面有一个@的符号,那就是一个用 ln 命令生成的文件,用ls –l 命令去察看,就能够看到显示的link的路径了。
指令详细说明
指令名称 : ln
使用权限 : 全部使用者
使用方式 : ln [options] source dist,其中 option 的格式为 :
[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]
[--help] [--version] [--]
说明 : Linux/Unix 档案系统中,有所谓的连结(link),咱们能够将其视为档案的别名,而连结又可分为两种 : 硬连结(hardlink)与软连结(symboliclink),硬连结的意思是一个档案能够有多个名称,而软连结的方式则是产生一个特殊的档案,该档案的内容是指向另外一个档案的位置。硬连结是存在同一个档案系统中,而软连结却能够跨越不一样的档案系统。
ln source dist 是产生一个连结(dist)到 source,至于使用硬连结或软链结则由参数决定。
不管是硬连结或软链结都不会将本来的档案复制一份,只会占用很是少许的磁碟空间。
-f : 链结时先将与 dist 同档名的档案删除
-d : 容许系统管理者硬链结本身的目录
-i : 在删除与 dist 同档名的档案时先进行询问
-n : 在进行软连结时,将 dist 视为通常的档案
-s : 进行软链结(symbolic link)
-v : 在连结以前显示其档名
-b : 将在链结时会被覆写或删除的档案进行备份
-S SUFFIX : 将备份的档案都加上 SUFFIX 的字尾
-V METHOD : 指定备份的方式
--help : 显示辅助说明
--version : 显示版本
范例 :
将档案 yy 产生一个 symbolic link : zz
ln -s yy zz
将档案 yy 产生一个 hard link : zz
ln yy xx