linux软链接相关|含批量脚本
linux软链接相关|含批量脚本
创建软链接
1
ln -s [源文件或目录] [目标文件或目录]
修改软链接
1
ln --snf [新的源文件或目录] [目标文件或目录]
删除软链接
1
rm -rf 软链接名称
或
1
rm 软链接名称 # 不加 -rf 也可以
查看帮助
1
ln --help
批量更新软链接源文件路径
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/bin/bash
# 定义旧的和新的源文件路径前缀
old_path_prefix="/123/"
new_path_prefix="/456/"
# 遍历当前目录下的所有软链接
for symlink in $(find . -type l); do
# 使用 readlink 命令获取软链接的绝对路径
target=$(readlink -e "$symlink")
# 检查目标路径是否以旧路径前缀开头
if [[ "$target" == "$old_path_prefix"* ]]; then
# 构造新的软链接路径
new_target="${target/$old_path_prefix/$new_path_prefix}"
# 输出将要进行的操作
echo "Updating symlink $symlink to point to $new_target"
# 更新软链接的源文件路径
ln -sfn "$new_target" "$symlink"
fi
done
echo "Symlink update completed."
将此脚本保存为 .sh
文件,然后拖放到目标目录中运行。
This post is licensed under CC BY 4.0 by the author.