티스토리 뷰
파일을 안전하게 옮기기
상황: /Volumes/HDD1/z 를 /Volumes/HDD2/z 로 옮기고싶다
이 과정은 macOS 를 기준으로 진행되었습니다
주의 사항
파일 관련작업은 언제나 신중해야한다
모든 명령과 행동에 대해 실행 전에 심사숙고해라
이 글은 이 과정을 진행하면서 당신이 경험하게 될 그 어떤 실수에 대해서 책임 지지않는다
1. 먼저 데이터의 모습을 기록해둔다
주의사항: 아래 명령은 디스크에 lsalR.hdd1.z.txt 라는 파일을 생성하게 된다. 혹시나 동일한 파일이 존재한다면 덮어써버리니 주의하자
cd /Volumes/HDD1/;
ls -alR z | grep -v '^d' | grep -v '\.DS_Store$' | grep -v '^total' | sed 's/ / /g' | sed 's/ / /g' | sed 's/ / /g' | sed 's/ / /g' | sed 's/ / /g' | sed 's/ / /g' | sed 's/ / /g' | sed 's/ / /g' > lsalR.hdd1.z.txt
2. 그리고 카피하라
주의사항: 카피할때 목적지에 동일이름이 있는지 주의하자
카피방법은 마음대로해라
cp -r /Volumes/HDD1/z /Volumes/HDD2/ 하던지..
그냥 GUI 환경에서 카피하던지
3. 카피완료후 HDD2 디스크를 언마운트후 다시 마운트 한다
4. 카피된 모습을기록
주의사항: 아래 명령은 디스크에 lsalR.hdd2.z.txt 라는 파일을 생성하게 된다. 혹시나 동일한 파일이 존재한다면 덮어써버리니 주의하자
cd /Volumes/HDD2/;
ls -alR z | grep -v '^d' | grep -v '\.DS_Store$' | grep -v '^total' | sed 's/ / /g' | sed 's/ / /g' | sed 's/ / /g' | sed 's/ / /g' | sed 's/ / /g' | sed 's/ / /g' | sed 's/ / /g' | sed 's/ / /g' > lsalR.hdd2.z.txt;
5. 두개의 파일을 비교
WinMerge 같은거로 비교해라
비교해서 차이점이 없으면 OK이다
/Volumes/HDD1/lsalR.hdd1.z.txt
/Volumes/HDD2/lsalR.hdd2.z.txt
이런 귀찮은 과정을 거치는 이유
파일작업을 한 후, 언마운트 후 다시 마운트를 시켜보니, 작업했던 내용이 사라져있는걸 발견한적이 있었다.
당시 상황은 디스크는 exFat 이였고 사용했던 컴퓨터는 macOS Sierra였다.
무엇이 잘못된건지는 모르겠지만 어쨋든 자료를 날린셈이였다.
파일을 옮기려 할때, mv a b 해버린다면, 결국 사본없이 원본이 b 단독으로만 존재하는 상황이 나와버린다. 이때 b 가 문제가 생긴다면 자료를 날리는셈이다.
그래서 파일을 카피해서 a와 b 를 둘다 남긴 후, 충분한 검증을 통해 자료가 안전하다고 확인된 상황에서 a 를 날리는 것이다.
이 방법에서 조금 부족한 점
ls -alR 로는 파일사이즈까지는 알 수 있지만, 실제 파일의 내용을 알 수는 없다.
ab, ac 는 엄연히 다른데이터이지만 용량은 둘다 2, 2 이다 그래서 이 경우 같다고 판단한다.
'컴퓨터 사용 방법' 카테고리의 다른 글
Windows Subsystem for Linux 에 Pillow 설치하기 (0) | 2017.10.06 |
---|---|
파일 해시값을 바탕으로 중복파일 제거하기 및 이에 따른 파일관리 요령 (0) | 2017.10.05 |
파일을 안전하게 옮기기 (0) | 2017.10.02 |
아무것도 모르는 상태에서 코딩(프로그래밍) 경험해보기 #4 - 반복작업 while (0) | 2017.10.01 |
아무것도 모르는 상태에서 코딩(프로그래밍) 경험해보기 #3 - console.log() 에 대해 (0) | 2017.10.01 |
아무것도 모르는 상태에서 코딩(프로그래밍) 경험해보기 #2 - boolean 에 대해 (1) | 2017.10.01 |