如何使用 ln 命令和 Linux 中的相对路径从一个目录移动到另一个目录

如何使用 ln 命令和 Linux 中的相对路径从一个目录移动到另一个目录

我的问题是我需要仅使用命令从一个目录移动到另一个ln目录

所以这里我有这个相对路径:../../10/wsl并且我知道我必须创建一个符号链接才能ln创建到其他目录的隧道。然后我就可以使用cd来移动了。

我试过

  • ln -s filepath
  • ln -rs filepath

但没有任何作用

答案1

这个例子对你有帮助吗?我几个小时前刚刚做了这个。

我希望将文件移至此处 将文件移至此处

ln -s /home/orca/Downloads/Thefiletobemovedishere/sixfigureseminarmap.pdf /home/orca/Downloads/Iwantthefiletogohere

答案2

man ln显示:

NAME
      ln - make links between files

SYNOPSIS
       ln [OPTION]... [-T] TARGET LINK_NAME
       ln [OPTION]... TARGET
       ln [OPTION]... TARGET... DIRECTORY
       ln [OPTION]... -t DIRECTORY TARGET...

DESCRIPTION
       In the 1st form, create a link to TARGET with the name LINK_NAME.  
       In the 2nd form, create a link to TARGET in the current directory.
       In the 3rd and 4th forms,  create  links  to  each TARGET  in 
       DIRECTORY.  Create hard links by default, symbolic links with 
       --symbolic.  By de‐fault, each destination (name of new link) 
       should not already  exist.   When  creating  hard links, each 
       TARGET must exist.  Symbolic links can hold arbitrary text; if 
       later resolved, a relative link is interpreted in relation to its 
       parent directory.

要使用第一种形式建立链接,请使用:ln -s ../../10/wsl wsl。使用第二种形式,您应该能够ln -s ../../10/wsl:这两者都会创建./wsl.

我发现您已经尝试过第二种形式,因此您可能遇到了一些问题:

$ ln ../../10/wsl
ln: ../../10/wsl: hard link not allowed for directory
$ ln -s ../../10/wsl
ln: failed to create symbolic link './wsl': File exists

在第一行中,我们忘记了-s标志。在第二种形式中,我们在当前目录中已经有一个名为./wsl.如果我们希望此命令起作用,我们需要移动或删除它。如果这些不是您的问题,请发布您的输出以获得进一步的指导。

一旦你有了ln命令,你就可以尝试一下:

# The ls command shows the link
$ ls -l
wsl -> ../../10/wsl

# You can cd in and out of that directory:
~ $ cd wsl
~/wsl $ cd ..
~ $

# If you create a file here, you can also see that file appear in the original directory
$ touch wsl/file1
$ ls ../../10/wsl
file1

相关内容