linux创建、删除文件夹的软链接

2023-11-15

/home/tom/ 下有个叫 a/ 的文件夹,想在 /home/dataset/ 下建一个软链接 b 指向它,即 /hom/dataset/b → \rightarrow /home/tom/a

Create

ln -s /home/tom/a /home/dataset/b

-s 表示软链接,即快捷方式。默认硬链接。这种写法无论当前在哪个目录都可以。
而如果当前就在 /home/dataset/,那可以简写成:

ln -s /home/tom/a b

如果当前就在 /home/dataset/,且想软链接跟原文件同名,那第二个参数也可省:

ln -s /home/tom/a

这样就会在 /home/dataset/ 下建一个 a 指向 /home/tom/a/

Delete

当想删除软链接 b,假设此时就在 /home/dataset,则 rm b 就行。
注意:如果是用 tab 自动补全的,可能会补全成 b/,即后面多了个斜杠 /,这样 rm 删不了,因为是目录,此时将那个斜杠删掉再回车就行。

Example

  • 在 data/ 下创建所用到的数据的软链接,每个数据集放一个目录。
  • 本例所用的数据集见:wikipediaflickr25knuswide
#!/bin/bash

# 根据环境确定数据根目录
where=$1
where=${where:="docker"}
# echo $where
case $where in
docker)
    DATA_P=/home/dataset
    ;;
104)
    DATA_P=/usr/local/dataset
    ;;
105)
    DATA_P=/home/hpcds/dataset
    ;;
mine)
    DATA_P=/home/tom/dataset
    ;;
*)
    echo Unsupported: $where
    exit
    ;;
esac


softlink()
{
    echo dataset: $1
    if [ ! -d $1 ]; then
        mkdir $1
    fi
    cd $1

    case $1 in
    wikipedia)
        if [ $where == 104 ]; then
            SRC_P=/home/dataset/wikipedia_dataset
        else
            SRC_P=$DATA_P/wikipedia
        fi
        FILE=(images.vgg19.mat texts.wiki.lda.10.mat labels.wiki.mat)
        for f in ${FILE[@]}; do
            ln -s $SRC_P/$f
        done
        ;;
    flickr25k)
        SRC_P=$DATA_P/flickr
        FILE=(images.flickr25k.vgg19.4096d.mat texts.npy labels.24.npy clean_id.npy)
        for f in ${FILE[@]}; do
            ln -s $SRC_P/$f
        done
        ;;
    nuswide-tc10)
        SRC_P=$DATA_P/nuswide
        FILE=(images.nuswide.vgg19.4096d.h5 texts.AllTags1k.npy labels.tc-10.npy clean_id.tc10.npy)
        for f in ${FILE[@]}; do
            ln -s $SRC_P/$f
        done
        ;;
    *)
        echo Not implemented: $1
        exit
        ;;
    esac
    
    cd ..
}

# 为每个数据集创建目录,并软链接相应所需的数据
DATASET=(wikipedia flickr25k nuswide-tc10)
for dset in ${DATASET[@]}; do
    softlink $dset
done

References

  1. 【已解决】Linux中如何删除软连接
  2. windows软链接
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux创建、删除文件夹的软链接 的相关文章

  • Linux命令列出所有可用命令和别名

    是否有一个 Linux 命令可以列出该终端会话的所有可用命令和别名 就好像您输入 a 并按下 Tab 键一样 但针对的是字母表中的每个字母 或者运行 别名 但也返回命令 为什么 我想运行以下命令并查看命令是否可用 ListAllComman
  • perf stat中的cycles注释是什么意思

    8 014196 task clock 0 004 CPUs utilized 204 context switches 0 025 M sec 32 cpu migrations 0 004 M sec 0 page faults 0 0
  • Linux 上的 Python 3.6 tkinter 窗口图标错误

    我正在从 Python GUI 编程手册 学习 Python GUI 某项任务要求我通过将以下代码添加到我的配方中来更改窗口图标 Change the main windows icon win iconbitmap r C Python3
  • 如何从 Linux 命令行获取视频文件的分辨率(宽度和高度)?

    我一直在挖掘 mplayer mencoder 和 ffmpeg 文档 但我似乎无法想出anything 我对输出格式不是特别挑剔 因为我可以使用正则表达式将其拉出来 我只是似乎无法首先获取数据 Use ffprobe https ffmp
  • 如何从linux命令行运行.exe可执行文件? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在 Windows 中有一个 abc exe 可执行文件 我可以使用 DOS 命令提示来执行此应用程序 并为其提供一些运行时变量 我想从
  • 如何成功使用RDAP协议代替whois

    我对新的 RDAP 协议有点困惑 也不知道何时进一步追求它有意义 在我看来 每个人都同意它是 whois 的继承者 但他们的数据库似乎是空的 在 ubuntu 上我尝试了 rdapper nicinfo 甚至他们的 RESTful API
  • 操作系统什么时候清除进程的内存

    进程在某些操作系统上成功或异常终止 操作系统何时决定擦除分配给该进程的内存 数据 代码等 在退出时或当它想为新进程分配内存时 这个清除内存分配过程在所有操作系统 winXP Win7 linux Mac 上都相同吗 据我了解 页表具有该进程
  • gethostbyname() 或 getnameinfo() 如何在后台工作?

    How gethostbyname or getnameinfo 在后台工作 include
  • 如何在我的 AWS EC2 实例上安装特定字体?

    我有一个在 AWS EC2 Amazon Linux Elastic Beanstalk 实例上运行的 Python 应用程序 该实例需要某些特定字体才能生成输出 并且想知道如何在部署或实例启动过程中安装它们 我的代码在本地计算机 OS X
  • 伊迪德信息

    重新定义问题 有什么方法可以获取所连接显示器的序列号吗 我想收集显示器的Eid信息 当我使用 logverbose 选项运行 X 时 我可以从 xorg 0 log 文件中获取它 但问题是 如果我切换显示器 拔出当前显示器 然后插入另一个显
  • 停止服务时单元陷入故障状态(状态=143)[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这是我的问题 我有 CentOS 和 java 进程在上面运行 Java进程是通过启动 停止脚本来操作的 它也创建了 java 实例的 p
  • 标准头文件中的 C 编译器错误 - 未定义的 C++ 定义

    我正在尝试编译 C 程序 但收到许多错误 这些错误是在标准 C 头文件 inttypes h stdio h stat h 等 中遇到的 错误的来源是以下未定义的常量 BEGIN DECLS END DECLS BEGIN NAMESPAC
  • 在 Ubuntu 16.04 上找不到 printf.c

    我最近切换到Ubuntu 16 04 我在用vscode作为 Ubuntu 上的 IDE 我配置了其他语言 但我无法做到这一点C C 我创建c cpp properties json launch json tasks json 当我开始编
  • C 程序从连接到系统的 USB 设备读取数据

    我正在尝试从连接到系统 USB 端口的 USB 设备 例如随身碟 获取数据 在这里 我可以打开设备文件并读取一些随机原始数据 但我想获取像 minicom teraterm 这样的数据 请让我知道我可以使用哪些方法和库来成功完成此操作以及如
  • 无需 cron 在后台发送邮件

    我想知道是否有一种方法可以运行 PHP 循环 以便在后台向订阅者发送几百封电子邮件 我的目标是格式化新闻通讯 单击发送 然后关闭浏览器或更改页面 当然 发送电子邮件的实际过程将在后台运行 不会因浏览器关闭而中断 我知道这可以通过 cron
  • 为什么 Linux 对目录使用 getdents() 而不是 read()?

    我浏览 K R C 时注意到 为了读取目录中的条目 他们使用了 while read dp gt fd char dirbuf sizeof dirbuf sizeof dirbuf code Where dirbuf是系统特定的目录结构
  • 设置 Apache POI 的路径

    我想创建 Excel 文件并使用 java 程序在该文件中写入数据 That is here http www techbrainwave com p 554我在 java 文件所在的位置提取了 Apache POI 并将该路径包含在路径变
  • GCC 和 ld 找不到导出的符号...但它们在那里

    我有一个 C 库和一个 C 应用程序 尝试使用从该库导出的函数和类 该库构建良好 应用程序可以编译 但无法链接 我得到的错误遵循以下形式 app source file cpp text 0x2fdb 对 lib namespace Get
  • diff 文件仅比较每行的前 n 个字符

    我有2个文件 我们将它们称为 md5s1 txt 和 md5s2 txt 两者都包含a的输出 find type f print0 xargs 0 md5sum sort gt md5s txt 不同目录下的命令 许多文件被重命名 但内容保
  • 如何更改 Ubuntu 14.04 上的 php-cli 版本?

    我是 Linux 新手 在篡改时破坏了一些 php 设置 如果我执行一个包含以下内容的 php 脚本 phpinfo 它显示 php 版本为 5 6 但通过命令行 如果我运行php v它返回 7 0 版本 我想让两个版本匹配 我怎样才能修复

随机推荐

  • java面向对象超详细总结(期末必备)

    文章目录 面向对象 什么是对象 对象的组成 类是什么 类的组成 类的创建语法 类的使用 使用类必须为类创建对象 调用属性 调用方法 方法的重载 构造方法 构造函数 构造器 构造器的语法 对象的引用 this关键字 OOP练习 练习一 案例代
  • LINQ的基本使用

    一 什么是LINQ 长期以来 开发社区形成以下的格局 1 面向对象与数据访问两个领域长期分裂 各自为政 2 编程语言中的数据类型与数据库中的数据类型形成两套不同的体系 例如 C 中字符串用string数据类型表示 SQL中字符串用NVarc
  • 静态代码检测遇到的一些问题总结

    393 S Single parameter constructor not explicit 原因 只有一个参数的构造函数存在隐式类型转换的可能 解决方法 在单参数构造函数之前添加 explicit 例子 class test publi
  • HTML5中的save()和restore()方法的用法

    HTML5中的save 和restore 方法的用法 1 save 方法将当前的绘图环境压入堆栈顶部 2 restore 方法将从栈顶部弹出的一组状态信息 并根据此恢复当前绘图环境的各个状态
  • OpenWrt入门完美教程

    近来由于毕业设计需要用到摄像头模块 考虑利用 OpenWrt UVC mjpg streamer 方案驱动摄像头模块 学习了一篇很好的OpenWrt入门美文 原文链接如下 http zhidx com p 186 html 从零开始学习Op
  • 【Ubuntu 3090 CUDA配置】一文缕清 驱动+CUDA Toolkit+cuDNN+pytorch+cudatoolkit 环境配置流程

    2021年12月9日更新 可查看本人最新的CUDA环境配置博客 https zhuanlan zhihu com p 443114377 系对本文的提炼 归纳与总结 目录 环境配置流程总结 2021年6月10日更新 重要概念 务必看 写在开
  • 数字信号处理第二次试验:时域采样与频域采样

    数字信号处理第二次试验 时域采样与频域采样 前言 一 实验目的 二 实验原理与方法 三 实验环境 四 实验内容及步骤 五 实验结果截图 含分析 实验程序运行结果及分析讨论 六 思考题 想说点啥 前言 为了帮助同学们完成痛苦的实验课程设计 本
  • js去掉字符串的空格

    1 trim方法 过滤字符串两端的空格 var str xin xiang console log str trim xin xiang trim 是最常用的方法 也是最方便的方法 缺点 只能去除字符串两端的空格 不能去除中间的空格 2 r
  • Node.js基础入门第七天

    经过前面六天的知识学习 对Node js开发的基础知识 有了一个初步的掌握 今天继续学习Node js后端web开发的相关知识 本篇文章作为Node js服务端程序开发的基础入门知识 仅供学习分享使用 如有不足之处 还请指正 创建服务端程序
  • JS的findIndex在对象中依值查找相应的索引

    博大精深的JS 永远都学不完的好东东 JS根据对象值查找对应索引 let arr id 1 name a id 2 name b id 3 name c 查找id 3记录的索引号 let i arr findIndex v gt v id
  • 一步一步,学习如何搭建Spring+Spring MVC+MyBatis SSM框架开发环境

    目录导航 前言 一 准备工作 二 创建Maven项目 三 pom xml配置 四 配置web xml spring xml文件 五 编写Controller和相应jsp页面 六 集成mybatis 七 测试 八 TroubleShootin
  • 某资产配置平台系统方案建设规划

    整个平台规划分为前台与后台以及微平台的建设 其中前台系统囊括首页概览 固定收益产品 阳光私募产品 PE VC产品 地产投资产品 海外保险产品 理财学堂 会员中心八大模块 后台系统包含理财中心 产品中心 基础管理与账号管理四个版块 微平台后续
  • Rusr Error: linker `x86_64-w64-mingw32-gcc` not found

    Error linker x86 64 w64 mingw32 gcc not found 问题描述 解决办法 For Self For Windows 问题描述 交叉编译时 在 Mac OS 平台下为 Windows 打 EXE 包报错
  • 基于Spring Boot的个人博客系统的设计与实现毕业设计源码271611

    目 录 摘要 1 绪论 1 1研究意义 1 2开发背景 1 3系统开发技术的特色 1 4论文结构与章节安排 2 个人博客系统系统分析 2 1 可行性分析 2 2 系统流程分析 2 2 1数据增加流程 2 3 2数据修改流程 2 3 3数据删
  • 后端配置跨域

    仅为记录 Configuration public class CorsConfig 当前跨域请求最大有效时长 这里默认1天 private static final long MAX AGE 24 60 60 private CorsCo
  • CAN分析仪、USBCAN卡连接失败常见问题

    CAN分析仪对CAN总线开发的工程师来说是很常用的工具 但是对第一次将USB连接到CAN上的人来说可能会遇到很多问题 本文列举可能会遇到的问题 然后列出解决方法 问题1 设备打开失败 如下图所示 可能原因 设备型号选错 解决办法 来可针对不
  • 逆向破解学习-单机斗地主

    试玩 破解思路 9000 是成功的代码 Hook代码 import de robv android xposed XC MethodHook import de robv android xposed XposedHelpers impor
  • 开发ssm框架软件系统常见问题及解决方法

    在SSM框架开发软件系统中 可能会遇到一些常见的问题 如下所述 1 配置文件错误 在SSM框架开发软件系统中 配置文件往往是一个非常重要的部分 当配置文件存在错误时 可能会导致软件系统无法正常运行 解决这个问题的方法是检查配置文件的语法 路
  • 计算机术语表达因果,我翻译的维基百科关于福多的词条(下)

    意向实在论 福多对丹尼特的批评 福多对所谓的标准实在论提出了批评 根据他自己的想法 这个观点可以被描绘为两个独立的断言 其中一个诉诸心理状态的内在结构并且断言这些状态是非关联的 另一个主张关注心理内容的语义学理论并且断言在这些内容的因果作用
  • linux创建、删除文件夹的软链接

    在 home tom 下有个叫 a 的文件夹 想在 home dataset 下建一个软链接 b 指向它 即 hom dataset b rightarrow home tom a Create ln s home tom a home d