硬链接:记录的是目标的inode
更像是备份
只能在本文件系统里用
软链接:记录的是目标的路径
更像是快捷方式
可以跨文件系统用
实际使用更多
ett 目录
test目录
ett为什么硬链接数为3:
1.ett文件本身的硬链接 +1
2.ett目录下的.的硬链接,代表本目录 +1
3.ett文件夹下的test目录下的.. 代表上级目录,也就是ett目录 +1
所有ett下如果有一个目录,那硬链接数就是2+1
如果有两个目录,那硬链接数就是2+2
如果test目录下加一下目录,ett的硬链接数不会增加,test的硬连接数会增加
ln [选项] [源文件] [新建链接名]
ln -s [源文件] [新建链接名] //软链接
ln [源文件] [新建链接名] //硬链接
硬链接eg:
ln a b
-s, --symbolic 软链接
make symbolic linksinstead of hard links //创建符号链接而不是硬链接
-i, --interactive
prompt whether toremove destinations//确认是否删除目的地文件
-rw-r--r-- 2 0 0 6 Aug 22 05:38 b
删除源文件后,文件链接数变为 1
-rw-r--r-- 1 rootroot 11 Aug 22 05:40 b
软链接:
[root@localhost ~]# ln -s b c
lrwxrwxrwx 1 root root 1 Aug 22 05:42 c -> b
[root@localhost ~]# rm -rf b
[root@localhost ~]# cat c
cat: c: No such file or directory
[root@node203 ~]# ln /var var
ln: `/var': hard link not allowed for directory //硬链接不能给目录做链接
[root@node203 ~]# ln -s /var var //软链接可以给目录做链接
[root@node205 bin]# ln -s /usr/local/mysql/bin/mysqladmin mysqladmin
//在bin目录下做mysqladmin的连接,连接到s/usr/local/mysql/bin/mysqladmin
需要做链接的目录:/usr/bin
源文件:/usr/local/mysql/bin/mysqladmin
目标文件:mysqladmin
如果要做软链接:先要到要做链接的目录下面操作: