Linux学习之ln创建软链接和硬链接

Linux学习之ln创建软链接和硬链接

  • 前言
  • 软链接
  • 硬链接
  • 其他
  • 参考链接

前言

  • 场景介绍

    当我们需要在不同的目录,用到相同的文件时,不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下,用ln(link)命令链接它就可以,不必重复的占用磁盘空间

软链接

  • 内容介绍

    软链接仅仅包含所链接文件的路径名,因此能链接目录文件,也可以跨越文件系统进行链接。但是,当原始文件被删除后,链接文件也将失效。

    1. 软链接,以路径的形式存在(类似于Windows操作系统中的快捷方式);

    2. 软链接可以跨文件系统 ,硬链接不可以;

    3. 软链接可以对一个不存在的文件名进行链接

    4. 软链接可以对目录进行链接

  • 使用详解

    建立软链接

    ln -s 源文件或目录 目标文件或目录

    -s 是 symbolic的意思

    
      ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
    
    

    删除软链接

    rm –rf 软链接名称

    
      rm -rf /usr/bin/ngnix
    
    
    

    注意事项:不要在后面加软链接后面加“/”,rm -rf 后面加“/”的话,会进行递归删除

    修改软链接

    ln –snf 新的源文件或目录 目标文件或目录

    
      # 创建一个软链接
      ln –s  /var/www/test   /var/test
    
      # 修改指向的新路径
      ln –snf  /var/www/test1   /var/test
    
    
    

    查询软链接

    
    
      ls -alR | grep ^l
    
    
    
    

硬链接

  • 内容介绍

    可以将硬链接理解为一个“指向原始文件inode的指针”,系统不为它分配独立的inode和文件。所以,硬链接文件与原始文件其实是同一个文件,只不过是不同的名字而已。我们每添加一个硬链接,该文件的inode链接数就会增加1;而且只有当该文件的inode连接数为0时,才算彻底将它删除。换言之,由于硬链接实际上是指向原文件的inode的指针,因此即便原始文件被删除,依然可以通过硬链接文件来访问。

    1. 硬链接,以文件副本的形式存在,但不占用实际空间;

    2. 不允许给目录创建硬链接

    3. 硬链接只有在同一个文件系统中才能创建

  • 使用详解

    命令演示

    
      [root@CentOS6 project]# echo "Hello world" > readme.txt
      [root@CentOS6 project]# ln readme.txt readit.txt	#创建一个硬链接
      [root@CentOS6 project]# cat readme.txt
      Hello world
    
      [root@CentOS6 project]# cat readit.txt
      Hello world
    
      [root@CentOS6 project]# ls -l readme.txt
      -rw-r--r--. 2 root root 12 Mar 16 23:41 readme.txt  # -rw-r--r--. 2,这里的2指有两个节点
    
      [root@CentOS6 project]# rm -rf readme.txt	#删除原文件
      [root@CentOS6 project]# cat readit.txt	#删除原文件之后readit.txt依旧可以访问
      Hello world
    
      [root@CentOS6 project]# ls -l readit.txt
      -rw-r--r--. 1 root root 12 Mar 16 23:41 readit.txt
    
    
    
    
    

其他

  • ln命令参数介绍

    
        ln --help
    
    

    -b 删除,覆盖以前建立的链接
    -d 允许超级用户制作目录的硬链接
    -f 强制执行
    -i 交互模式,文件存在则提示用户是否覆盖
    -n 把符号链接视为一般目录
    -s 软链接(符号链接)
    -v 显示详细的处理过程

  • Linux创建以.开头的文件夹

    内容介绍

    带一个点的文件夹,一般都是由系统和程序自动创建的,加点的目的是为了隐藏文件夹。主要是为了防止用户误删除,从而导致手机系统或者是某个软件出现问题。只要没有装恶意软件,这些带点的文件夹保留即可,不要去删除或者修改。

    查询命令

    
        # 列出文件下所有的文件,包括以“.”开头的隐藏文件(linux下文件隐藏文件是以.开头的,如果存在..代表存在着父目录)
        ls -a
    
    
    

参考链接

  • Linux建立软链接、硬链接

    https://blog.csdn.net/menghefang/article/details/88624161

你可能感兴趣的:(Linux,Shell,linux,运维)