UNIX에서는 파일명 변경을 mv말고 다른걸로 하나요?

나는오리의 이미지

얼마전 있었던 일입니다.

Quote:
그 : 오리씨 서버에 접속해서 내가 불러주는데로 해주세요.
나 : 네
그 : 어쩌고 저쩌고...음...파일명 변경하는게 뭐더라...
나 : mv입니다.
그 : 그건 파일 옮기는거고
나 : mv로 변경 안되나요?unix는 다른가요?(hp 서버였는데 제가 unix를 써본적이 거의 없어서 -_-; 혹시나 싶어서 물어봤습니다.)
그 : 응~unix는 명령어가 좀 달라
나 : ㅡ.,ㅡ;;;
그 : 그럼 고전적인 방법으로 하죠. foo.abc를 foo.def로 복사하고
foo.abc를 지운뒤에 foo.xyz를 foo.abc로 복사하고
foo.xyz를 지우세요.
나 : -_-;;;(이때까지는 바보같이 따라했다. 혹시나 잘못되면 하는생각에...)
그 : (일 다 끝난후)네 이제 됐어요. 수고했어요.
나 : 네...수고하세요.
(전화 끊은 후 급한불 다 꺼졌으니 파일을 하나 말들어서 테스트해본다)
> mv fool.abc fool.xyz
> ls
...
fool.xyz
...

제기랄 ㅡ.ㅡ;;;

설마 ren이나 rename같은 명령어가 있나요?
전 지금까지 dos는 ren *nix는 mv라고만 생각했었는데...
제가 잘못알고있는건가요?

망치의 이미지

당하셨군요 -_-;; 저도 궁금합니다...

음.. 전 도스에서도 move 를 생각하고 있었는데.. 생각해보니 ren을 썼었군요.. 이젠 헷갈려라 -_;

---------------------------------------
http://www.waitfor.com/
http://www.textmud.com/

ydhoney의 이미지

낚인거죠.

kyang2의 이미지

고전적인 방법이군요 :lol:

신이 있다고 가정하지 않는 한, 삶의 목적에 대한 질문은 무의미하다. -B. 러셀, 철학자

jachin의 이미지

제대로 낚이셨군요. mv가 안된다니... 그런 쌩뚱맞은...

kirrie의 이미지

mv라는 명령어 자체가 '복사한다 => 이전꺼 지운다' 하는 식으로 동작하는거 아닌가요?

--->
데비안 & 우분투로 대동단결!

returnet의 이미지

kirrie wrote:
mv라는 명령어 자체가 '복사한다 => 이전꺼 지운다' 하는 식으로 동작하는거 아닌가요?

오히려 "(위치를 포함한) 이름을 변경 한다" 는 액션을 "복사한다 & 이전껀 지운다" 의 개념으로 표현하는 걸로 알고 있습니다. 미디어가 다르다면 물론 복사하고 지우지만 미디어(라기보다 파티션?)가 같은 경우에는 (위치를 포함한) 이름 변경이 당연하겠지요.

도스에서도 그랬고 윈도에서도 그렇고 유닉스 계열도 마찬가지가 아닌가 하는.. 뭐 사용자의 입장에서야 그렇든 말든 같은 드라이브에서는 이동(또는 잘라붙이기)가 빠르게 되드라.. 정도로 생각해도 상관 없겠지만요.

ren.. 은 정말 써본지 오래되었군요 : )

perky의 이미지

옛날 버전의 유닉스들에서는 mv로 다른 디바이스로 파일을 옮길 수가 없었습니다. (원어로 cross-device rename)
따라서, 그것과 혼돈하고 말씀하신 것으로 볼 수도 있습니다. 물론 같은 디렉토리에서 파일 이름을 바꾸기 위해서는 당연히 mv를 쓸 수 있죠.

You need Python

나는오리의 이미지

perky wrote:
옛날 버전의 유닉스들에서는 mv로 다른 디바이스로 파일을 옮길 수가 없었습니다. (원어로 cross-device rename)
따라서, 그것과 혼돈하고 말씀하신 것으로 볼 수도 있습니다. 물론 같은 디렉토리에서 파일 이름을 바꾸기 위해서는 당연히 mv를 쓸 수 있죠.
그런일도 있었군요.
하지만 동일 디렉토리 내에서의 파일명 변경이었습니다. OTL
그리고 제가봤을때 그정도까지 지식을 가지고 있는 과장!으로는 안보였습니다.
ydhoney의 이미지

그나저나..

파일/디렉토리의 구조 정도는 기본적으로 아셔야 mv가 되는 과정도 보이겠죠? ^^

뭐 굳이 파일시스템까지는 몰라도 됩니다. ^^