Linux批量创建软链接

本文介绍了一种在Linux环境下使用Shell脚本来创建软链接的方法。通过一个具体的脚本示例,展示了如何利用find命令查找指定扩展名的文件,并创建到目标路径的软链接。同时,文中强调了find命令在查找文件时对路径类型(绝对或相对)的敏感性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

楔子

Linux使用shell创建软链接

find 查找文件 注意找的的路劲
若路径名为绝对路径,则查询出的结果以绝对路径展示;
若路径名为相对路径,则查询出的结果以相对路径展示。
还使用了字符串切割
参数1 是源路劲
参数2 是目标路劲
参数3 是文件扩展名

#!/bin/bash
source_path=$1
tar_path=$2
file_ext=$3

#进入目录find 命令找的是相对路径 例如找到的是 ./sh.sh
cd $source_path
for i in `find  -iname "*.$file_ext"`
do
	#如果不切割字符,${i} 前面包含"./"
	file_name=${i:2}
	echo "文件名:$file_name"
	 ln -s ${source_path}${file_name}  $tar_path/$name

done

在这里插入图片描述

### 如何使用 `ln` 命令创建目录的软链接Linux 中,可以使用 `ln` 命令来创建目录的软链接(符号链接)。具体来说,当指定 `-s` 参数时,`ln` 将会创建一个指向目标目录的符号链接[^1]。 #### 创建目录软链接的具体方法 要为一个目录创建软链接,命令格式如下: ```bash ln -s [源目录路径] [软链接名称] ``` 其中: - `[源目录路径]` 是实际存在的目录路径。 - `[软链接名称]` 是新创建软链接的名字及其存储位置。 例如,假设有一个名为 `/home/user/documents` 的目录,希望在其父目录下创建一个名为 `docs_link` 的软链接,则可以运行以下命令: ```bash ln -s /home/user/documents /home/user/docs_link ``` 执行上述命令后,在 `/home/user/` 下将会多出一个名为 `docs_link` 的符号链接文件。该符号链接实际上是指向原始目录 `/home/user/documents` 的快捷方式[^3]。 如果目标位置已经存在同名文件或目录,并且不想手动确认而强制替换它,还可以加上 `-f` 参数以实现自动覆盖操作: ```bash ln -sf /home/user/documents /home/user/docs_link ``` 这里需要注意的是,虽然理论上可以通过特殊手段绕过限制去创建目录的硬链接,但由于安全性和稳定性考虑,普通情况下并不推荐这样做,也不支持非特权用户完成此类动作[^2]。 因此,在日常工作中遇到需要共享访问某些特定子树结构的需求场景时,通常建议采用符号链接形式即可满足需求。 ### 示例代码展示 下面给出一段简单的脚本实例演示如何批量生成几个常用工作区下的项目文件夹对应于个人主空间内的快速入口: ```bash #!/bin/bash # 定义一些常用的工程根目录 PROJECT_ROOT="/var/www/html" PERSONAL_SPACE="$HOME/workspaces" mkdir -p "$PERSONAL_SPACE" for dir in projectA projectB sharedResources; do src_dir="${PROJECT_ROOT}/${dir}" if [[ ! -d "${src_dir}" ]]; then echo "Source directory does not exist: ${src_dir}. Skipping..." continue fi target_symlink="${PERSONAL_SPACE}/${dir}_shortcut" ln -sfn "${src_dir}" "${target_symlink}" done ``` 以上脚本实现了从服务器默认部署区域到本地自定义命名空间之间的便捷切换机制,极大地方便了开发者们管理跨域资源的工作流程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值