ITIL 机遇和挑战
2010-11-14 09:49
267 查看
Linux之文件编程中软链接和硬链接的用法和区别
前言:在Linux中使用什么来识别一个文件呢?
我们先在终端上输入命令: ls -i 看看会有什么信息出现。
think@ubuntu:~$ ls -i
显示的信息
1048577 bin 523 initrd.img 524289 mnt 1 sys
1179649 boot 13 initrd.img.old 655361 opt 793170 可以看到每个文件前都有一个编号,在Linux中就是靠这个编号来识别一个文件的。那么这些编号叫啥名字呢----》索引节点号Tiger-John总结;可以通过命令: ls -i来查看一个文件的索引号。
那什么叫索引节点,它有什么作用呢。
一.索引节点
Linux 文件系统使用索引节点来记录文件信息,索引节点是一个数据结构,它包含文件的长度、创建时间、修改时间、权限、所属关系、磁盘中的位置等信息。每个文件或目录都对应一个索引节点,文件系统把所有的索引节点形成一个数组,系统给每个索引节点分配了一个号码,也就是该节点在数组中的索引号,称为索引节点号。文件系统正是靠这个索引节点号来识别一个文件。我们上面提到了有一种文件是链接文件,它是干么的呢,有什么作用?1.链接1>什么叫链接:对一个已经存在的文件再建立一个新的链接,而不复制文件的内容得用户无论使用哪一个文件名
都可以访问到同一文件,提高了文件的共享。
2>在Linux中有硬链接和软链接(就是我们所说的符号链接)之分。3>硬链接(hard link)就是让一个文件对应一个或多个文件名,或者说把我们使用的文件名和文件系统使用的节点号链接起来,这些文件名可以在同一目录或不同目录。一个文件有几个文件名,我们就说该文件的链接数为几。(硬链接就好比给文件令起了一个别名而已)
缺点:一是不允许给目录创建硬链接。二是只有在同一文件系统中的文件之间才能创建链接。人们始终是在不断的追求完美,因此为了克服硬链接的缺点,----->就出现了符号链接。4>符号链接实际上是一种特殊的文件,这种文件包含了另一个文件的任意一个路径名。这个路径名指向位于任意一个文件系统的任意文件,甚至可以指向一个不存在的文件。系统会自动把对符号链接的大部分操作(如读、写等)变为对源文件的操作,但某些操作(如删除等)就会直接在符号链接上完成。因为符号链接实际上的存放的是一个文件的路径名,因此它可以跨目录,跨文件系统。但是这一切的优点,都是要付出巨大代价的----->软链接要新建立一个索引节点。
-----------------------------------------------------------------------------------------------------------说了这么多我们来体验下如何用shell命令来对一个已经存在的文件建立一个链接呢?二如何给一个文件建立一个链接1.给一个文件建立一个硬链接首先在终端输入命令: ln tiger.c myhlink.c就实现了个已经存在的文件tiger.c 创建一个硬链接 myhlink.c。它们之间有什么关系呢?(硬链接都是指向同一个文件,所以它们的索引节点号应该是相同的)我们用命令来验证下 : ls -i 可以看看是否到底他们的索引号相同。过程实例:think@ubuntu:~/test$ ln tiger.c myhlink.c
think@ubuntu:~/test$ ls -i
931356 myhlink.c 931356 tiger.c通过上面所显示的信息可以看到它们的索引号是相同的。
2.给一个文件建立一个符号链接首先:在终端输入命令: ln -s tiger.c myslink.c然后:输入名令: ls -i
来看看它们之间的索引号是否相同?(因为软链接并没有指向这个文件,只是在这个文件中存了原有文件的地址,所以它们的索引号是不同的)过程实例:think@ubuntu:~/test$ ln -s tiger.c myslink.c
think@ubuntu:~/test$ ls -i
931346 myslink.c 931331 tiger.c通过上面的结果可以看出它们两者的索引编号不一样。Tiger-John总结:1>用 shell 命令: ln filename1 filename2 可以实现给filename1 创建一个硬链接filename2。2> 用 shell 命令:ln -s filename1 filename2 可以实现给filename1 创建一个软链接filename2。3> 用 shell 命令: ls -i 可以查看文件的索引号
本文出自 “嵌入式开发乐园” 博客,请务必保留此出处http://tigerjibo.blog.51cto.com/7718010/1276166
前言:在Linux中使用什么来识别一个文件呢?
我们先在终端上输入命令: ls -i 看看会有什么信息出现。
think@ubuntu:~$ ls -i
显示的信息
1048577 bin 523 initrd.img 524289 mnt 1 sys
1179649 boot 13 initrd.img.old 655361 opt 793170 可以看到每个文件前都有一个编号,在Linux中就是靠这个编号来识别一个文件的。那么这些编号叫啥名字呢----》索引节点号Tiger-John总结;可以通过命令: ls -i来查看一个文件的索引号。
那什么叫索引节点,它有什么作用呢。
一.索引节点
Linux 文件系统使用索引节点来记录文件信息,索引节点是一个数据结构,它包含文件的长度、创建时间、修改时间、权限、所属关系、磁盘中的位置等信息。每个文件或目录都对应一个索引节点,文件系统把所有的索引节点形成一个数组,系统给每个索引节点分配了一个号码,也就是该节点在数组中的索引号,称为索引节点号。文件系统正是靠这个索引节点号来识别一个文件。我们上面提到了有一种文件是链接文件,它是干么的呢,有什么作用?1.链接1>什么叫链接:对一个已经存在的文件再建立一个新的链接,而不复制文件的内容得用户无论使用哪一个文件名
都可以访问到同一文件,提高了文件的共享。
2>在Linux中有硬链接和软链接(就是我们所说的符号链接)之分。3>硬链接(hard link)就是让一个文件对应一个或多个文件名,或者说把我们使用的文件名和文件系统使用的节点号链接起来,这些文件名可以在同一目录或不同目录。一个文件有几个文件名,我们就说该文件的链接数为几。(硬链接就好比给文件令起了一个别名而已)
缺点:一是不允许给目录创建硬链接。二是只有在同一文件系统中的文件之间才能创建链接。人们始终是在不断的追求完美,因此为了克服硬链接的缺点,----->就出现了符号链接。4>符号链接实际上是一种特殊的文件,这种文件包含了另一个文件的任意一个路径名。这个路径名指向位于任意一个文件系统的任意文件,甚至可以指向一个不存在的文件。系统会自动把对符号链接的大部分操作(如读、写等)变为对源文件的操作,但某些操作(如删除等)就会直接在符号链接上完成。因为符号链接实际上的存放的是一个文件的路径名,因此它可以跨目录,跨文件系统。但是这一切的优点,都是要付出巨大代价的----->软链接要新建立一个索引节点。
-----------------------------------------------------------------------------------------------------------说了这么多我们来体验下如何用shell命令来对一个已经存在的文件建立一个链接呢?二如何给一个文件建立一个链接1.给一个文件建立一个硬链接首先在终端输入命令: ln tiger.c myhlink.c就实现了个已经存在的文件tiger.c 创建一个硬链接 myhlink.c。它们之间有什么关系呢?(硬链接都是指向同一个文件,所以它们的索引节点号应该是相同的)我们用命令来验证下 : ls -i 可以看看是否到底他们的索引号相同。过程实例:think@ubuntu:~/test$ ln tiger.c myhlink.c
think@ubuntu:~/test$ ls -i
931356 myhlink.c 931356 tiger.c通过上面所显示的信息可以看到它们的索引号是相同的。
2.给一个文件建立一个符号链接首先:在终端输入命令: ln -s tiger.c myslink.c然后:输入名令: ls -i
来看看它们之间的索引号是否相同?(因为软链接并没有指向这个文件,只是在这个文件中存了原有文件的地址,所以它们的索引号是不同的)过程实例:think@ubuntu:~/test$ ln -s tiger.c myslink.c
think@ubuntu:~/test$ ls -i
931346 myslink.c 931331 tiger.c通过上面的结果可以看出它们两者的索引编号不一样。Tiger-John总结:1>用 shell 命令: ln filename1 filename2 可以实现给filename1 创建一个硬链接filename2。2> 用 shell 命令:ln -s filename1 filename2 可以实现给filename1 创建一个软链接filename2。3> 用 shell 命令: ls -i 可以查看文件的索引号
本文出自 “嵌入式开发乐园” 博客,请务必保留此出处http://tigerjibo.blog.51cto.com/7718010/1276166
相关文章推荐
- 移动互联网:APP开发的机遇与挑战
- 优信二手车以创新迎接机遇与挑战
- 金融魔方创始人兼CEO刘嘉:金融SaaS为中小企业赋能的机遇与挑战
- 最具挑战的经济形势最充满机遇的时代
- 人民网改制上市估值30亿 市场化遭遇机遇与挑战
- 甲方自己做安全产品 挑战还是机遇?
- 手游的机遇与挑战
- 挑战还是机遇?无所不在的影子IT
- 【民生银行】直销银行的机遇与挑战
- LPWAN时代LoRa的机遇与挑战浅析
- 挑战与机遇 我国信息安全产业如何把持
- 国内的城市GIS面临的机遇和挑战(转载)
- IDC行业前景,机遇与挑战并存
- [Hadoop in China 2011] 华为 - NoSQL/NewSQL在传统IT产业的机遇和挑战
- P2P-挑战和机遇
- C++在嵌入式应用中的机遇与挑战
- 移动互联时代的机遇与挑战
- 3D(三维)成像技术机遇和挑战
- 复杂网络研究的机遇与挑战
- 抓住机遇 挑战未来