Linux에서 ln 명령과 상대 경로를 사용하여 한 디렉터리에서 다른 디렉터리로 이동하는 방법

Linux에서 ln 명령과 상대 경로를 사용하여 한 디렉터리에서 다른 디렉터리로 이동하는 방법

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

관련 정보