대용량 폴더 이름 바꾸기: 위험이 있나요?

대용량 폴더 이름 바꾸기: 위험이 있나요?

180GB 폴더의 이름을 바꾸는 명령을 사용할 때 위험이 있습니까 mv?

180GB가 포함된 폴더 가 있습니다 /data.

/data명령을 사용하여 이 폴더의 이름을 바꾸고 싶습니다 ./BD_FILESmv

이거 안전한가요?

답변1

폴더가 동일한 파일 시스템에 있는 경우 폴더 이름을 변경하는 것이 안전합니다.


만약 그것이라면마운트 포인트( /data내 마운트 지점 중 하나 mount사용하여mvmv /data /BD_FILES

파일 시스템을 마운트 해제하고, 이제 비어 있는 디렉토리의 이름을 바꾸고, /etc/fstab파일 시스템의 새 위치로 업데이트한 다음, 이름이 바뀐 위치에 파일 시스템을 다시 마운트해야 합니다.

다시 말해서,

  1. umount /data
  2. mv /data /BD_FILES( /BD_FILES아직 거기에 없다고 가정하고, 이 경우 먼저 방해가 되지 않는 곳으로 이동하십시오)
  3. update /etc/fstab, 마운트 지점을 /data다음에서 변경합니다./BD_FILES
  4. mount /BD_FILES

여기에는 파일 복사가 포함되지 않으며 파일 시스템의 마운트 지점 역할을 하는 디렉터리의 이름만 변경됩니다.


디렉토리 이름 바꾸기에 해당 디렉토리가 다른 /data디스크에 있지 않고 한 디스크 /BD_FILES에 있는 경우 새 파일 시스템으로 이동하는 경우가 이에 해당할 수 있습니다. 예를 들어 내용을 더 큰 파티션으로 이동하는 것이 일반적인 관행입니다. 복사가 제대로 되었는지 확인할 때까지 원본 데이터를 그대로 유지하면서 데이터를 복사합니다. 당신은 이것을 할 수 있습니다

rsync -a /data/ /BD_FILES/

예를 들어, rsync수행하는 작업과 수행하지 않는 작업에 대한 설명서를 참조하세요(예: 하드 링크를 보존하지 않음).


폴더 이름을 바꾼 후에는 기존 프로세스(폴더, 백업 등을 사용하는 프로그램 및 사용자)가 이름 변경을 인식하는지 확인해야 합니다.

답변2

디렉토리의 모든 파일 이름을 바꾸는 대신,하나파일은 /에 있습니다. 그 이유는 다음과 같습니다.

  1. 디렉토리는 파일이고
  2. 파일 시스템은 실제 텍스트가 아닌 inode에 실제로 관심을 갖습니다.

따라서 디렉터리에 얼마나 많은 파일이나 데이터가 있더라도 디렉터리 이름을 바꾸는 것은 쉽지 않습니다.

답변3

이름을 바꾸면(소스 및 대상동일한파일 시스템) 이는 단순히 디렉토리 항목의 이름을 바꾸는 것입니다. 성공하여 디렉터리에 새 이름이 지정되거나 실패하며 이 경우 아무것도 변경되지 않습니다 * .

소스와 대상이 서로 다른 파일 시스템에 있는 경우 데이터를 복사해야 합니다 mv. 파일 시스템 기능의 차이(예: 최대 파일 크기, 파일 이름 제한 등)로 인해 문제가 발생할 수 있습니다. 문제가 발생하지 않도록 하려면 먼저 파일( cp, rsync, ...)을 복사한 후 복사가 성공적으로 완료된 후 원래 위치에 있는 파일을 삭제하세요.

* 단, 다음과 같은 특별한 경우도 있습니다.실수부분적으로남자 2 이름 바꾸기

답변4

이름 바꾸기는 원자적입니다. 유일하게 합리적인 위험은 mv어떤 이유로 모든 것을 복사하기로 결정했는데 도중에 충돌이 발생한다는 것입니다. GNU가 있으면 이러한 위험이 제거됩니다 mv.mv -T

mv -T폴더가 아닌 곳으로 이동 한다고 말하면 mv이동을 거부하게 되어 mkdir()폴더가 이동되고 어떤 이유로 복사하기로 결정하면 실패하게 됩니다.

mv -T몇 년 전 저는 석사 논문을 작성하는 동안 오류를 제거하는 일에 참여했습니다. 너무 많은 극단적인 경우에 잘못된 일을 하곤 했습니다.

반면 루트 파티션에는 180GB의 사용자 데이터가 있습니다. 루트 파티션 밖으로 이동하고 싶을 수도 있습니다.

관련 정보