[linux] Linux에서 파일을 심볼릭 링크하려면 어떻게해야합니까? [닫은]
리눅스에서 심볼릭 링크를 만들고 싶습니다. 첫 번째 경로는 링크하려는 폴더이고 두 번째 경로는 컴파일 된 소스 인이 Bash 명령을 작성했습니다.
ln -s '+basebuild+'/IpDome-kernel/kernel /home/build/sandbox/gen2/basebuild/IpDome-kernel/kernal
이 올바른지?
답변
새 심볼릭 링크를 만들려면 (심볼릭 링크가 이미 존재하지 않으면 실패) :
ln -s /path/to/file /path/to/symlink
심볼릭 링크를 만들거나 업데이트하려면
ln -sf /path/to/file /path/to/symlink
답변
ln -s TARGET LINK_NAME
어디는 -s
그것을 상징한다.
답변
ln -s EXISTING_FILE_OR_DIRECTORY SYMLINK_NAME
답변
답변
(ASCII 그림은 천 자의 가치가 있기 때문에.)
화살표는 유용한 니모닉 일 수 있습니다. 특히 Emacs에서 거의 정확하게 보이는 방식이기 때문입니다.
큰 그림이므로 Windows 버전과 혼동되지 않습니다.
리눅스 :
ln -s target <- linkName
윈도우 :
mklink linkName -> target
이것들을 다음과 같이 볼 수도 있습니다.
ln -s "to-here" <- "from-here"
mklink "from-here" -> "to-here"
는 from-here
(가) 동안, 생성 될 아직 존재하지 않아야 to-here
이미 (IIRC)이 존재한다.
(나는 항상 다양한 명령과 인수가 기존 위치 또는 만들어야 할 위치와 관련이 있는지에 대해 혼란스러워합니다.)
편집 : 그것은 여전히 나를 위해 천천히 침몰하고 있습니다. 노트에 쓴 다른 방법이 있습니다.
ln -s (target exists) (link is made)
mklink (link is made) (target exists)
답변
ln -s source_file target_file
답변
원래 질문에 :
'ln -s '+basebuild+'/IpDome-kernel/kernel /home/build/sandbox/gen2/basebuild/IpDome-kernel/kernal'
파일 / 디렉토리에서 심볼릭 링크 ( -s
)가 생성됩니다 .
<basebuild>/IpDome-kernel/kernel
새 링크로
/home/build/sandbox/gen2/basebuild/IpDome-kernel/kernal
기억하는 데 도움이되는 몇 가지 방법이 있습니다.
먼저에 대한 맨 페이지가ln
있습니다. Google에서 “man ln”을 검색하여 액세스하거나 터미널 창을 열고 입력 man ln
하면 동일한 정보를 얻을 수 있습니다. 매뉴얼 페이지에는 다음과 같이 명확하게 설명되어 있습니다.
[OPTION] … [-T] TARGET LINK_NAME (첫 번째 형식)
매번 맨 페이지를 검색하거나 읽을 필요가 없다면 모든 nix 명령이 동일한 방식으로 작동 한다는 것을 기억하는 것이 더 쉬울 것입니다:
cp /file/that/exists /location/for/new/file
mv /file/that/exists /location/its/moving/to
ln /file/that/exists /the/new/link
cp
현재 존재하는 파일 (첫 번째 인수)을 새 파일 (두 번째 인수)에 복사합니다.
mv
현재 존재하는 파일 (첫 번째 인수)을 새 위치 (두 번째 인수)로 이동
마찬가지로 ln
현재 존재하는 파일 (첫 번째 인수)을 새 링크 (두 번째 인수)에 연결합니다. *
마지막으로 제안하고 싶은 옵션은 읽기 쉽고 기억하기 쉬운 사용자 매뉴얼 페이지를 만들 수 있다는 것입니다. 필요한 힌트를 제공하는 간단한 쉘 스크립트를 작성하십시오. 예를 들어 ♦ :
.bash_aliases 파일에서 다음과 같은 것을 배치 할 수 있습니다 :
commandsfx() {
echo "Symlink: ln -s /path/to/file /path/to/symlink"
echo "Copy: cp /file/to/copy /destination/to/send/copy"
}
alias 'cmds'=commandsfx
그런 다음 필요할 때 명령 줄에서 입력 cmds
하면 빠르게 읽고 이해할 수있는 방식으로 올바른 구문을 다시 얻을 수 있습니다. 필요한 정보를 얻고 자하는대로 이러한 기능을 고급으로 만들 수 있습니다. 대화식으로 만들 수도 있으므로 프롬프트를 따라야합니다.
makesymlink() {
echo "Symlink name:"
read sym
echo "File to link to:"
read fil
ln -s $fil $sym
}
alias 'symlink'=makesymlink
*-분명히 그들은 모두 서로 다른 매개 변수를 취하고 다른 일을 할 수 있으며 파일뿐만 아니라 디렉토리에서도 작동 할 수 있지만 전제는 동일
합니다.-bash 쉘을 사용한 예제