假设我的工作目录中有一个文件和一个文件夹:
>> tree
.
├── my-file
└── my-folder
字符串
要将my-file
移动到my-folder
并在原始位置保留my-file
,并将符号链接到新位置,我必须通过几个步骤来完成:
移动:
>> mv my-file my-folder
>> tree
.
└── my-folder
└── my-file
型
在原始位置创建符号链接:
>> ln -s my-folder/my-file
>> tree
.
├── my-file -> my-folder/my-file
└── my-folder
└── my-file
型
有没有一种方法可以在一个步骤中完成?(以及多个文件?)
类似于以下内容:
>> tree
.
├── my-file
└── my-folder
>> move-and-create-symlink-command-??
>> tree
.
├── my-file -> my-folder/my-file
└── my-folder
└── my-file
型
1条答案
按热度按时间clj7thdc1#
一种方式是在 * pmf * 的 * 评论 * 中提到的;如果你想只在移动成功的情况下才执行链接,可以使用
&&
连接两者。另一种方法是你可以随时创建你的自定义命令。你可以创建一个自定义shell函数来执行移动和符号链接的创建。将下面的函数添加到你的shell配置文件中(例如,~/.bashrc
或~/.zshrc
通常用于MAC
):字符串
然后,获取shell配置文件以使新函数可用:
型
现在,您可以使用
move_and_symlink
命令移动文件并在一个步骤中创建符号链接:型
上面的自定义函数有两个参数:* 源文件和目标目录 *。它首先使用
mv
将文件移动到目标目录,然后使用ln -s
在原始位置创建一个symlink
到新位置。EDIT(用于操作多个文件h/t * tripleee *):
上述函数可以修改为处理多个文件:
型
Reference的