软连接与硬连接

2.1问题

本例要求理解软连接与硬连接的基本差异,完成下列操作:

新建文件file1,内容为AAAA

为file1建立软连接file1-s,对比两文件内容

为file1建立硬连接file1-h,对比两文件内容

对比上述3个文件的i节点编号

删除文件file1,再查看文件file1-s、file1-h内容

2.2方案

软连接与硬连接:

软连接:指向原始文件的路径,若原始文件被删除,连接文件将失效;原始文件可以是目录;原始文件与连接文件可以在不同的分区/文件系统

硬连接:指向原始文件的i节点档案,若原始文件被删除,连接文件仍然有效;原始文件不能是目录;原始文件与连接文件必须在同一个分区/文件系统

2.3步骤

实现此案例需要按照如下步骤进行。

步骤一:使用ln命令为文档/目录建立连接

1)新建一个测试文件

[root@svr7~]#vim file1

AAAA

2)为文件file1建立软连接file1-s并测试

[root@svr7~]#ln-s file1 file1-s

[root@svr7~]#cat file1-s

linux.tedu.cn

3)为文件file1建立硬连接file1-h并测试

[root@svr7~]#ln file1 file1-h

[root@svr7~]#cat file1-h

linux.tedu.cn

4)对比原始文件、软连接、硬连接的属性

可以发现软连接只是一个快捷方式,而硬连接与原始文件的i节点编号相同,其实对应同一块磁盘存储:

[root@svr7~]#ls -li /root/f0*.txt

204645793-rw-r--r--.2 root root 14 Jan 6 12:14 file1-h

201628464 lrwxrwxrwx.1 root root 12 Jan 6 12:16 file1-s->file1

204645793-rw-r--r--.2 root root 14 Jan 6 12:14 file1

步骤二:原始文件删除测试

1)当原始文件被删除时,软连接将会失效,而硬连接仍然可访问文件数据

[root@svr7~]#rm -rf file1

[root@svr7~]#cat file1 -s

cat:file1-s:No such file or directory

[root@svr7~]#cat file1 -h

linux.tedu.cn

2)如果已知原始文件和硬连接的路径,当原始文件丢失时,可以快速重建

[root@svr7~]#ln file1 -h file1

[root@svr7~]#ls -li /root/f0*.txt

204645793-rw-r--r--.2 root root 14 Jan 6 12:14 file1-h

201628464 lrwxrwxrwx.1 root root 12 Jan 6 12:16 file1-s->file1

204645793-rw-r--r--.2 root root 14 Jan 6 12:14 file1

3)不支持为目录创建硬连接,但可以为目录建立软连接

[root@svr7~]#ln /etc/sysconfig/network-scripts/ /etc/network

ln:'/etc/sysconfig/network-scripts/':hard link not allowed for directory

[root@svr7~]#ln -s /etc/sysconfig/network-scripts/ /etc/interface

[root@svr7~]#ls -l /etc/interface

lrwxrwxrwx.1  root root 31 Jan 6    12:28/etc/interface->/etc/sysconfig/network-scripts/

ln 软连接与硬连接的更多相关文章

  1. Linux 软连接与硬连接

    Linux 软连接与硬连接 对于一个文件来说,有唯一的索引接点与之相应,而对于一个索引接点号,却能够有多个文件名称与之相应.因此,在磁盘上的同一个文件能够通过不同的路径去訪问该文件.注意在Linux下 ...

  2. linux中的软连接和硬连接

    1. 创建软连接的方法 ln -s /path/to/original /path/to/linkName 当我们对软连接文件进行修改后,对应的修改也会反映到原始的文件(反之亦然). 当我们删除软连接 ...

  3. Service系统服务(二):补充应用技巧、软连接与硬连接、man手册、zip备份、vim效率操作、自定义yum软件仓库、发布及测试yum仓库、编译安装软件包

    一.补充应用技巧 目标: 本例要求掌握在运维中比较常用的一些扩展命令技巧的使用,完成下列小技巧操作: 1> 采用数值形式将目录/root的权限调整为 rwx------   2> 将记录的 ...

  4. Linux基础(3)- 正文处理命令及tar命令、vi编辑器、硬盘分区、格式化及文件系统的管理和软连接、硬连接

    一.正文处理命令及tar命令 1)  将用户信息数据库文件和组信息数据库文件纵向合并为一个文件1.txt(覆盖) 2)  将用户信息数据库文件和用户密码数据库文件纵向合并为一个文件2.txt(追加) ...

  5. Linux软连接与硬连接 .

    http://blog.csdn.net/ningxinghai/article/details/7342338 Linux的软连接相当于window系统的快捷方式,如我们桌面的QQ等. 硬连接相当于 ...

  6. linux之软连接,硬连接篇

    作业四: 1) 建立/etc/passwd的软连接文件,放在/tmp目录下 [root@localhost 桌面]# ln -s /etc/passwd/a.txt /tmp/aa.txt 2) 建立 ...

  7. Linux的软连接和硬连接

    1.Linux链接概念 Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接. [硬连接] 硬连接指通过索引 ...

  8. Linux软连接和硬连接

    软连接 命令: ln -s 原文件 目标文件 特征: 1.相当于windows的快捷方式 2.只是一个符号连接,所以软连接文件大小都很小 3.当运行软连接的时候,会根据连接指向找到真正的文件,然后执行 ...

  9. Linux 软连接和硬连接(转)

    1.Linux链接概念Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接. [硬连接]硬连接指通过索引节点 ...

随机推荐

  1. ggplot2(4) 用图层构建图像

    4.1 简介 qplot()的局限性在于它只能使用一个数据集和一组图形属性映射,解决这个问题的办法就是使用图层.每个图层可以有自己的数据集和图形属性映射,附加的数据元素可通过图层添加到图形中. 一个图 ...

  2. Simulink仿真入门到精通(十) S函数

    10.1 S函数概述 S函数也称为Simulink中的系统函数,是用来描述模块的Simulink宏函数,支持M.C等多种语言.当Simulink默认的模块不能满足用户的需求时,用户可以通过S函数自己打 ...

  3. 网络编程---socket模块

    内容中代码都是先写  server端, 再写 client端 1 TCP和UDP对比 TCP(Transmission Control Protocol)可靠的.面向连接的协议(eg:打电话).传输效 ...

  4. Anaconda3环境下安装OpenCV(cv2)

    Anaconda3环境下安装OpenCV(cv2) 主要步骤 1 首先查看自己的Anaconda安装的python版本 2 下载相应的OpenCv.whl文件 3 使用cmd安装.whl文件 查看自己 ...

  5. foobox,基于foobar2000汉化版的CUI配置整合版

    名 称:foobox 作 者:dreamawake 发布博客:https://www.cnblogs.com/foobox/ GitHub: https://github.com/dream7180/ ...

  6. 通过极简模拟框架让你了解ASP.NET Core MVC框架的设计与实现[上篇]

    <200行代码,7个对象--让你了解ASP.NET Core框架的本质>让很多读者对ASP.NET Core管道有了真实的了解.在过去很长一段时间中,有很多人私信给我:能否按照相同的方式分 ...

  7. 洛谷3834 hdu2665主席树模板,动态查询区间第k小

    题目链接:https://www.luogu.com.cn/problem/P3834 对于区间查询第k小的问题,在区间数量达到5e5的时候是难以用朴素数据结构实现的,这时候主席树就应运而生了,主席树 ...

  8. linux bash吧,还有啥Bourne Again Shell

    linux bash吧,还有啥Bourne Again Shell bash吧,还有啥Bourne Again Shell 头部要写#!/bin/bash set -x #open script de ...

  9. [CS充实之路] CS50 WEEK 1

    前言 大学电子专业,幸好自学了JAVA,遂有幸工作了三年,但这期间一直在焦虑,一个是基础不扎实的担心,另一个是未来方向的不确定.去年开始终于下定决心,一方面走一遍CS之路,巩固知识体系,另一方面部署自 ...

  10. nltk 获取 gutenberg 语料,gensim 生成词库和 onehot 编码

    nltk 获取 gutenberg 语料 gensim 生成词库和 onehot 编码 正在尝试基于 Tensorflow LSTM 模型开发另外一个项目,需要自然语言处理的工具和语料. import ...