中提到的一种方式
comment
通过
pmf
;如果希望仅在移动成功时执行链接,请使用连接
&&
。另一种方法是,您可以随时创建自定义命令。您可以创建一个自定义shell函数,一步完成移动和符号链接的创建。将以下函数添加到您的shell配置文件中(例如。,
~/.bashrc
或
~/.zshrc
通常用于
MAC
):
move_and_symlink() {
mv "$1" "$2"
ln -s "${2%/}/$1" .
}
然后,获取您的shell配置文件以使新功能可用:
source ~/.bashrc # or source ~/.zshrc based on your requirement
现在,您可以使用
move_and_symlink
命令在一个步骤中移动文件并创建符号链接:
tree
.
âââ my-file
âââ my-folder
move_and_symlink my-file my-folder
tree
.
âââ my-file -> my-folder/my-file
âââ my-folder
âââ my-file
上面的自定义函数有两个参数:
源文件和目标目录
。它首先使用将文件移动到目标目录
mv
然后创建
symlink
到原始位置的新位置
ln -s
。
EDIT(用于对多个文件进行操作h/t
tripleee
):
可以修改以上功能以处理多个文件:
move_and_symlink() {
# Get the last argument as the destination directory
dest_dir="${!#}"
# Iterate through all arguments except the last one (the source files)
for ((i=1; i<$#; i++)); do
src_file="${!i}"
mv "$src_file" "$dest_dir"
ln -s "$dest_dir/$src_file" .
done
}
# Usage: move_and_symlink file1 file2 file3 destination_folder
Reference