두 개의 기존 파일 사이에 링크 만들기

두 개의 기존 파일 사이에 링크 만들기

예: 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.txta.txtb.txtb.txta.txta.txtb.txthttps://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

관련 정보