精华内容
下载资源
问答
  • 符号链接文件和硬链接文件

    千次阅读 2017-07-04 15:45:53
    针对符号连接文件和硬连接文件。 测试以下函数,分析其执行过程并给出结论。 link(),unlink(),symlink(),readlink(),stat(),lstat() 1.Stat();lstat(); 分析:b文件为a文件的软连接文件,从...

    □□实验6-11.针对符号连接文件和硬连接文件。

    测试以下函数,分析其执行过程并给出结论。

    link(),unlink(),symlink(),readlink(),stat(),lstat()


    1.Stat();lstat();


    分析:b文件为a文件的软连接文件,从实验测试可以看出用stat();函数测试b文件显示的权限为文件a的权限,用lstat();函数测试b文件显示的权限为自身权限。

      结论:如果stat函数的第一个参数为符号连接文件,其读取的属性为源文件属性,如果要获取连接文件自身的属性,要调用lstat函数。

     

    2.link();


    分析:用link函数创建新文件a,删除abc文件后,a文件还能查看其内容。

    结论:用link函数创建的文件为硬链接文件,删除源文件也可以运行。


    3.unlink();



    分析:先确保没有a文件,创建abc文件的硬链接文件a,调用unlink函数删除源文件abc后查看结果,在创建a文件后文件属性硬链接数为2,删除源文件abc后文件属性硬链接数为1。

    结论:unlink函数是将该文件属性的硬链接数自动减1,但是绝大多数文件硬链接数为1,所以减1后即为删除。


    4.symlink(); 


    分析:用symlink函数创建的新文件sym_link_test,当删除源文件abc时,则不能查看文件sym_link_test的内容。

    总结:symlink函数的功能是创建符号连接文件。


    5.readlink();



    分析:用readlink函数,测试后显示符号连接文件sym_link_test的源文件名称。

    总结:readlink函数的功能是讲指定符号连接文件的源文件路径读入到buf中。






    展开全文
  • 我们在用tar命令打包备份数据的时候,某些情况下希望备份的是源文件,而不是符号链接文件,因为符号链接文件并不包含真实的文件内容。这时该如何操作?   解答: 使用“-h”的参数可以实现这个要求,它会把符号...

    原文链接:http://www.yuanzhichina.com/show.asp?id=3989

    使用tar命令打包文件时,如何将符号链接文件替换为源文件

     

    问题描述:

    我们在用tar命令打包备份数据的时候,某些情况下希望备份的是源文件,而不是符号链接文件,因为符号链接文件并不包含真实的文件内容。这时该如何操作?

     

    解答:

    使用“-h”的参数可以实现这个要求,它会把符号链接文件视作普通文件或目录,从而打包的是源文件。

     

    # man tar

    -h

    Forces the tar command to follow symbolic links as if they were

    normal files or directories. Normally, the tar command does not

    follow symbolic links.

     

    举例如下:

     

    myhost:/tmp/link#ls -l

    total 0

    lrwxrwxrwx 1 root system 9 Mar 31 22:34 testfile -> /smit.log

    myhost:/tmp/link#ls -l /smit.log

    -rw-r--r-- 1 root system 691 Mar 31 22:31 /smit.log

     

    myhost:/tmp/link#tar -cvf test.tar testfile

    a testfile symbolic link to /smit.log.

    myhost:/tmp/link#tar -tvf test.tar

    ?rwxrwxrwx 0 0 0 Mar 31 22:43:14 2009 testfile symbolic link to /smit.log

    .

     

    myhost:/tmp/link#tar -h -cvf test1.tar testfile

    a testfile 2 blocks.

    myhost:/tmp/link#tar -tvf test1.tar

    -rw-r--r-- 0 0 691 Mar 31 22:31:16 2009 testfile

     

    另外请注意,“cp”命令也有“-h”的参数,但定义恰好相反,它会拷贝符号链接本身而不是源文件,不加“-h”参数的时候cp命令默认拷贝源文件。

    # man cp

    -h

    Forces the cp command to copy symbolic links. The default is to

    follow symbolic links, that is, to copy files to which symbolic

    links point.

     

    举例如下:

     

    myhost:/tmp/link#cp testfile newfile

    myhost:/tmp/link#ls -l

    total 8

    -rw-r--r-- 1 root system 691 Mar 31 22:59 newfile

    lrwxrwxrwx 1 root system 9 Mar 31 22:50 testfile -> /smit.log

     

    myhost:/tmp/link#cp -h testfile newfile1

    myhost:/tmp/link#ls -l

    total 8

    -rw-r--r-- 1 root system 691 Mar 31 22:59 newfile

    lrwxrwxrwx 1 root system 9 Mar 31 23:00 newfile1 -> /smit.log

    lrwxrwxrwx 1 root system 9 Mar 31 22:50 testfile -> /smit.log

    展开全文
  • linux下的符号链接文件

    千次阅读 2018-07-20 10:40:20
    链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link,也叫做软链接)。默认情况下,ln命令产生硬链接。  (一)硬链接  1.产生硬链接的语法 ln 源文件 目标文件 (注意:不能为...

    链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link,也叫做软链接)。默认情况下,ln命令产生硬链接。 
    (一)硬链接 
    1.产生硬链接的语法

    ln 源文件 目标文件 (注意:不能为目录创建硬链接)

    2.关于inode 
    inode 译成中文就是索引节点。每个存储设备或存储设备的分区(存储设备是硬盘、软盘、U盘 … … )被格式化为文件系统后,应该有两部份,一部份是inode,另一部份是Block,Block是用来存储数据用的。而inode呢,就是用来存储这些数据的信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。inode为每个文件进行信息索引,所以就有了inode的数值。操作系统根据指令,能通过inode值最快的找到相对应的文件。 
    硬连接指通过索引节点来进行的连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件才会被真正删除。 
    3.inode相同的文件是硬链接文件 
    在Linux 文件系统中,inode值相同的文件是硬链接文件,也就是说,不同的文件名,inode可能是相同的,一个inode值可以对应多个文件。 
    inode值相同的文件,他们的关系是互为硬链接的关系。当我们修改其中一个文件的内容时,互为硬链接的文件的内容也会跟着变化。如果我们删除互为硬链接关系的某个文件时,其它的文件并不受影响。 
    (二)软链接(符号链接) 
    与硬连接相对应,Lnux系统中还存在另一种连接,称为符号连接(Symbilc Link),也叫软连接。软链接文件有点类似于Windows的快捷方式。它实际上是特殊文件的一种。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。 
    1.产生软链接的语法 
    # ln -s 源文件或目录 目标文件或目录 
    2.关于软链接 
    软链接也叫符号链接,它和硬链接有所不同,软链接文件只是其源文件的一个标记。当我们删除了源文件后,链接文件不能独立存在,虽然仍保留文件名,但我们却不能查看软链接文件的内容了。 
    值得我们注意的是:当我们修改链接文件的内容时,就意味着我们在修改源文件的内容。当然源文件的属性也会发生改变,链接文件的属性并不会发生变化。当我们把源文件删除后,链接文件只存在一个文件名,因为失去了源文件,所以软链接文件也就不存在了。这一点和硬链接是不同的; 
    (三)示例 
    touch f1(创建一个f1的文件) 
    ln f1 f2 创佳一个f2的硬连接 
    ln -s f1 f3 创建一个f3的软连接 
    此时如果删除f3,对f1,f2无影响;如果删除f2,对f1,f3也无影响,如果删除f1,那么因为f2也应用f1,所以并不影响f2节点的,touch 创建的文件仍然存在;但是此时f3因为是软连接,导致f3失效。如果删除f1,f2 ,那么touch 创佳的文件会被删除

    展开全文
  • 什么是linux下的符号链接文件

    千次阅读 2015-06-17 10:32:17
    链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link,也叫做软链接)。默认情况下,ln命令产生硬链接。 (一)硬链接 1.产生硬链接的语法 # ln 源文件 目标文件 (注意:不能为...

    链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link,也叫做软链接)。默认情况下,ln命令产生硬链接。

    (一)硬链接

    1.产生硬链接的语法

    # ln 源文件 目标文件  (注意:不能为目录创建硬链接)

    2.关于inode

    inode 译成中文就是索引节点。每个存储设备或存储设备的分区(存储设备是硬盘、软盘、U盘 ... ... )被格式化为文件系统后,应该有两部份,一部份是inode,另一部份是Block,Block是用来存储数据用的。而inode呢,就是用来存储这些数据的信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。inode为每个文件进行信息索引,所以就有了inode的数值。操作系统根据指令,能通过inode值最快的找到相对应的文件。

    硬连接指通过索引节点来进行的连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件才会被真正删除。

    3.inode相同的文件是硬链接文件

     在Linux 文件系统中,inode值相同的文件是硬链接文件,也就是说,不同的文件名,inode可能是相同的,一个inode值可以对应多个文件。

     inode值相同的文件,他们的关系是互为硬链接的关系。当我们修改其中一个文件的内容时,互为硬链接的文件的内容也会跟着变化。如果我们删除互为硬链接关系的某个文件时,其它的文件并不受影响。

    (二)软链接(符号链接)

    与硬连接相对应,Lnux系统中还存在另一种连接,称为符号连接(Symbilc Link),也叫软连接。软链接文件有点类似于Windows的快捷方式。它实际上是特殊文件的一种。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

    1.产生软链接的语法

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

       2.关于软链接

        软链接也叫符号链接,它和硬链接有所不同,软链接文件只是其源文件的一个标记。当我们删除了源文件后,链接文件不能独立存在,虽然仍保留文件名,但我们却不能查看软链接文件的内容了。

        值得我们注意的是:当我们修改链接文件的内容时,就意味着我们在修改源文件的内容。当然源文件的属性也会发生改变,链接文件的属性并不会发生变化。当我们把源文件删除后,链接文件只存在一个文件名,因为失去了源文件,所以软链接文件也就不存在了。这一点和硬链接是不同的;

       (三)示例

    touch f1(创建一个f1的文件)

    ln f1 f2 创佳一个f2的硬连接

    ln -s f1 f3 创建一个f3的软连接

    此时如果删除f3,对f1,f2无影响;如果删除f2,对f1,f3也无影响,如果删除f1,那么因为f2也应用f1,所以并不影响f2节点的,touch 创建的文件仍然存在;但是此时f3因为是软连接,导致f3失效。如果删除f1,f2 ,那么touch 创佳的文件会被删除

    展开全文
  • int lstat(const char *file_name, struct stat *buf) //此函数返回的是符号链接文件本身的状态信息,而stat 返回的是符号链接指向的文件状态信息。 /home/lxd/gityun/my_chmod.c获取文件属性的程序 ...
  • 文章目录0....基于符号链的共享方式(软链接) 0.思维导图 1.基于索引结点的共享方式(硬链接) 2.基于符号链的共享方式(软链接) 例子 共享的文件不存在时 参考:《王道操作系统》 ...
  • 获取符号链接的绝对路径

    千次阅读 2013-12-24 11:29:18
    Bash中获取符号链接文件的绝对路径 readlink -f ~/project
  • 符号链接

    千次阅读 2013-08-29 15:15:15
    符号链接是指向一个文件的间接指针。他与上一节所诉的硬链接不同。硬链接直接指向文件的i节点。引入符号链接的原因是为了避开硬链接的一些限制。 硬链接通常要求链接和文件位于同一文件系统中。只有超级用户才能...
  • HDFS符号链接和硬链接

    千次阅读 2016-10-15 15:31:07
    前言初看这个标题,可能很多人会心生疑问:符号链接和硬链接是什么意思?这些概念不是在Linux操作系统下才有的嘛,HDFS目前也有?当然大家可能还会有其他疑问,没关系,在后面的内容讲述中答案会一一揭晓。归纳起来...
  • 拿到u-boot源码后放到虚拟机的共享share文件夹中,解压,然后配置。没注意我犯了一个很低端的错误... ... 所以以后凡是带链接文件的项目是不能放到虚拟机的共享文件夹中的! 例如,u-boot源码、Linux源码等等...
  • 特殊文件--符号链接操作

    千次阅读 2009-08-15 15:45:00
    1.创建符号链接 #include 定义函数 int symlink( const char * oldpath,const char * newpath); 函数说明 symlink()以参数...参数oldpath指定的文件不一定要存在(如果不存在,符号链接也可建立,只是利用该符号链接
  • 硬链接和符号链接详解

    千次阅读 多人点赞 2018-08-10 08:38:53
    建立硬链接时,链接文件和被链接文件必须位于同一个文件系统中,并且不能建立指向目录的硬链接。而对符号链接,则不存在这个问题。默认情况下,ln产生硬链接。 在硬链接的情况下,参数中的“目标”被链接至[链接名]...
  • 链接四大类型 There are three types of file links supported in the NTFS file system: hard links, junctions, and symbolic links...符号链接 快捷方式(Shortcut) A Shell link is a data object that contai...
  • 4.17 symlink和readlink函数-符号链接

    千次阅读 2013-11-05 16:09:43
    symlink函数用于创建一个符号链接文件。函数原型: #include int symlink(const char *actualpath, const char *sympath); 返回值:如果创建成功则返回0,否则返回-1 参数: actualpath 要指向的路径 sympath 被...
  • 硬链接和符号链接

    千次阅读 2018-04-13 09:41:15
    链接指通过索引节点来进行连接,在Linux为文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号; 硬链接指的就是在Linux中,多个文件名指向同一索引节点; 常见用途:通过建立...
  • Linux的文件链接方式分为硬链接与软链接(也叫符号链接)两种,在Linux中链接也被视为文件来看待,一样可以被执行、编辑和访问。对系统中的应用程序而言,对链接的操作就是对原始文件的操作,所以链接不是副本。如果...
  • 符号链接也是一种文件,只不过其内容是另一个文件的路径名。对于符号链接的处理,要注意避免死循环的产生,如一个符号链接指向其本身。符号链接可能包含了符号链接,因此内核采用递归的方式来处理这个问题,为了避免...
  • linux 硬链接和符号链接

    千次阅读 2018-07-25 15:44:42
     硬链接和符号链接比起来,硬链接是最初 Unix 创建链接的方式,而符号链接更加现代。在默认情况下,每个文件都有一个硬链接,这个硬链接给文件起名字。当我们创建一个硬链接以后,就为文件创建了一个额外的目录条目。硬...
  • linux 创建符号链接Linux allows you to create symbolic links, or symlinks, that point to another file or folder on your machine. The best way to do this is with the ln terminal command—though there ...
  • 在linux系统中,链接分两种 :一种被称为硬链接(Hard Link),另一种被称为符号链接或软链接(Symbolic Link)。 硬链接与软链接是 Linux 文件系统中的一个重要概念,其涉及文件系统中的索引节点 (index node 又称...
  • 硬链接与符号链接

    2013-05-03 15:21:03
    在Linux系统中存在两种链接:一种是硬链接,还有一种是符号链接。   硬链接: 一个inode节点可以存在任意数目的硬链接。在删除硬链接时,该inode节点上的数据上的数据将不会受到影响。在Linux系统中可以使用ln...
  • 文件类型为符号链接文件,其文件内容是该文件实际指向文件的文件名。那么如果修改符号链接所指文件的文件名,该符号链接是否会成为无效状态呢? 如上图,首先使用touch命令创建一个新文件file1,然后使用命令...
  • 符号链接symlinkA symlink (also called a symbolic link) is a type of file in Linux that points to another file or a folder on your computer. Symlinks are similar to shortcuts in Windows. 符号链接(也...
  • Linux的硬链接与符号链接(ln命令)

    千次阅读 2019-02-01 19:45:56
    如果不写任何选项,则建立的是硬链接文件 -s:建立符号链接 -f:如果新文件存在,则将新文件删除后重新建立 一、硬链接(Hard Link,硬式链接或实际链接) 1.概念 我们知道文件名是记录在目录中的,且每个文件...
  • 符号链接的查找

    千次阅读 2012-06-25 11:26:39
    符号链接是一个普通文件,其中存放的是另一个文件的路径名。路径名可以包含符号链接,且必须由内核来解析。 例如,如果/foo/bar是指向(包含路径名)../dir的一个符号链接,那么,/foo/bar/file路径名必须由内核...
  • linux中硬链接和符号链接的区别

    千次阅读 2012-07-31 15:22:52
    在实际应用中硬链接和符号链接(即软链接)很难区分,但它们的确是有区别的: 硬链接,只能应用于文件,而不能应用于目录,而且不能跨文件系统(即分区); 符号链接,可以应用于文件,而且可以应用于目录和可跨文件...
  • java File 判断文件是否为符号链接

    千次阅读 2013-07-05 21:20:54
    最简单的方式,直接使用: private static boolean isSymbolicLink(File f) throws IOException { return !f.getAbsolutePath().equals(f.getCanonicalPath...如果是普通文件,file.getAbsolutePath()和file.getCanon
  • 一、概念链接:一种对文件的引用,分为硬链接和软链接(符号链接)。索引节点(inode):在Linux系统中,内核为每一个新创建的文件分配一个inode(索引结点),每个文件都有一个惟一的inode号,我们可以将inode简单...
  • 最近因为这个目录中的目录项搞的很晕乎了,一直不清楚什么事目录项,而且符号链接也有点含糊,这里转载了一篇文章感觉写的比较好。 我们先来说说目录,目录项的问题: 在Linux操作系统中,目录就是目录文件。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 368,312
精华内容 147,324
关键字:

符号链接文件