예: I have files a.txt
및 files b.txt
. a.txt
에서 까지의 링크를 원합니다 b.txt
. 파일을 열거나 읽으면 a.txt
파일도 b.txt
열리거나 읽어야 합니다. 이와 같은 작업을 시도하면 ln -s a.txt b.txt
파일이 b.txt
존재하기 때문에 오류가 발생합니다. a.txt
에서 까지의 링크를 만드는 방법은 무엇입니까 b.txt
?
답변1
b.txt
먼저 명령을 사용하여 파일을 삭제 rm b.txt
한 다음 명령을 사용하여 심볼릭 링크를 만들어야 합니다 ln -s a.txt b.txt
.
b.txt
에서 까지 의 하드 링크를 사용한 a.txt
다음 실행하면 ln a.txt b.txt
둘 다 하드 드라이브의 동일한 파일을 가리키며 삭제해도 a.txt
읽을 수 있는 파일은 삭제되지 않습니다 . 삭제 대상 파일을 제거 하려면 심볼릭 링크를 사용하세요 . 그러면 심볼릭 링크가 깨집니다. 하드 링크에 대한 추가 정보:b.txt
a.txt
b.txt
b.txt
a.txt
a.txt
b.txt
https://en.wikipedia.org/wiki/Hard_link
답변2
도움이 필요하면 맨 페이지를 먼저 확인하십시오. 그것은 당신에게 많은 시간을 절약해 줄 것입니다. 또는 정말 바쁘다면 ln --help
쉘이
Usage: ln [OPTION]... [-T] TARGET LINK_NAME (1st form) ....
도움말 텍스트 아래에서 찾을 수 있습니다.
...
-s, --symbolic make symbolic links instead of hard links
-f, --force remove existing destination files
...
my_secret.file
어떤 의미에서 이는 이라는 이름의 파일에 대한 링크를 생성하려면 다음 my_secret.link
과 같은 명령을 실행해야 함 을 의미합니다.
ln -sf my_secret.file my_secret.link
ls -l my_secret.link
여기서 만들면 . 당신은 이런 것을 얻을 것이다
lrwxrwxrwx 1 foouser groupbar 7 Jul 13 17:17 my_secret.link -> my_secret.file
"l"은 lrwxrwxrwx
링크임을 나타냅니다.
편집자: Rahul이 먼저 공격합니다.
답변3
-f
링크를 생성하기 전에 기존 대상 파일(있는 경우)을 삭제하는 옵션을 사용할 수 있습니다 .
ln -sf a.txt b.txt
다음에서 발견됨 man ln
:
[OPTION]
-f, --force
remove existing destination files