여러 파일의 이름을 바꾸는 쉘 스크립트를 작성했습니다. 안타깝게도 실수로 Windows EOL로 저장했기 때문에 각 파일 끝에 있는 control-m 문자가 파일 이름을 엉망으로 만들었습니다.
또 다른 실수를 저질렀을 때 개별적으로 이름을 바꾸었습니다.
mv abc\ -\ 123.dat^M abc\ -\ 123.da
이름 끝에 "t"가 누락되어 있고 파일이 여전히 존재하는지 확인하지 않은 것을 발견한 후(의심할 이유가 없었음) 신속하게 다음을 수행했습니다.
mv *.da *.dat
내 파일이 사라졌습니다. 오류도 없습니다.
무엇을 기대해야 할지 아는 사람 있나요?
저는 CentOS 6을 실행 중이고 OS FS는 ext4이며 이 문제가 발생하는 RAID 어레이의 FS는 XFS입니다.
고마워요, E.
답변1
질문에 대한 답변은 댓글에 있지만 댓글에 답변하려면 형식이 필요합니다. mv
기존 파일은 기본적으로 대체되지만(차단됨 -i
) 쓰기 가능하지 않은 경우에는 대체되지 않습니다( -f
덮어쓰기).
대상이 존재합니까? 대상이 존재합니다. 명령이 존재하지 않으며 쓸 수 있지만 쓸 수 없습니다. mv -i 프롬프트 프롬프트 생성 mv create REPLACE 프롬프트 mv -f 대체 교체 생성