Linux命令行中创建的软连接(ln -s)的无法移动问题,以及绝对路径和相对路径的概念

2023-11-01

最近刚开始学习鸟哥的Linux基础篇,昨天试验了其中的一些命令,发现在某一个目录下对某个目录创建的软连接在移动到另一个目录下之后就无法正常打开了,问了下同学,这个问题顺利的解决了。
首先,在目录dir1下创建一个目录dir2,用到的命令是:
jack@ubuntu:~/dir1$ mkdir dir2
然后在创建这个目录的软连接,命名为link:
jack@ubuntu:~/dir1$ ln -s dir2 link
接着把这个move到上一层目录,
jack@ubuntu:~/dir1$ mv link ..
然后回到上一层目录:
jack@ubuntu:~/dir1$ cd ..
然后试图进入链接link,发现报错:
jack@ubuntu:~$ cd link
bash: cd: link: No such file or directory
这就是我之前遇到的问题描述,没想到我刚描述完的问题,我同学思考过程都没有直接问我:“你的软连接是用的绝对路径,还是相对路径?”,于是我突然就知道自己错在哪里了。。。
于是上面的问题可以通过设置绝对路径来解决:
同样的,在dir1中创建目录dir2,但是这次创建软连接的时候,要用绝对路径:
jack@ubuntu:~/dir1$ ln -s /home/jack/dir1/dir2 link1
然后操作类似上面,这个就一起帖出来了:
jack@ubuntu:~/dir1$ mv link1 ..
jack@ubuntu:~/dir1$ cd ..
接着试着打开link1,就可以进入了:
jack@ubuntu:~$ cd link1
jack@ubuntu:~/link1$ 
红色的 link1就表示已经进入了。
下面是一些理论知识,原文 看这里。以下是部分内容:
绝对路径:路径的写法『一定由根目录 / 写起』,例如: /home/jack/dir1/dir2  这个目录。
相对路径:路径的写法『不是由 / 写起』,例如由  cd link1 相对路径意指『相对于目前工作目录的路径!』
相对路径的用途
那么相对路径与绝对路径有什么了不起呀?喝!那可真的是了不起了!假设你写了一个软件, 这个软件共需要三个目录,分别是 etc, bin, man 这三个目录,然而由於不同的人喜欢安装在不同的目录之下, 假设甲安装的目录是 /usr/local/packages/etc, /usr/local/packages/bin 及 /usr/local/packages/man ,不过乙却喜欢安装在 /home/packages/etc, /home/packages/bin, /home/packages/man 这三个目录中,请问如果需要用到绝对路径的话,那么是否很麻烦呢?是的! 如此一来每个目录下的东西就很难对应的起来!这个时候相对路径的写法就显的特别的重要了!
此外,如果你跟鸟哥一样,喜欢将路径的名字写的很长,好让自己知道那个目录是在干什么的,例如: /cluster/raid/output/taiwan2006/smoke 这个目录,而另一个目录在 /cluster/raid/output/taiwan2006/cctm ,那么我从第一个要到第二个目录去的话,怎么写比较方便? 当然是『 cd ../cctm 』比较方便罗!对吧!
绝对路径的用途
但是对於档名的正确性来说,『绝对路径的正确度要比较好~』。 一般来说,鸟哥会建议你,如果是在写程序 (shell scripts) 来管理系统的条件下,务必使用绝对路径的写法。 怎么说呢?因为绝对路径的写法虽然比较麻烦,但是可以肯定这个写法绝对不会有问题。 如果使用相对路径在程序当中,则可能由於你运行的工作环境不同,导致一些问题的发生。 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux命令行中创建的软连接(ln -s)的无法移动问题,以及绝对路径和相对路径的概念 的相关文章

随机推荐

  • 如何用echarts画一个好看的饼图

    前言 最近有个需求 需要绘制一个饼图 为此我根据这次需求来整理了一下关于 echarts 饼图绘制的一些知识点 在这次需求中我需要用到的属性我会详细讲解 其他的属性我会粗略地说一下 并加入其他博主的文章的跳转 综合案例在后续博客中更新 注意
  • android动画不占cpu如何实现,【实战总结】帧动画调优实践

    原标题 实战总结 帧动画调优实践 原文链接 https www zybuluo com avenwu note 876161 APP架构师整理发布 转载请联系作者获得授权 1 背景 在做动画的时候我们有很多选择方案 最常见的是Android
  • JBPM4—请假流程

    1 流程图 2 流程配置文件
  • 数据分析之——Adventure项目分析

    文章目录 数据分析 Adventure项目分析 内容摘要 一 项目简介 二 分析思路 三 分析过程 0 数据准备及清洗 1 导入模块 2 简单了解数据 3 数据处理 1 整体销售表现 1 自行车整体销售量表现 2 自行车整体销售金额表现 3
  • 直流电源线缆 高速电缆 分类

    线缆分类 直流电源线缆采用整长发货 现场需要根据实际使用长度进行截取并现场制作电源线 直流电源线缆包括 48V电源线和电源地线RTN 连接配电盒与配电屏的直流电源线缆的长度和接线端子需要根据工勘确定 直接与电源模块连接的直流电源线缆为OT端
  • VUE常用的自定义指令

    v directives 基于 vue 的自定义指令集合 包含 复制粘贴指令 v copy 长按指令 v longpress 输入框防抖指令 v debounce 禁止表情及特殊字符 v emoji 图片懒加载 v LazyLoad 权限校
  • mysql的分组group by

    文章目录 一 介绍 1 分组查询的内容 2 多字段分组 3 将查询内容连接group concat 4 有条件的分组查询having 一 介绍 将某个字段的相同值分为一组 分组查询的结果强调的是一个整体 每组内容只显示一行 分组查询的内容一
  • C语言-蓝桥杯-基础练习 矩阵乘法

    问题描述 给定一个N阶矩阵A 输出A的M次幂 M是非负整数 例如 A 1 2 3 4 A的2次幂 7 10 15 22 输入格式 第一行是一个正整数N M 1 lt N lt 30 0 lt M lt 5 表示矩阵A的阶数和要求的幂数 接下
  • Python爬虫之Js逆向案例(12)-知乎答案批量获取保存到CSV文件

    声明 知乎答案批量获取分析仅用于研究和学习 如有侵权 可联系删除 大家好 本期分享的内容是一个关于批量获取知乎答案的案例 本案例的重点是教大家在写爬虫时如何更规范的去编写自己的爬虫 场景是这样的 最近在帮一位同学排查几个爬虫问题 于是乎我三
  • Pandas实战-Series对象

    本文将主要介绍以下内容 1 Series概述 2 从Python对象创建Series 3 读取最前面和最后面的数据 4 数学运算 5 将Series传递给Python的内置函数 Series是Pandas的两个主要数据结构之一 它是用于存储
  • 强化学习-稀疏奖励

    稀疏奖励 出现的原因 训练agent的时候 多数时候agent获取不到reward 没有奖励或惩罚 乱探索什么也学不到 这是不是奖惩设置不合理的一种体现 解决方案 Reward Shaping Reward shaping 的思想是说环境有
  • Tomcat是如何隔离Web应用的

    Tomcat通过自定义的类加载器WebAppClassLoader打破了双亲委托机制 目的就是为了优化加载Web应用目录下的类 Tomcat 作为 Servlet 容器 它负责加载我们Servlet 类 此外它还负责加载 Servlet 所
  • (LeetCode) 两数相加-----C语言实现【详细讲解】

    目录 1 题目要求如下 2 做题之前我们先来分析一下题目 看看我们究竟要做什么 怎么做 3 下面我们将对代码进行分开讲解 4 最后附上完整的代码供大家学习参考 题目要求如下 给你两个 非空 的链表 表示两个非负的整数 它们每位数字都是按照
  • 用数组slice方法,更新视图

    用数组slice方法 更新视图 定义和用法 slice 方法可从已有的数组中返回选定的元素 slice 方法可提取字符串的某个部分 并以新的字符串返回被提取的部分 注意 slice 方法不会改变原始数组 var fruits Banana
  • HDD/SSD/NVM存储介质

    HDD SSD NVM存储介质 NonVolatile Memory 非易失存储器 具有非易失 按字节存取 存储密度高 低能耗 读写性能接近DRAM 但读写速度不对称 读远快于写 寿命有限 需要像ssd一样考虑磨损均衡 当电流关掉后 所存储
  • proteus8.8版本出现闪退的原因分析和解决方案

    如果 你是刚进入单片机仿真的小朋友 并且也对单片机仿真感兴趣 如遇到下列情况不要着急 这种情况的出现 原因我还没有找到或者说干脆没有分析明白 尝试过重新安装过软件 但未果 但是 对于proteus闪退的情况 可以告诉你一个亲测好用的方法 切
  • AI智能无损放大图片网站

    https bigjpg com
  • 使用superset完成mysql数据库或者hive数据库的数据可视化

    虚拟机安装步骤 注意事项 以下bigdata100均记得更换为bigdata1即可 确保本地电脑已经安装好了VMware Workstation Pro 下载地址 下载 VMware Workstation Pro CN 清华大学镜像源 h
  • Android学习博客和文章存档

    Android基础 Android总结篇 http blog csdn net codeemperor article details 51004189 Android最佳性能实践 一 合理管理内存 http blog csdn net g
  • Linux命令行中创建的软连接(ln -s)的无法移动问题,以及绝对路径和相对路径的概念

    最近刚开始学习鸟哥的Linux基础篇 昨天试验了其中的一些命令 发现在某一个目录下对某个目录创建的软连接在移动到另一个目录下之后就无法正常打开了 问了下同学 这个问题顺利的解决了 首先 在目录dir1下创建一个目录dir2 用到的命令是 j