zoukankan      html  css  js  c++  java
  • Linux命令--链接文件的那些事

    linux 链接ln的使用


    linux操作系统下ln的使用方式:

    ln [option] source_file dest_file	
    #source_file是待建立链接文件的文件,dest_file是新创建的链接文件
    

    其中有一个参数差别比较大,那就是[-s]。

    ln -s source.txt dest.txt	#建立source.txt的软链接
    ln source.txt dest.txt 		#建立source.txt的硬链接
    

    软链接、硬链接的区别:

    在linux系统中,对于一个文件来说,有唯一的一个索引节点(i-node)与之对应,而对于一个索引节点可以有多个文件目录(其中包括文件名这个item)与之对应。

    因此,在磁盘上的同一个文件,对于同一个索引节点 ,但是可以通过不同的文件目录访问。同时还得注意Linux下一切皆文件。

    1.软链接

    软链接又叫符号链接,相当于windows下的快捷方式,软链接实际上只是一段文字,里面包含着它所指向的文件的名字,系统看到软链接后自动跳到对应的文件位置处进行处理。

    2.硬链接

    硬联接为文件开设一个文件新的目录,硬链接与文件原有的名字是平权的,在Linux看来它们是等价的。由于这个原因,硬链接不能连接两个不同文件系统上的文件。

    3.区别

    (1) 软连接可以跨文件系统 ,硬连接不可以 。

    实践的方法就是用共享文件把windows下的aa.txt文本文档连接到linux下/root目录下bb.txt。

    ln -s aa.txt /root/bb.txt链接成功,但是ln aa.txt /root/bb.txt会失败。

    (2) 关于i-node索引节点的问题。

    硬连接不管有多少个,都指向的是同一个i节点,会把结点连接数增加,只要结点的连接数不是0,文件就一直存在,不管你删除的是源文件还是连接的文件。只要有一个存在,文件就 存在 (其实也不分什么源文件连接文件的 ,因为他们指向都是同一个I节点)。当你修改源文件或者连接文件任何一个的时候 ,其他的文件都会做同步的修改。

    软链接不直接使用i节点号作为文件指针,而是使用文件路径名作为指针。所以删除连接文件对源文件无影响,但是删除源文件,连接文件就会找不到要指向的文件。软链接有自己的i-node,并在磁盘上有一小片空间存放路径名。

    (3) 软连接可以对一个不存在的文件名进行连接。

    (4) 软连接可以对目录进行连接,硬链接不可以。

    最后,删除符号链接,有创建就有删除。

    rm -rf   symbolic_name   注意不是rm -rf   symbolic_name/


    怎么创建一个应用程序的快捷图标

    该部分没有具体测试,只说明有这么一种方法

    1. 进入/usr/share/applications目录编辑一desktop文档

    sudo vim /usr/share/applications/QtCreator.desktop 
    

    文档的内容为:

    [Desktop Entry]
    Encoding=UTF-8
    Type=Application
    Version=0.9.4
    Name=QtCreator 	#图标下面的文字说明
    Comment=Run Qt Creator #鼠标放上去时的文字提示
    Icon=/home/yan/qtsdk-2009.03/share/pixmaps/qtcreator_logo_48.png #要显示的图标绝对路径
    Exec=/home/yan/qtsdk-2009.03/bin/qtcreator #启动程序
    Terminal=false
    StartupNotify=true
    Categories=Application;Development; #应用程序在菜单项中的分类
    

    可将菜单中的图标托到桌面上,若将QtCreator.desktop直接创建在桌面上(/usr/share/applications无QtCreator.desktop文件)也可启动程序,但图标不可显示。

  • 相关阅读:
    Java第七次作业
    JAVA第六次作业
    JAVA第五次作业
    JAVA第四次作业
    JAVA第三次作业
    JAVA第二次作业
    Java第一次作业
    2017《Java》预备作业02 计科1501刘喆
    2017《JAVA》预备作业 计科1501刘喆
    Java第十次作业--多线程
  • 原文地址:https://www.cnblogs.com/stemon/p/5041127.html
Copyright © 2011-2022 走看看