linux创建链接文件

2023-10-27

链接文件的创建
            1、概念
                    链接文件就类似我们windows的快捷方式,只保留目标文件的地址,不占用存储空间,
                    使用链接文件与使用目标文件的效果是一样的。
                    
            2、为什么要使用链接文件?
                    在windows都会把文件放在一个比较大的磁盘中,我们每次需要使用的时候,就需要去磁盘找,这样的操作相对来说比较麻烦
                    linux的字符界面更加麻烦
                    如果拥有和windows一样的快捷方式,就会方便很多
                    方便
                    
                    在日后开发时,链接文件可以用于保护目标文件的代码:
                            当我们创建链接文件时,可以给链接文件指定不同的权限,就可以达到控制文件的共享以及安全性问题
                            
                            
                在linux当中,有两种类型的链接:
                                硬链接:是利用linux为每个文件分配的inode码建立链接
                                                                    什么是inode码?
                                                                            inode码就相当于文件的真实名字
                                                                            文件系统会给每一个文件创建一个inode码记录每个文件的详细信息
                                
                                                                
                                软链接(符号链接):利用文件的路径建立链接。
                                                    通常建立软连接使用绝对路径,以最大限度增加可移植性
                                
                                
                                路径:相对路径和绝对路径
                                    绝对路径:以/根目录为开头的详细地址
                                    相对路径:不以/根目录为开头的详细地址
                                    
                                两者之间的关系是相对的。
                                
                                
                    创建硬链接操作:
                                创建链接文件的命令:ln
                                查看inode码:ls -i
                                查看详细链接过程:ln -v
                    
                            farsight@ubuntu:~/test$ ln -v 1.c 1lin.c
                            '1lin.c' => '1.c'
                            
                            farsight@ubuntu:~/test$ gcc 1.c
                            farsight@ubuntu:~/test$ ./a.out
                            2206

                                        

                                                
                    软链接:
                            ln -s ----soft(软)
                            ln -sv
                            farsight@ubuntu:~/test$ ln -sv 1.c 1lin.c
                            '1lin.c' -> '1.c'
                            
                            
                            
                            
                    总结:
                            硬链接:如果修改链接文件,目标文件也会被修改。
                                    如果删除目标文件,链接文件依旧有效,且顶替目标文件
                                    如果删除目标文件,链接文件依旧有效,而后重新创建同名目标文件,链接文件可用,但链接失效
                                    
                                    
                            软链接:如果修改链接文件,目标文件也会被修改。
                                    如果删除目标文件,链接文件失效,而后重新创建同名目标文件,链接文件可用,链接也会重新建立
                                    如果移动目标文件,链接文件失效。(相对路径)
                                    如果使用绝对路径进行软链接,移动链接文件,链接文件依旧有效

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux创建链接文件 的相关文章

  • 尽管 if 语句,Visual Studio 仍尝试包含 Linux 标头

    我正在尝试创建一个强大的头文件 无需更改即可在 Windows 和 Linux 上进行编译 为此 我的包含内容中有一个 if 语句 如下所示 if defined WINDOWS include
  • 用于创建计划任务的 VBScript

    我正在尝试创建一个 VBScript 它创建一个批处理文件 然后创建一个计划任务来运行该批处理文件 到目前为止 我尝试过的所有操作都创建了批处理文件 但没有创建计划任务 并且我没有收到任何错误 这是我到目前为止所拥有的 Option Exp
  • 添加文件时运行 shell 命令

    我的 Linux 机器上有一个名为 images 的文件夹 该文件夹连接到一个网站 该网站的管理员可以向该网站添加图片 但是 当添加图片时 我想要一个命令来运行调整目录中所有图片的大小 简而言之 我想知道当新文件添加到特定位置时如何使服务器
  • 在 Mono 上运行 .Net MVC5 应用程序

    我正在 Windows 上的 Visual Studio 2013 中开发 Net 4 5 1 MVC5 应用程序 现在我想知道 是否可以在Linux Ubuntu 12 04 上运行这个应用程序 可以使用OWIN吗 Owin 可以自托管运
  • 在有或没有 UNICODE 支持的情况下,如何在我的程序中使用 _stprintf?

    微软的 定义 stprintf as swprintf if UNICODE被定义 并且sprintf如果不 但这些函数采用不同的参数 在swprintf 第二个参数是缓冲区大小 但是sprintf没有这个 有人偷懒了吗 如果是这样 这就是
  • 使用包管理器时如何管理 Perl 模块?

    A 最近的问题 https stackoverflow com questions 397817 unable to find perl modules in intrepid ibex ubuntu这让我开始思考 在我尝试过的大多数 Li
  • 从 Xlib 转换为 xcb

    我目前正在将我的一个应用程序从 Xlib 移植到 libxcb 但在查找有关我有时使用的 XInput2 扩展的信息时遇到了一些麻烦 libxcb 中有 XInput2 实现吗 如果是的话 在哪里可以找到文档 目前我在使用此功能时遇到问题
  • 内核的panic()函数是否完全冻结所有其他进程?

    我想确认内核的panic 功能和其他类似kernel halt and machine halt 一旦触发 保证机器完全冻结 那么 所有的内核和用户进程都被冻结了吗 是panic 可以被调度程序中断吗 中断处理程序仍然可以执行吗 用例 如果
  • Intel 上的 gcc 中的 _mm_pause 用法

    我参考过这个网页 https software intel com en us articles benefitting power and performance sleep loops https software intel com
  • TRACKER:错误TRK0005:无法找到:“CL.exe”。该系统找不到指定的文件

    我尝试在 Windows 8 上的 Node js 项目中执行以下命令 npm 安装 电子邮件受保护 cdn cgi l email protection 但我收到一个错误 我不知道如何处理 TRACKER 错误TRK0005 无法找到 C
  • 错误:“rjags”的包或命名空间加载失败

    在终端的 conda 环境之一中 我能够成功安装包 rjags 但是 当我在该环境中运行 R 并运行库 rjags 时 出现以下错误 加载所需的包 coda 错误 rjags 的包或命名空间加载失败 rjags 的 loadNamespac
  • 为什么 Windows 命令 DIR 在搜索 *.tif 文件时也会输出 *.tiff 文件?

    我想使用 Windows 命令DIR为了找到唯一TIF文件 即具有扩展名的文件 tif 因此我使用以下小批处理文件 for f delims a IN dir b a d s C wolter testversion input tif d
  • linux下如何从文本文件中获取值

    我有一些文本格式的文件 xxx conf 我在这个文件中有一些文本 disablelog 1 当我使用 grep r disablelog oscam conf 输出是 disablelog 1 但我只需要值1 请问你有什么想法吗 一种方法
  • 如何处理来自单独线程的窗口消息?

    我希望启动一个单独的线程来处理窗口消息 通过阻塞 GetMessage 循环 但之后仍然在初始线程中创建窗口 在单独的线程中 一旦启动 我就会调用PeekMessage使用 PM NOREMOVE 确保消息队列存在 有必要吗 然后 Atta
  • 在 Vista 上调用 RPC 时出现“不支持操作”

    我的应用程序使用 Microsoft RPC 进行进程间通信 当两个进程在同一台机器上运行并且一个进程尝试调用声明为 IDL 表示法 的方法时 error status t rpcMethod in pipe byte parameter
  • C# 获取子窗口句柄

    我正在用 C 启动一个进程 然后使用 SendMessage 将 Windows 消息发送到该进程 通常我将消息发送到 Process MainWindowHandle 但在某些情况下 我可能需要找到子窗口句柄并向那里发送消息 我将如何在
  • 我什么时候应该编写 Linux 内核模块?

    有些人出于某种原因想要将 Linux 中的代码从用户空间移动到内核空间 很多时候 原因似乎是代码应该具有特别高的优先级 或者只是 内核空间更快 这对我来说似乎很奇怪 我什么时候应该考虑编写内核模块 有一套标准吗 我怎样才能激励将代码保存在
  • 如何在 Mac OSX Mavericks 中正确运行字符串工具?

    如何在 Mac OSX Mavericks 中正确运行字符串工具 我尝试按照我在网上找到的示例来运行它 strings a UserParser class 但我收到此错误 错误 Applications Xcode app Content
  • Windows 上最快的屏幕捕获方法

    我想为Windows平台编写一个截屏程序 但不确定如何捕获屏幕 我知道的唯一方法是使用 GDI 但我很好奇是否还有其他方法可以实现此目的 如果有的话 哪种方法产生的开销最小 速度是首要任务 截屏程序将用于录制游戏镜头 不过 如果这确实缩小了
  • 尽管我已在 python ctypes 中设置了信号处理程序,但并未调用它

    我尝试过使用 sigaction 和 ctypes 设置信号处理程序 我知道它可以与python中的信号模块一起使用 但我想尝试学习 当我向该进程发送 SIGTERM 时 但它没有调用我设置的处理程序 只打印 终止 为什么它不调用处理程序

随机推荐

  • 【重复图识别】在茫茫图海中,怎么找到相同的它?

    转载请标名出处 背景 在一些图像相关的项目中 重复图识别是很重要的 就比如热图排行榜 需要识别出重复图 涉及图像深度学习的项目 训练数据需要剔除重复图 图片原创 视频原创 需要识别出重复图 等等 什么是相同图片 什么是相同图片 相信在不同场
  • typeAliases中package标签的用法

  • 基于视觉的机器人抓取-综述

    基于视觉的机器人抓取 综述 论文 总结 图例 论文 Vision based Robotic Grasping From Object Localization Object Pose Estimation to Grasp Estimat
  • 解决Uncaught (in promise) TypeError: Object(...) is not a function报错

    今天搬砖的时候遇到一个报错 问题 Uncaught in promise TypeError Object is not a function 如图所示 原因 经过排查 发现原因是导入的JS方法没有用大括号接收 然后又把它当做方法调用了 低
  • SimpleFOC之ESP32(九)—— WIFI、UDP和TCP

    目录 说明 一 网络通信 1 1 准备工作 1 2 UDP通信 1 3 TCP通信 二 硬件准备 三 代码参考 四 代码演示 4 1 WIFI AP模式UDP通信 4 2 WIFI STA模式TCP client通信 五 UDP通信控制电机
  • Leetcode日练4 #34 search for a range

    第三种二分法是要求当下算出中值的左右相邻的值 也就是说每一次都要判别至少3个值 最后是应该剩两个值 34 Search for a Range Given an array of integers nums sorted in non de
  • Rockchip Pinctrl 开发文档

    Rockchip Pinctrl 开发文档 前言 概述 本文介绍Rockchip PIN CTRL驱动及DTS使用方法 产品版本 芯片名称 内核版本 RK3568 RK3399 RK3368 RK3288 PX30 RK3128 RK312
  • 一篇文章教小白学会搭建 vite + ts + vue3 项目,手把手教程,不会算我输

    目录 一 基础环境和工具 1 使用 pnpm 代替 npm 2 使用 pinia 代替 vuex 3 使用 windicss 4 使用 vscode 5 使用 sourcetree 6 了解 vite ts vue 二 项目搭建 1 流程图
  • Java voliate关键字常见面试题

    1 什么是 volatile 关键字 它的作用是什么 volatile 是 Java 中的关键字 用于声明一个变量是 易变 的 即可能被多个线程同时修改 它的主要作用是保证对该变量的读写操作具有可见性 即一个线程对该变量的修改对其他线程是可
  • Lua : 循环就三种,谁用谁知道

    Lua中的循环 分为while 循环 for循环和 repeat until 循环 语法比较简单 看看例子就秒懂了 while循环 while 循环 while condition do statement end local a 0 wh
  • android 仿ios右滑退出当前activity

    1 概述 iPhone的用户在使用APP的时候 打开很多页面想关闭的时候只需要在屏幕的左侧向右滑动即可退出当前页面 这是iPhone没有返回键的原因 但是这个效果很炫酷呀 能应用在Android上不是更好吗 今天就来讲一个这个功能的实现 不
  • 【C++】string

    C 修炼秘籍 string 目录 C 修炼秘籍 string 文章目录 前言 一 标准库里的string 二 string常用接口功能简介 具体使用和底层转到模拟实现 1 string类的常见构造函数 2 string类对象的容量操作 3
  • 【华为OD统一考试B卷

    华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一修改为OD统一考试 A卷 和OD统一考试 B卷 你收到的链接上面会标注A卷还是B卷 请注意 根据反馈 目前大部分收到的都是
  • Vue中DOM的更新为什么是异步的?

    在 Vue 中 DOM 的更新是异步的机制是为了优化性能和提升用户体验 这个机制被称为 异步更新队列 Vue的异步更新队列机制是其实现高效渲染的关键 它通过将多次数据变化合并到一个批处理中 从而减少了不必要的DOM操作 提高了性能 下面是V
  • costmap 代价地图

    转自 https sychaichangkun gitbooks io ros tutorial icourse163 content chapter10 10 3 html 10 3 costmap costmap是Navigation
  • 嵩天老师的零基础Python笔记:https://www.bilibili.com/video/av13570243/?from=search&seid=15873837810484552531 中的...

    coding gbk 嵩天老师的零基础Python笔记 https www bilibili com video av13570243 from search seid 15873837810484552531 中的15 22讲 数字类型的
  • python批量发送带附件的邮件时,收到的附件名异常且后缀为bin,解决办法

    1 问题描述 在使用 Python 内置的模块 smtplib 发送带中文名的附件邮件时 数据可以正常传输 但是但收件人收到的附件格式是bin 附件名也不是发送时的名称 附注 smtp Simple Mail Transfer Protoc
  • 进一步理解angular

    在上一篇文章中我介绍了安装和结构 以及运行过程 https blog csdn net weixin 42603009 article details 94382945 我们进一步理解其中的数据单向 双向 组建传值 Modules等的理解
  • C语言编译过程、VIM常用命令

    一 编译过程 1 预处理 gcc E 源文件 c o 源文件 i 预处理宏以及注释 2 编译 gcc S 源文件 i o 源文件 s 通过编译转换为汇编文件 3 汇编 gcc c 源文件 s o 源文件 o 经汇编转换为二进制文件 4 链接
  • linux创建链接文件

    链接文件的创建 1 概念 链接文件就类似我们windows的快捷方式 只保留目标文件的地址 不占用存储空间 使用链接文件与使用目标文件的效果是一样的 2 为什么要使用链接文件 在windows都会把文件放在一个比较大的磁盘中 我们每次需要使