Linux命令ln、cp、硬链接和软链接
2014-03-11 22:08
351 查看
1.Linux链接概念
Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。
【硬连接】
硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用 户就可以建立硬连接到重要文件,以防止“误删”的功能。对于文件的操作同步到所有指向该索引节点的文件,但是删除时,只是删除一个连接并不影响索
引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。
【软连接】
另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接 中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。
【ln】
ln 源文件 新文件 #创建硬链接
等效于:cp -l 源文件 新文件
ln -s 源文件 新文件 #创建软链接
等效于:cp -s 源文件 新文件
【实例】
[zz@ubuntu]:~$ touch f1 #创建一个测试文件f1
[zz@ubuntu]:~$
ln f1 f2 #创建f1的一个硬连接文件f2
[zz@ubuntu]:~$
ln -s f1 f3 #创建f1的一个符号连接文件f3
[zz@ubuntu]:~$
ls -l #看到:f3-->f1
此时:f1和f2指向同一索引节点(同一文件对象),f3指向f1.
对f1,f2,f3的写操作会保持同步.
删除f1不会影响到f2,删除f2也不影响f1,删除f3不影响f1,但是删除f1,f3便没有链接对象,因此会输出:没有那个文件或目录.
Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。
【硬连接】
硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用 户就可以建立硬连接到重要文件,以防止“误删”的功能。对于文件的操作同步到所有指向该索引节点的文件,但是删除时,只是删除一个连接并不影响索
引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。
【软连接】
另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接 中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。
【ln】
ln 源文件 新文件 #创建硬链接
等效于:cp -l 源文件 新文件
ln -s 源文件 新文件 #创建软链接
等效于:cp -s 源文件 新文件
【实例】
[zz@ubuntu]:~$ touch f1 #创建一个测试文件f1
[zz@ubuntu]:~$
ln f1 f2 #创建f1的一个硬连接文件f2
[zz@ubuntu]:~$
ln -s f1 f3 #创建f1的一个符号连接文件f3
[zz@ubuntu]:~$
ls -l #看到:f3-->f1
此时:f1和f2指向同一索引节点(同一文件对象),f3指向f1.
对f1,f2,f3的写操作会保持同步.
删除f1不会影响到f2,删除f2也不影响f1,删除f3不影响f1,但是删除f1,f3便没有链接对象,因此会输出:没有那个文件或目录.
相关文章推荐
- SSL握手通信详解及linux下c/c++ SSL Socket(另附SSL双向认证客户端代码)
- CentOS Linux安装OpenLDAP服务器
- Linux ARM Device Tree
- 移植rootfs错误Failed to execute /linuxrc. Attempting defaults的解决
- postgreSQL在linux下的安装配置
- UNetbootin
- 教你写Linux设备驱动程序:一个简短的教程
- 嵌入式linux学习笔记3之DNW2的安装
- linux下libusb的安装与测试
- linux下源码安装软件
- Installing CentOS 6 with Windows in a Dual Boot Environment
- linux c main函数参数
- linux 编译C++错误整理
- Centos下 ffmpeg 和opencv一起配合处理视频
- 《linux系统及其编程》实验课记录(二)
- RHEL/CentOS 6.x使用EPEL6与remi的yum源安装MySQL 5.5.x
- linux内核中的static inline
- 《linux系统及其编程》实验课记录(一)
- ARM Linux教程之一:安装VirtualBox虚拟机
- 进程调度子系统(4)CFS补充