cp에는 -r이 필요하지만 mv에는 왜 필요하지 않습니까? [복사]

cp에는 -r이 필요하지만 mv에는 왜 필요하지 않습니까? [복사]

디렉토리와 그 내용을 복사하려면 cp스위치가 필요합니다 -r.

디렉토리와 그 내용을 이동하는 데 전환이 필요 mv하지 않습니다 -r.

그 이유는 무엇입니까?

편집: 걱정하지 마세요. 검색에도 불구하고 이 질문을 게시한 후 답변이 있는 것으로 나타났습니다.여기.

답변1

이 명령을 사용하면 mv최상위 디렉터리나 개별 파일에 대한 메타데이터만 변경되고, 이 cp명령을 사용하면 실제로 개별 파일이나 디렉터리 트리의 복사본이 만들어집니다. 두 모드를 구별하려면 cp명령을 사용하려면 사용할 동작을 지정해야 합니다.

를 사용하여 메타데이터를 볼 수 있습니다 stat.

$ stat /home/vagrant/adir
  File: ‘/home/vagrant/adir’
  Size: 4096        Blocks: 8          IO Block: 4096   directory
Device: fd00h/64768d    Inode: 794269      Links: 2
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-07-14 10:57:17.103849041 -0400
Modify: 2018-07-14 10:57:17.103849041 -0400
Change: 2018-07-14 10:57:17.103849041 -0400
 Birth: -

이동한 후:

$ stat /tmp/adir
  File: ‘/tmp/adir’
  Size: 4096        Blocks: 8          IO Block: 4096   directory
Device: fd00h/64768d    Inode: 794269      Links: 2
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-07-14 10:57:17.103849041 -0400
Modify: 2018-07-14 10:57:17.103849041 -0400
Change: 2018-07-14 10:57:53.323950044 -0400
 Birth: -

mv명령은 디렉터리에 대한 메타데이터에만 작동하므로 작업을 수행하기 위해 실제로 아무것도 복사할 필요가 없습니다.

관련 정보