• ln 软连接与硬连接


                                                                                                                软连接与硬连接

    2.1问题

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

    新建文件file1,内容为AAAA

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

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

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

    删除文件file1,再查看文件file1-sfile1-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/

  • 相关阅读:
    hash
    DatabaseLibrary -数据库操作
    UnicodeEncodeError: 'ascii' codec can't encode characters in position 18-22: ordinal not in range(128)
    robotframework_酷我音乐_That Girl
    robotframework_百度登陆
    12306_车票预定_修改日期
    基础知识:索引和分片
    基础知识:字符串
    基础知识: 常用数据类型分类 及 数值
    c++拷贝构造函数
  • 原文地址:https://www.cnblogs.com/qingbai/p/11936489.html
Copyright © 2020-2023  润新知