精华内容
下载资源
问答
  • linux硬链接和链接的区别简而言之,链接相当于windows中的快捷方式,硬链接相当于一个灾备系统,数据存放在两处,与复制不同的是两处之间存在同步机制,一处数据的改变会实时同步到另一处,另外,一处数据如果被删除了,...

    linux硬链接和软链接的区别

    简而言之,软链接相当于windows中的快捷方式,硬链接相当于一个灾备系统,数据存放在两处,与复制不同

    的是两处之间存在同步机制,一处数据的改变会实时同步到另一处,另外,一处数据如果被删除了,不会影响

    到另一处的数据.下面是详细的介绍:

    硬连接指向的是节点(inode),是已存在文件的另一个名字,修改其中一个,与其连接的文件同时被修

    改;对硬链接文件进行读写和删除操作时候,效果和软链接相同。但如果我们删除硬链接文件的源文件,

    硬链接文件仍然存在,而且保留了原有的内容。这时,系统就“忘记”了它曾经是硬链接文件,而把他当

    成一个普通文件。

    硬链接文件有两个限制:

    1、不允许给目录创建硬链接;

    2、只有在同一文件系统中的文件之间才能创建链接。

    软连接指向的是路径(path),软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是

    任意文件或目录,还可以链接不同文件系统的文件,和win下的快捷方式差不多。 软链接文件甚至可以链

    接不存在的文件,这就产生一般称之为"断链"的问题(或曰“现象"),链接文件甚至可以循环链接自己,类

    似于编程语言中的递归。

    命令格式:

    ln -s source_path target_path //软链接文件

    ln -d existfile newfile //硬链接文件,如果不加任何参数,默认情况下就是硬链接.

    示例:

    $ ln httpd.conf httpd1.conf

    $ ln -s httpd.conf httpd2.conf

    第一条为硬链接,第二条为软链接

    $ ls -li //查看一个文件或目录的inode,要通过ls 命令的的 -i参数,inode值相同的文件,他们的关

    系是互为硬链接的关系

    总用量 80

    1077669 -rw-r--r-- 2

    sam adm 34890 10月 31 00:57 httpd1.conf

    1077668 lrwxrwxrwx 1

    sam adm 10 10月 31 00:58 httpd2.conf ->;

    httpd.conf

    1077669 -rw-r--r-- 2

    sam adm 34890 10月 31 00:57 httpd.conf

    可以看到,使用ls -li,软连接只产生了10字节的快捷而已,硬连接却实实在在的的拷贝。最前面的

    inode硬链接和源文件是一样的,而软链接不一样.对http1.conf进行编辑,可以发现httpd.conf也发生了

    一样的变化.

    现在使用命令:

    $ rm httpd.conf

    现在删除链接的源文件,来比较不同之处

    代码:

    $ ls -l

    总用量 44

    -rw-r--r-- 1

    sam adm 34890 10月 31 00:57 httpd1.conf

    lrwxrwxrwx 1

    sam adm 10 10月 31 00:58 httpd2.conf ->; httpd.conf

    发现,httpd2.conf实际已经不存在了,是断链,而httpd1.conf变也了普通文件.

    一、硬链接

    硬链接说白了是一个指针,指向文件索引节点,系统并不为它重新分配inode。可以用:ln命令来建立硬链

    接。语法:

    ln [options] existingfile newfile

    ln[options] existingfile-list directory

    用法:

    第一种:为”existingfile”创建硬链接,文件名为”newfile”。第二种:在”directory”目录中,

    为 ”existingfile-list”中包含的所有文件创建一个同名的硬链接。常用可选[options] –f 无论”

    newfile”存在与否,都创建链接。-n 如果”newfile”已存在,就不创建链接。

    下面举一些例子:

    $ ls –il

    13058 -rwx - - - - - - 1 longcheng longcheng 48 8月 5 16:38

    file1

    13059 -rwx - - - - - - 1 longcheng longcheng 57 8月 5 16:40

    file2

    $ ln file2 file2hard

    $ ls –il

    13058 -rwx - - - - - - 1 longcheng longcheng 48 8月 5 16:38

    file1

    13059 -rwx - - - - - - 2 longcheng longcheng 57 8月 5 16:40

    file2

    13059 -rwx - - - - - - 2 longcheng longcheng 57 8月 5 16:40

    file2hard

    注意在创建链接前,file1

    显示的链接数目为1,创建链接后(1)file1和file1hard的链接数目都变为2;(2)

    file1和file1hard在inode号是一样的(3)

    file1和file1hard显示的文件大小也是一样。可见进行了ln命

    令的操作结果:file1和file1hard是同一个文件的两个名字,它们具有同样的索引节点号和文件属性,建

    立文件file1的硬链接,就是为file1的文件索引节点在当前目录上建立一个新指针。如下图,你可以删除

    其中任何一个,如rm file2 ,每次只会删除一个指针,

    链接数同时减一,只有将所有指向文件内容的指针,也即链接数减为0时,内核才会把文件内容从磁盘上删

    除。

    还可以在不同目录,但同一文件系统中建立文件的硬链接。设file1、file2在目录/home/longcheng/dir1

    中,下面的命令,在/home/longcheng中建立file2的硬链接。

    ln file2 /home/longcheng/file2hard

    下面的程序,是将dir1目录中所有文件,在目录dir2中建立硬链接

    $mkdir dir2

    $ln /home/longcheng/dir1/* /home/longcheng/dir2

    如果使用了 ln –f existingfile

    newfile,如果newfile已经存在,则无论原来newfile是什么文件,只

    用当前用户对它有写权限,newfile就成为exisitngfile的硬链接文件。

    尽管硬链接节省空间,也是Linux系统整合文件系统的传统方式,但是存在一下不足之处:(1)不可以在

    不同文件系统的文件间建立链接(2)只有超级用户才可以为目录创建硬链接。虽然很多树上说root用户

    可以创建,但是笔者在学习过程中发现即使是root用户也不能创建,我的系统是Redhat,内核 2.4、2.6

    都试过,在其他系统中不知道是不是可以。

    二、软链接(符号链接)

    软链接克服了硬链接的不足,没有任何文件系统的限制,任何用户可以创建指向目录的符号链接。因而现

    在更为广泛使用,它具有更大的灵活性,甚至可以跨越不同机器、不同网络对文件进行链接。

    建立软链接,只要在ln后面加上选项 –s,下面举个例子

    $ ls -il

    13058 -rwx - - - - - - 1 longcheng longcheng 48 8月 5 16:38

    file1

    13059 -rwx - - - - - - 2 longcheng longcheng 57 8月 5 16:40

    file2

    13059 -rwx - - - - - - 2 longcheng longcheng 57 8月 5 16:40

    file2hard

    $ln –s file1 file1soft

    $ls -il

    13058 -rwx - - - - - - 1 longcheng longcheng 48 8月 5 16:38

    file1

    13059 -rwx - - - - - - 2 longcheng longcheng 57 8月 5 16:40

    file2

    13059 -rwx - - - - - - 2 longcheng longcheng 57 8月 5 16:40

    file2hard

    13061 lrwxrwxrwx 1 longcheng longcheng 5 8月 5 16:58

    file1soft->file1

    从上面链接后的结果可以看出来软链接与硬链接,区别不仅仅是在概念上,在实现上也是不同的。

    区别:硬链接原文件&链接文件公用一个inode号,说明他们是同一个文件,而软链接原文件&链接文件

    拥有不同的inode号,表明他们是两个不同的文件;在文件属性上软链接明确写出了是链接文件,而硬链

    接没有写出来,因为在本质上硬链接文件和原文件是完全平等关系;链接数目是不一样的,软链接的链接

    数目不会增加;文件大小是不一样的,硬链接文件显示的大小是跟原文件是一样的,这用强调,因为是等

    同的嘛,而这里软链接显示的大小与原文件就不同了,file1大小是48B,而file1soft是5B,这里面的5实

    际上就是“file1”的大小。

    总之,建立软链接就是建立了一个新文件。当访问链接文件时,系统就会发现他是个链接文件,它读取链

    接文件找到真正要访问的文件。

    在不同系统之间建立软链接、对目录建立链接,这里就不举例了,读者可以自己去尝试,我也是在不断实

    践中学习的。

    当然软链接也有硬链接没有的缺点,因为链接文件包含有原文件的路径信息,所以当原文件从一个目录下

    移到其他目录中,再访问链接文件,系统就找不到了,而硬链接就没有这个缺陷,你想怎么移就怎么移;

    还有它要系统分配额外的空间用于建立新的索引节点和保存原文件的路径。

    展开全文
  • linux建立文件夹软连接,并强制覆盖 ...这将在当前目录下建立logs软连接,指向/home/var/log/httpd/logs,如果存在logs软连接,将强制覆盖 转载于:https://www.cnblogs.com/itfenqing/p/5756834.html...

    linux建立文件夹软连接,并强制覆盖

     

    ln -sfn /home/var/log/httpd/logs logs

     

    这将在当前目录下建立logs软连接,指向/home/var/log/httpd/logs,如果存在logs软连接,将强制覆盖

    转载于:https://www.cnblogs.com/itfenqing/p/5756834.html

    展开全文
  • 最近在写一个关于android的文件浏览的软件,碰到软连接的问题,因此记录下软连接和硬连接的区别:   1.软连接可以连接一个不存在的文件,硬连接不可以。...3.软连接如果把原文件删除,连接文件会找不...

    最近在写一个关于android的文件浏览的软件,碰到软连接的问题,因此记录下软连接和硬连接的区别:

     

    1.软连接可以连接一个不存在的文件,硬连接不可以。比如ln -s source symbolic可以,ln -s source hardlink会失败(实际并没有source这个文件时);

     

    2.软连接可以连接一个目录,硬连接不可以;

     

    3.软连接如果把原文件删除,连接文件会找不到指向的文件,而硬连接把原文件删除,还是可以找到文件内容

     

    4.软连接可以跨文件系统,硬连接不可以

    展开全文
  • 如果删除硬链接对应的源文件,则硬链接文件任然存在,而且保存了原有的内容,这样可以起到防止因为误操作而错误删除文件的作用。由于硬链接是有着相同inode号仅文件名不同的文件,因此删除一个硬链接文件并不影响...

    硬链接

    硬链接是通过索引节点进行的链接。在Linux中,多个文件指向同一个索引节点是允许的,像这样的链接就是硬链接。硬链接只能在同一文件系统中的文件之间进行链接,不能对目录进行创建。如果删除硬链接对应的源文件,则硬链接文件任然存在,而且保存了原有的内容,这样可以起到防止因为误操作而错误删除文件的作用。由于硬链接是有着相同inode号仅文件名不同的文件,因此删除一个硬链接文件并不影响其他有相同inode号的文件。
    硬链接可用命令link 或In创建,如下:

    link oldfile newfile
    ln oldfile newfile
    

    在这里插入图片描述
    在这里插入图片描述

    符号链接 (软链接)

    软连接(也叫符号链接)与硬链接不同,文件用户数据块中存放的内容是另一文件的路径名的指向。软连接就是一个普通文件,只是数据块内容有点特殊。软连接可对文件或目录创建。
    软连接主要应用于一下俩个方面:
    1.一是方便管理,例如可以把一个复杂路径下的文件链接到一个简单路径下方便用户访问;
    2.另一方面就是解决文件系统磁盘不足得情况,例如某个文件文件系统已经用完了但是现在必须在文件系统下创建一个新的目录并存储大量的文件,那么可以把另一个剩余空间较多的文件系统中的目录链接到该文件系统中,这样就可以很好的解决空间不足问题。删除软连接并不影响被指向的文件,但若被指向的源文件被删除,则相关软件就变成了死链接。使用-s选项的ln命令即可创建符号链接,命令如下:

    ln -s old.file soft.link
    ln -s old.dir soft.linkdir
    
    [root@localhost ~]# mkdir 111
    [root@localhost ~]# ln -s 111 222
    [root@localhost ~]# cd 222
    

    在这里插入图片描述

    [root@localhost ~]# ll
    总用量 8
    drwxr-xr-x. 2 root root  6 11月  6 14:36 111
    lrwxrwxrwx. 1 root root  3 11月  6 14:37 222 -> 111
    -rwxrwxrwx. 2 root root 35 11月  6 10:42 aaa
    -rwxrwxrwx. 2 root root 35 11月  6 10:42 calculator.sh
    [root@localhost ~]# ln -s calculator.sh  bbb.sh
    [root@localhost ~]# cat bbb.sh
    #!/bin/bash
    echo "hello world !"
    [root@localhost ~]# ./bbb.sh
    hello world !
    [root@localhost ~]# 
    

    在这里插入图片描述

    展开全文
  • 建立/etc/passwd的软连接文件,放在/tmp目录下 使用文件名方式建立的软连接可以跨分区,删除目标文件后,软连接文件失效 建立/etc/passwd的硬链接文件,放在/boot下,如果不成功,思考是为什么 硬链接从本质...
  • 如果要创建软连接必须使用"-s"选项。 硬链接  建立硬链接时,在另外的目录或本目录中增加目标文件的一个目录项,这样,一个文件就登记在多个目录中。 创建硬链接后,己经存在的文件的1个I节点号(Inode)会被...
  • 链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。建立硬链接时,链接文件和...如果[链接名]是一个目录名,系统将在该目录之下建立一个或多个与“目标”同名的链接文件,链接文...
  • 链接文件是Linux系统中一个非常好的特性。如果我们需要在系统中... Linux系统中有两种不同的文件链接类,符号链接(又称软连接)和硬链接。  硬链接:新建的文件是已经存在的文件的一个别名,新建的文件含有与源文
  • ls -L 查看软连接 (link) 2. ls -t 按时间进行文件的排序(time) 3. ls -R (recursion循环)将目录下所有的子目录的文件都列出来,相当于我们编程中的“递归”实现 4. ls -a 列出文件下所有的文件(all)包括以.开头...
  • 文件属性连接: 链接有两种,一种为硬链接(Hard Link),另一种为链接或符号链接(Symbolic Link或Soft Link)。 建立硬链接时,链接文件和被链接文件必须位于同一个文件系统中,并且不能建立指向目录的硬...
  • 连接指向的是节点(inode),是已存在文件的另一个名字,修改其中一个,与其连接的文件同时被修改;对硬链接文件进行读写和删除操作时候,效果和链接相同。但如果我们删除硬链接文件的源文件, 硬链接文件仍然存在,...
  • 前提是在项目目录下,设置了软连接,命令:(在项目目录下运行) php artisan storage:link 1、先改权限 2、文件同步 两个文件夹的东西要同步存在,比如在storage/public/img是用户上传的图片,一般会...
  • Linux文件删除

    2018-09-22 19:10:41
    就需要了解软连接和硬链接。 Linux具有为一个文件起多个名字的功能,称为链接。被链接的文件可以存放在相同的目录下,但是必须有不同的文件名,而不用在硬盘上为同样的数据重复备份。被链接的文件如果拥有相同的...
  • Linux基本操作

    2015-09-11 08:07:02
    硬链接 软链接如何创建硬...如何创建软连接ln -s p1 p2 软连接可以指向任何一个目录或者文件,甚至可以指向一个不存在的文件。 软连接指向的是路径。/etc/init.d/rc.localLinux系统启动后,如果要定制一些东西,可...
  • 1、Linux软连接ssh后门需要ssh配置允许PAM认证才能使用 2、将sshd文件软连接名称设置为su,这样应用在启动过程中他会去PAM配置文件夹中寻找是否存在对应名称的配置信息(su) 3、如果被控主机不允许root登陆可用其他已...
  • linux常用命令

    2019-01-10 18:14:23
    创建软连接:ln -s b a //为b创建一个快捷方式a ln -sf b a //差不多 ,-f强制执行 svn co https:// /root //svn checkout ,下载到root目录 mv 参数 -b :若需覆盖文件,则覆盖前先行备份。  -f :force ...
  • Day 3 Linux常用命令 ls -l 查看所有的文件相关详情 ...ln 创建软连接 加-s是软连接 不加的话相当于是复制了一个文件到对应的目录下 cp 复制响应文本 -r 相当于递归 -f强制进行全部添加 rm 删除 -r 相当于
  • Linux Shell busybox 脚本安装工具

    千次阅读 2018-05-19 22:26:59
    构建linux系统,需要加入busybox工具,但又不想影响原有同名程序,为便于安装 BusyBox到指定系统目录,写了个bash shell脚本。...如果已经存在同名执行文件,就不再创建软连接,保留原有程序,例如,已经有util-...
  • Linux学习笔记(1)

    2015-10-01 21:42:10
    [-l –long] 列出目录中文件的详细内容,包括文件类型,文件的所有者,所属组和其他人的权限,文件大小,创建日期,是否存在软连接等 [-h –human]以更人性化的方式列出文件大小(xxx K) 更多目录处理命令m
  • 1. 判断/tmp/run目录是否存在如果存在就建立,如果存在就删除目录里所有文件 #!/bin/bash if[ -d /tmp/run ];then rm -rf /tmp/run/* else mkdir /tmp/run fi 2. 输入一个路径,判断路径是否存在,而且输出...
  • 要的是,Linux 上有公认的 C 语言世界最好的编译器 gcc,如果你想得到一个效率更高的开 发环境(并不一定是最友好的,但一定是最强大的),我建议你一定要好好的熟悉一下 Linux。 三.如何得到Linux? 据我所知...
  • 文件 创建文件 touch fileName 拷贝文件 基本形式: cp source destination tips: 1) 将文件拷贝纸当前目录 cp source . ...2)mv 可以移动文件,但是如果文件存在软连接,链接将失效 删除文件 rm [...
  • Linux常用的命令

    2014-09-21 19:43:32
    ln –s file1 file2 为file1创建file3的软连接 ln –s file1(绝对路径) file2(绝对路径) 可以为file1 跨目录连接到file2 ln file1 file2 为file1创建file3 的硬连接 同时删除file1 和file2 才能删除文件 分发系统...
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    Linux中,如果要使用硬盘、光驱等储存设备,就得先将它加载,当储存设备挂上了之后,就可以把它当成一个目录来访问。挂上一个设备使用mount命令。在使用mount这个指令时,至少要先知道下列三种信息:要加载对象的...
  • 1、touch touch [OPTION]... FILE... (1)如果文件存在将文件的访问及修改时间都更新为目前的时间。 ...(2)如果文件不存在,则创建一个字节数为0的文件。...(2)-s:建立软连接(符号链接) (3)-d:允许r...

空空如也

空空如也

1 2 3
收藏数 43
精华内容 17
关键字:

linux软连接如果目录存在

linux 订阅