zoukankan      html  css  js  c++  java
  • 连结档

    连结档

    连结档有点类似 Windows 底下的『快捷方式』!也就是很多的连结档案( link file )其实都指向同一个来源档案( source file )。

    连结档还分成 Hard link 与 symbolic link 两种

    [root@linux ~]# ln [-sf] 来源文件 目标文件 
    参数: 
    -s :如果 ln 不加任何参数就进行连结,那就是 hard link,至于 -s 就是 symbolic link 
    -f :如果 目标文件 存在时,就主动的将目标文件直接移除后再建立! 
    范例: 
    范例一:将 /etc/passwd 复制到 /tmp 底下,并且观察 inode 与 block 
    [root@linux ~]# cd /tmp 
    [root@linux tmp]# cp -a /etc/passwd . 
    [root@linux tmp]# du -sb ; df -i . 
    26948 . <== 先注意一下,这里的容量是多少! 
    Filesystem Inodes IUsed IFree IUse% Mounted on 
    /dev/hda1 1537088 144016 1393072 10% / 
    # 利用 du 与 df 来检查一下目前的参数~那个 du -sb 
    # 是计算整个 /tmp 底下有多少 bytes 的容量啦! 
    范例二:将 /tmp/passwd 制作 hard link 成为 passwd-hd 档案 
    [root@linux tmp]# ln passwd passwd-hd 
    [root@linux tmp]# du -sb ; df -i . 
    26948 . 
    Filesystem Inodes IUsed IFree IUse% Mounted on 
    /dev/hda1 1537088 144016 1393072 10% / 
    # 仔细看,即使多了一个档案在 /tmp 底下,整个 inode 与 block 的容量并没有改变! 
    [root@linux tmp]# ls -il passwd* 
    1242760 -rw-r--r-- 2 root root 1746 Jun 29 01:03 passwd 
    1242760 -rw-r--r-- 2 root root 1746 Jun 29 01:03 passwd-hd 
    # 原来是指向同一个 inode 啊!这是个重点啊!另外,那个第二栏的连结数也会增加! 
    范例三:将 /tmp/passwd 建立一个符号连结 
    [root@linux tmp]# ln -s passwd passwd-so 
    [root@linux tmp]# ls -li passwd* 
    1242760 -rw-r--r-- 2 root root 1746 Jun 29 01:03 passwd 
    1242760 -rw-r--r-- 2 root root 1746 Jun 29 01:03 passwd-hd 
    1242806 lrwxrwxrwx 1 root root 6 Jul 23 20:02 passwd-so -> passwd 
    # 仔细看喔,这个 passwd-so 指向的 inode number 不同了!这是一个新的档案~ 
    # 这个档案的内容是指向 passwd 的,你可以看到这个档案的大小,是 6bytes , 
    # 怎么来的?因为 passwd 共有六个字符啊!哈哈!没错~这个连结档的内容只是填写 
    # 连结的目标档案文件名而已!所以,你的连结档档名 (有时候含路径) 有多长,档案就多大! 
    [root@linux tmp]# du -sb ; df -i . 
    26954 . 
    Filesystem Inodes IUsed IFree IUse% Mounted on 
    /dev/hda1 1537088 144017 1393071 10% / 
    # 呼呼!整个容量与 inode 使用数都改变啰~确实如此啊! 
    范例四:删除源文件 passwd ,其它两个档案是否能够开启? 
    [root@linux tmp]# rm passwd 
    [root@linux tmp]# cat passwd-hd 
    ......正常显示完毕! 
    [root@linux tmp]# cat passwd-so 
    cat: passwd-so: No such file or directory 
    # 怕了吧?!竟然无法正常的开启这个档案呢~ 

            使用 ln 如果不加任何参数的话,那么就是 Hard Link

            如果 ln 使用 -s 的参数时,就做成差不多是 Windows 底下的『快捷方式』的意思( Symbolic Link,较常用! )。当你修改 Linux 下的 link 档案时,则更动的其实是『原始档』, 所以不论你的这
    个原始档被连结到哪里去,只要你修改了连结档,原始档就跟着变啰!

     root@ubuntu:/usr/local# ln -s /usr/local/mysql-5.6.11-linux-glibc2.5-i686/ mysql

  • 相关阅读:
    破解版sublimeText3重新安装Package Control方法
    javascript中对象的属性的特性
    正则表达式元字符详解
    正则表达式学习笔记
    ExtJs布局大全
    js如何获取select下拉框的value以及文本内容
    ExtJS4之Ext.MessageBox的各种用法
    CODING 代码多仓库实践
    2019 DevOps 必备面试题——容器化和虚拟化
    拥抱微服务,CODING 即将上线单项目多仓库功能
  • 原文地址:https://www.cnblogs.com/zhuiluoyu/p/4503631.html
Copyright © 2011-2022 走看看