为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > Linux 硬链接 软链接

Linux 硬链接 软链接

2018-02-19 6页 doc 41KB 22阅读

用户头像

is_314871

暂无简介

举报
Linux 硬链接 软链接Linux 硬链接 软链接 Linux 硬链接和软链接 [+] UNIX 系统中除进程之外的一切皆是文件,而 Linux 保持了这一特性。为了便于文件的管理,Linux 还引入了目录(有时亦被称为文件夹)这一概念。目录使文件可被分类管理,且目录的引入使 Linux 的文件系统形成一个层级结构的目录树。清单 1.所示的是普通 Linux 系统的顶层目录结构,其中 /dev 是存放了设备相关文件的目录。 清单 1. Linux 系统的顶层目录结构 / 根目录 ??? bin 存放用户二进制文件 ??? boot 存放内...
Linux 硬链接  软链接
Linux 硬链接 软链接 Linux 硬链接和软链接 [+] UNIX 系统中除进程之外的一切皆是文件,而 Linux 保持了这一特性。为了便于文件的管理,Linux 还引入了目录(有时亦被称为文件夹)这一概念。目录使文件可被分类管理,且目录的引入使 Linux 的文件系统形成一个层级结构的目录树。清单 1.所示的是普通 Linux 系统的顶层目录结构,其中 /dev 是存放了设备相关文件的目录。 清单 1. Linux 系统的顶层目录结构 / 根目录 ??? bin 存放用户二进制文件 ??? boot 存放内核引导配置文件 ??? dev 存放设备文件 ??? etc 存放系统配置文件 ??? home 用户主目录 ??? lib 动态共享库 ??? lost+found 文件系统恢复时的恢复文件 ??? media 可卸载存储介质挂载点 ??? mnt 文件系统临时挂载点 ??? opt 附加的应用程序包 ??? proc 系统内存的映射目录,提供内核与进程信息 ??? root root 用户主目录 ??? sbin 存放系统二进制文件 ??? srv 存放服务相关数据 ??? sys sys 虚拟文件系统挂载点 ??? tmp 存放临时文件 ??? usr 存放用户应用程序 ??? var 存放邮件、系统日志等变化文件 Linux 与其他类 UNIX 系统一样并不区分文件与目录:目录是记录了其他文件名的文件。使用命令 mkdir 创建目录时,若期望创建的目录的名称与现有的文件名(或目录名)重复,则会创建失败。 # ls -F /usr/bin/zi* /usr/bin/zip* /usr/bin/zipgrep* /usr/bin/zipnote* /usr/bin/zipcloak* /usr/bin/zipinfo* /usr/bin/zipsplit* # mkdir -p /usr/bin/zip mkdir: cannot create directory `/usr/bin/zip': File exists Linux 将设备当做文件进行处理,清单 2.展示了如何打开设备文件 /dev/input/event5 并读取文件内容。文件 event5 表示一种输入设备,其可能是鼠标或键盘等。查看文件 /proc/bus/input/devices 可知 event5 对应设备的类型。设备文件 /dev/input/event5 使用 read() 以字符流的方式被读取。结构体 input_event 被定义在内核头文件 linux/input.h 中。 清单 2. 打开并读取设备文件 int fd; struct input_event ie; fd = open("/dev/input/event5", O_RDONLY); read(fd, &ie, sizeof(struct input_event)); printf("type = %d code = %d value = %d\n", ie.type, ie.code, ie.value); close(fd); 硬链接的特性 我们知道文件都有文件名与数据,这在 Linux 上被分成两个部分:用户数据 (user data) 与元数据 (metadata)。用户数据,即文件数据块 (data block),数据块是记录文件真实内容的地方;而元数据则是文件的附加属性,如文件大小、创建时间、所有者等信息。在 Linux 中,元数据中的 inode 号(inode 是文件元数据的一部分但其并不包含文件名,inode 号即索引节点号)才是文件的唯一标识而非文件名。文件名仅是为了方便人们的记忆和使用,系统或程序通过 inode 号寻找正确的文件数据块。图 1.展示了程序通过文件名获取文件内容的过程。 图 1. 通过文件名打开文件 清单 3. 移动或重命名文件 [root@gvtv svnmanager]# stat config.php File: "config.php" Size: 2556 Blocks: 8 IO Block: 4096 ???????? Device: 802h/2050d Inode: 11804169 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2013-10-31 10:10:23.490475413 +0800 Modify: 2013-10-31 10:08:40.868475483 +0800 Change: 2013-10-31 10:08:40.917475486 +0800 [root@gvtv svnmanager]# mv config.php config.php.linux [root@gvtv svnmanager]# stat config.php.linux File: "config.php.linux" Size: 2556 Blocks: 8 IO Block: 4096 ???????? Device: 802h/2050d Inode: 11804169 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2013-10-31 10:10:23.490475413 +0800 Modify: 2013-10-31 10:08:40.868475483 +0800 Change: 2013-10-31 11:47:20.973471459 +0800 [ 在 Linux 系统中查看 inode 号可使用命令 stat 或 ls -i(若是 AIX 系统,则使用命令 istat)。清单 3.中使用命令 mv 移动并重命名文件 glibc-2.16.0.tar.xz,其结果不影响文件的用户数据及 inode 号,文件移动前后 inode 号均为:11804169。 为解决文件的共享使用,Linux 系统引入了两种链接:硬链接 (hard link) 与软链接(又称符号链接,即 soft link 或 symbolic link)。链接为 Linux 系统解决了文件的共享使用,还带来了隐藏文件路径、增加权限安全及节省存储等好处。若一个 inode 号对应多个文件名,则称这些文件为硬链接。换言之,硬链接就是同一个文件使用了多个别名(见 图 2.hard link 就是 file 的一个别名,他们有共同的 inode)。硬链接可由命令 link 或 ln 创建。如下是对文件 oldfile 创建硬链接。 link oldfile newfile ln oldfile newfile 由于硬链接是有着相同 inode 号仅文件名不同的文件,因此硬链接存在以下几点特性: , 文件有相同的 inode 及 data block; , 只能对已存在的文件进行创建; , 不能交叉文件系统进行硬链接的创建; , 不能对目录进行创建,只可对文件创建; , 删除一个硬链接文件并不影响其他有相同 inode 号的文件。 当你创建一个硬链接时,你创建的是指向数据位置的另一个指针,而不是指向现有文件的指针。这意味着编辑一个文件的硬链接等价于编辑该文件的原始实例。 软链接的特性 软链接与硬链接不同,若文件用户数据块中存放的内容是另一文件的路径名的指向,则该文件就是软连接。软链接就是一个普通文件,只是数据块内容有点特殊。软链接有着自己的 inode 号以及用户数据块(见 图 2.)。因此软链接的创建与使用没有类似硬链接的诸多限制: , 软链接有自己的文件属性及权限等; , 可对不存在的文件或目录创建软链接; , 软链接可交叉文件系统; , 软链接可对文件或目录创建; , 创建软链接时,链接计数 i_nlink 不会增加; , 删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接被称为 死链接(即 dangling link,若被指向路径文件被重新创建,死链接可恢复为正常的软链接)。 图 2. 软链接的访问
/
本文档为【Linux 硬链接 软链接】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索