是否有移动文件的命令,并将其符号链接回原来的位置?

Lyn*_*ite 5 symlink fish

我经常发现自己想要移动一个文件,然后在它所在的位置创建一个符号链接。

在手动执行此操作时,我倾向于扭曲我的想法。(尤其是在做了六个文件之后)

用例:

  • 将我所有的“点文件”移动到一个文件夹中,以便我可以对它们进行版本控制
  • 将文件移动到更快的磁盘(暂存)以实现高性能计算

如果没有一个命令,
我会很感激鱼脚本。
(fish 不是 POSIX shell,不支持 sh 语言)

gle*_*man 7

function lnmv
    set dest_dir $argv[1]
    set files $argv[2..-1]

    for f in $files
        set dest $dest_dir/$f
        mv -- $f $dest
        and ln -s -- $dest $f
    end
end
Run Code Online (Sandbox Code Playgroud)

  • 如果其中一个文件以“-”字符开头,则它确保该文件被作为文件处理,而不是作为选项处理。 (2认同)