대상에 대한 하드 링크를 덮어 쓰지 않고 cp 덮어 쓰기

마르 수필 람

다음 설정이 있다고 가정합니다.

$ cat fileA
textA
$ cat fileB
textB
$ ln fileA myLink
$ cat myLink # as expected
textA

다음 동작을 이해하지 못합니다.

$ cp fileB fileA
$ cat myLink # expected ?
textB

ln -s fileA myLink대신 글을 썼다면이 결과를 기대했을 것 입니다.

cp덮어 쓰기 모드에서 다음을 수행 할 것으로 예상했을 것입니다 .

  1. fileB하드 드라이브 의 내용을 복사합니다.
  2. 링크 fileA가 하드 드라이브 주소

그러나 대신 다음을 수행한다고 추론합니다.

  1. 링크를 따라 fileA
  2. fileB해당 주소 의 내용을 복사

mv내가 예상대로 작동하는 채로 똑같은 것이 아닌 것 같습니다 .

내 질문 :

  1. 이것은 내가 놓친 것을 어딘가를 설명 man cp하거나 man mv또는 man ln?
  2. 이 동작은 우연 일 뿐입니 까 ( fileB크기가보다 크지 않은 경우 fileA) 아니면 기능으로 안정적으로 사용할 수 있습니까?
  3. 이것이 하드 링크의 아이디어를 무너 뜨리지 않습니까?
  4. cp fileB fileA다음 cat myLink계속 표시 되도록 줄을 수정하는 방법이 textA있습니까?
마티 야 날리스

하드 링크가있는 "링크를 따라가는 것"은 없습니다. 하드 링크를 만들면 동일한 파일에 여러 개의 다른 이름을 부여 할뿐입니다 (낮은 수준에서 파일은 실제로 정수인 "inodes"이며 사용자 편의를 위해 이름이 있음). "원본"과 "복사본"은 없습니다. 동일합니다. 따라서 열거 나 쓰는 하드 링크 중 어느 것이 든 완전히 동일합니다. 모두 동일합니다.

따라서 cp기본적으로 파일 중 하나를 열고 여기에 기록하므로 파일이 변경됩니다 (따라서 파일에있는 모든 이름). 예, 예상됩니다. 이제 (다시 쓰는 대신) 처음에 이름 중 하나를 제거하고 (따라서 링크 수를 줄인 다음) 이전과 동일한 이름으로 새 파일을 다시 만들면 두 개의 다른 파일이 생성됩니다. 그게 cp --remove-destination할 일입니다.

1 개 기본 사항은 문서화되어 link(2)가리키는ln(1)

2 예 그것은 정상적인 행동이며 우연이 아닙니다. 그러나 위의 언급을 참조하십시오.cp --remove-destination

3 아니요, 그렇지 않습니다. 하드 링크는 단순히 동일한 파일에 대한 여러 이름입니다. 원하는 것은 COW (기록 중 복사) 링크이며, 특수 파일 시스템 만 존재합니다.

4 예,cp --remove-destination fileB fileA

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

편집 대신 VIM 덮어 쓰기

분류에서Dev

덮어 쓰지 않고 동일한 파일을 Azure Blob Storage에 업로드 하시겠습니까?

분류에서Dev

하위 문서를 덮어 쓰지 않고 MergeObjects 사용

분류에서Dev

CSS overflow-y : 스크롤이 내 코드를 덮어 쓰고 작동하지 않는 다른 기능

분류에서Dev

기존 키를 덮어 쓰지 않고 Dynamodb 맵에 새 키를 추가하는 방법은 무엇입니까?

분류에서Dev

투명도를 덮어 쓰지 않고 표면 색상 변경

분류에서Dev

mongodb는 덮어 쓰지 않고 기존 필드를 업데이트합니다.

분류에서Dev

frama-c 동안 함수 덮어 쓰기에 대한 아이디어를 찾고 있습니다.

분류에서Dev

-writeToURL은 이전 쓰기를 덮어 쓰지 않습니다.

분류에서Dev

Excel VBA-여러 범위를 복사하여 덮어 쓰지 않고 선택 순서대로 붙여 넣기

분류에서Dev

덮어 쓰지 않고 기존 dict 키에 새 값을 추가하는 방법

분류에서Dev

이 코드를 덮어 쓰기 (.Wav) 대신 추가로 변경

분류에서Dev

비대화 형으로 덮어 쓰지 않고 gunzip하는 방법

분류에서Dev

Windows Phone8의 기존 파일 내용을 덮어 쓰지 않고 데이터를 skydrive에 업로드

분류에서Dev

스레드에서 각 청크 파일을 쓰려고 할 때 덮어 쓰기

분류에서Dev

파일을 덮어 쓰지 않고 기존 파일에 복사하는 Linux cmd

분류에서Dev

동일한 레코드를 덮어 쓰지 않고 두 개의 쿼리를 실행하는 Rails 4

분류에서Dev

cp 덮어 쓰기 대 rm 다음 cp

분류에서Dev

기존 열을 덮어 쓰지 않고 데이터를 다른 테이블에 복사하는 방법

분류에서Dev

데이터를 덮어 쓰지 않고 기존 mdadm raid0에 대한 raid1 미러를 만드는 방법

분류에서Dev

Java를 덮어 쓰지 않고 동일한 이름으로 파일 만들기

분류에서Dev

"asksaveasfile"대화 상자 덮어 쓰기 메시지를 변경하는 방법은 무엇입니까?

분류에서Dev

시간 동기화를 활성화하지 않고 수동으로 시간 덮어 쓰기 설정 (VM에서)

분류에서Dev

덮어 쓰지 않고 디스크를 더 큰 디스크에 복제

분류에서Dev

Ant UNZIP에서 덮어 쓰지 않음

분류에서Dev

"ln -sf"는 디렉토리에 대한 심볼릭 링크를 덮어 쓰지 않습니다.

분류에서Dev

덮어 쓰지 않고 데이터를 해시 맵에 넣기

분류에서Dev

다양한 화면 크기에 대한 CSS 설정 덮어 쓰기

분류에서Dev

덮어 쓰지 않고 기존 키에 값 추가

Related 관련 기사

  1. 1

    편집 대신 VIM 덮어 쓰기

  2. 2

    덮어 쓰지 않고 동일한 파일을 Azure Blob Storage에 업로드 하시겠습니까?

  3. 3

    하위 문서를 덮어 쓰지 않고 MergeObjects 사용

  4. 4

    CSS overflow-y : 스크롤이 내 코드를 덮어 쓰고 작동하지 않는 다른 기능

  5. 5

    기존 키를 덮어 쓰지 않고 Dynamodb 맵에 새 키를 추가하는 방법은 무엇입니까?

  6. 6

    투명도를 덮어 쓰지 않고 표면 색상 변경

  7. 7

    mongodb는 덮어 쓰지 않고 기존 필드를 업데이트합니다.

  8. 8

    frama-c 동안 함수 덮어 쓰기에 대한 아이디어를 찾고 있습니다.

  9. 9

    -writeToURL은 이전 쓰기를 덮어 쓰지 않습니다.

  10. 10

    Excel VBA-여러 범위를 복사하여 덮어 쓰지 않고 선택 순서대로 붙여 넣기

  11. 11

    덮어 쓰지 않고 기존 dict 키에 새 값을 추가하는 방법

  12. 12

    이 코드를 덮어 쓰기 (.Wav) 대신 추가로 변경

  13. 13

    비대화 형으로 덮어 쓰지 않고 gunzip하는 방법

  14. 14

    Windows Phone8의 기존 파일 내용을 덮어 쓰지 않고 데이터를 skydrive에 업로드

  15. 15

    스레드에서 각 청크 파일을 쓰려고 할 때 덮어 쓰기

  16. 16

    파일을 덮어 쓰지 않고 기존 파일에 복사하는 Linux cmd

  17. 17

    동일한 레코드를 덮어 쓰지 않고 두 개의 쿼리를 실행하는 Rails 4

  18. 18

    cp 덮어 쓰기 대 rm 다음 cp

  19. 19

    기존 열을 덮어 쓰지 않고 데이터를 다른 테이블에 복사하는 방법

  20. 20

    데이터를 덮어 쓰지 않고 기존 mdadm raid0에 대한 raid1 미러를 만드는 방법

  21. 21

    Java를 덮어 쓰지 않고 동일한 이름으로 파일 만들기

  22. 22

    "asksaveasfile"대화 상자 덮어 쓰기 메시지를 변경하는 방법은 무엇입니까?

  23. 23

    시간 동기화를 활성화하지 않고 수동으로 시간 덮어 쓰기 설정 (VM에서)

  24. 24

    덮어 쓰지 않고 디스크를 더 큰 디스크에 복제

  25. 25

    Ant UNZIP에서 덮어 쓰지 않음

  26. 26

    "ln -sf"는 디렉토리에 대한 심볼릭 링크를 덮어 쓰지 않습니다.

  27. 27

    덮어 쓰지 않고 데이터를 해시 맵에 넣기

  28. 28

    다양한 화면 크기에 대한 CSS 설정 덮어 쓰기

  29. 29

    덮어 쓰지 않고 기존 키에 값 추가

뜨겁다태그

보관