硬连接:
创建一个硬连接: ln src ndest
___________________________________________________________________
1.硬连接文件和源文件共享inode 节点,所以inode节点号一样:2097450;
2.打开stat.c 和aaa 有相应的两个文件描述符和文件表项,但是共享inode节点;
3.硬连接文件和源文件属于同一级别;
4.如果要删除文件stat.c需要其硬连接数变为0;
1)、不允许给目录创建硬链接;
2)、只有在同一文件系统中的文件之间才能创建链接;
___________________________________________________________________
root@ubuntu-desktop:/opt/qy1408/sys/day3/stat# ln stat.c bbb
root@ubuntu-desktop:/opt/qy1408/sys/day3/stat# ls
aaa a.out bbb stat.c
root@ubuntu-desktop:/opt/qy1408/sys/day3/stat# ls -il
总用量 20
2097450 -rw-r--r-- 3 root root 1119 2014-09-28 16:33 aaa
2097451 -rwxr-xr-x 1 root root 7514 2014-09-28 16:32 a.out
2097450 -rw-r--r-- 3 root root 1119 2014-09-28 16:33 bbb
2097450 -rw-r--r-- 3 root root 1119 2014-09-28 16:33 stat.c
___________________________________________________________________
软连接(符号连接):
建立一个新的软连接:ln -s src dest
___________________________________________________________________
root@ubuntu-desktop:/opt/qy1408/sys/day3/stat# ln -s stat.c aa
root@ubuntu-desktop:/opt/qy1408/sys/day3/stat# ls -il
总用量 12
2097459 lrwxrwxrwx 1 root root 6 2014-09-28 16:57 aa -> stat.c
2097451 -rwxr-xr-x 1 root root 7514 2014-09-28 16:32 a.out
2097458 -rw-r--r-- 1 root root 1119 2014-09-28 16:54 stat.c
root@ubuntu-desktop:/opt/qy1408/sys/day3/stat# ln -s aa bb
root@ubuntu-desktop:/opt/qy1408/sys/day3/stat# ls -il
总用量 12
2097459 lrwxrwxrwx 1 root root 6 2014-09-28 16:57 aa -> stat.c
2097451 -rwxr-xr-x 1 root root 7514 2014-09-28 16:32 a.out
2097460 lrwxrwxrwx 1 root root 2 2014-09-28 16:58 bb -> aa
2097458 -rw-r--r-- 1 root root 1119 2014-09-28 16:54 stat.c
root@ubuntu-desktop:/opt/qy1408/sys/day3/stat#
___________________________________________________________________
建立一个软连接之后:
1.软连接文件和源文件各自都有各自的inode节点
2.可以通过软连接文件访问源文件,但是如果源文件目录改变,则无法通过软连接文件找到
3.符号连接文件本身存放的是源文件的文件地址
ssize_t readlink(const char *path, char *buf, size_t bufsiz);
读取软连接文件本身的信息
硬连接文件和软连接文件的优缺点:
1.在同一系统中硬连接访问效率高,但是硬连接不能跨系统访问
创建一个硬连接: ln src ndest
___________________________________________________________________
#ln stat.c aaa
root@ubuntu-desktop:/opt/qy1408/sys/day3/stat# ls -il
总用量 162097450 -rw-r--r-- 2 root root 1119 2014-09-28 16:33 aaa
2097451 -rwxr-xr-x 1 root root 7514 2014-09-28 16:32 a.out
2097450 -rw-r--r-- 2 root root 1119 2014-09-28 16:33 stat.c
为stat.c 建立一个硬连接aaa,1.硬连接文件和源文件共享inode 节点,所以inode节点号一样:2097450;
2.打开stat.c 和aaa 有相应的两个文件描述符和文件表项,但是共享inode节点;
3.硬连接文件和源文件属于同一级别;
4.如果要删除文件stat.c需要其硬连接数变为0;
5.再同一系统内,源文件目录无论怎么改变,都能通过硬连接文件找到;
硬链接文件有两个限制 :1)、不允许给目录创建硬链接;
2)、只有在同一文件系统中的文件之间才能创建链接;
___________________________________________________________________
root@ubuntu-desktop:/opt/qy1408/sys/day3/stat# ln stat.c bbb
root@ubuntu-desktop:/opt/qy1408/sys/day3/stat# ls
aaa a.out bbb stat.c
root@ubuntu-desktop:/opt/qy1408/sys/day3/stat# ls -il
总用量 20
2097450 -rw-r--r-- 3 root root 1119 2014-09-28 16:33 aaa
2097451 -rwxr-xr-x 1 root root 7514 2014-09-28 16:32 a.out
2097450 -rw-r--r-- 3 root root 1119 2014-09-28 16:33 bbb
2097450 -rw-r--r-- 3 root root 1119 2014-09-28 16:33 stat.c
___________________________________________________________________
软连接(符号连接):
建立一个新的软连接:ln -s src dest
___________________________________________________________________
root@ubuntu-desktop:/opt/qy1408/sys/day3/stat# ln -s stat.c aa
root@ubuntu-desktop:/opt/qy1408/sys/day3/stat# ls -il
总用量 12
2097459 lrwxrwxrwx 1 root root 6 2014-09-28 16:57 aa -> stat.c
2097451 -rwxr-xr-x 1 root root 7514 2014-09-28 16:32 a.out
2097458 -rw-r--r-- 1 root root 1119 2014-09-28 16:54 stat.c
root@ubuntu-desktop:/opt/qy1408/sys/day3/stat# ln -s aa bb
root@ubuntu-desktop:/opt/qy1408/sys/day3/stat# ls -il
总用量 12
2097459 lrwxrwxrwx 1 root root 6 2014-09-28 16:57 aa -> stat.c
2097451 -rwxr-xr-x 1 root root 7514 2014-09-28 16:32 a.out
2097460 lrwxrwxrwx 1 root root 2 2014-09-28 16:58 bb -> aa
2097458 -rw-r--r-- 1 root root 1119 2014-09-28 16:54 stat.c
root@ubuntu-desktop:/opt/qy1408/sys/day3/stat#
___________________________________________________________________
建立一个软连接之后:
1.软连接文件和源文件各自都有各自的inode节点
2.可以通过软连接文件访问源文件,但是如果源文件目录改变,则无法通过软连接文件找到
3.符号连接文件本身存放的是源文件的文件地址
ssize_t readlink(const char *path, char *buf, size_t bufsiz);
读取软连接文件本身的信息
硬连接文件和软连接文件的优缺点:
1.在同一系统中硬连接访问效率高,但是硬连接不能跨系统访问
1.在同一系统中软连接访问效率比硬连接底,但是软连接可以跨系统访问(优点)
注意文件操作时几个常用的函数:
创建硬连接:int link(const char *path1, const char *path2);
创建软连接:int symlink(const char *path1, const char *path2);
删除现有目录:int unlink或remove(const char *path);
打开软连接文件的信息:ssize_t readlink(const char *restrict path, char *restrict buf,size_t bufsize);