我的问题是我需要仅使用命令从一个目录移动到另一个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