/usr/src 디렉토리에서
sudo mv 파일이름 /Downloads 명령어를 입력했습니다.
오류없이 /usr/src 디렉토리에서는 옮기려던 파일이 없어졌는데…
Downloads 디렉토리 가니까 없네요.
그래서…
/usr/src 디렉토리에서 다른 파일을 다시
sudo mv 파일이름 Downloads 로 하니
Downloads 디렉토리에 파일이 정상적으로 이동됐습니다.
없어진 파일은 어디로 간건가요?
/Downloads폴더를 검색해봐도 없던데 ;;
/Downloads 와 Downloads는 다른 위치일 수 있습니다.(절대 경로 vs 상대 경로)
$ pwd
$ ls -al /Downloads
$ ls -al Downloads
위 명령어의 결과 값을 비교해보세요
[quote="maphisto1":2ew7yle5]/usr/src 디렉토리에서
sudo mv 파일이름 /Downloads 명령어를 입력했습니다.
오류없이 /usr/src 디렉토리에서는 옮기려던 파일이 없어졌는데…
Downloads 디렉토리 가니까 없네요.
그래서…
/usr/src 디렉토리에서 다른 파일을 다시
sudo mv 파일이름 Downloads 로 하니
Downloads 디렉토리에 파일이 정상적으로 이동됐습니다.
없어진 파일은 어디로 간건가요?
/Downloads폴더를 검색해봐도 없던데 ;;[/quote:2ew7yle5]
이거요 재밋어요 황당하기도하구요,
예전에 프비(FreeBSD)에서 mv 로 작업하다 실수하곤 했었는데…
[code:2m4bfg3h]
mv 파일이름 /Downloads
[/code:2m4bfg3h]
조렇게 햇는데…
(최상단에 /Downloads 디렉토리가 존재하지 않으면…)
그냥 현재 위치에서 "파일이름" 이 "/Downloads" 라는 이름의 파일로 변해버리더이다…
(5분간 멘붕이 옵니다…)
이게 리눅스에선 어떻게 동작하는지 저도 참 궁금하네요;;
먼저 mv 명령의 기본은 다음과 같습니다.
mv file1 name
-> 이렇게 하면 file1이 name 부분에 입력한 이름을 가진 파일이 됩니다.
ex) mv abc def => abc라는 파일이 def라는 파일로 이름 변경
mv file1 dir1
-> 이렇게 하면 file1이 dir1 안에 들어갑니다.
ex) mv abc dir1
mv file1 file2 file3
mv file1 dir1 file2
-> 이 경우에는 에러가 발생합니다. [file3은 디렉토리가 아닙니다] 하고요.
mv file1 file2 dir1
-> 이건 file1과 file2가 dir1 안에 들어갑니다.
mv file1 file2 dir1 dir2
-> file1, file2, dir1이 dir2 안에 들어갑니다.
위의 예시가 대략적인 경우의 수 인데, 요약하자면 이렇게 됩니다.
mv [인자1] [인자2] [인자3] …
-
인자가 2개일 경우 앞의 인자가 뒤의 인자로 이름이 바뀐다.
1-1. 뒤의 인자가 디렉토리일 경우 앞의 인자는 파일/디렉토리에 상관없이 뒤의 인자 안으로 들어간다. -
인자가 3개 이상인 경우 앞의 모든 인자는 마지막 인자 안으로 옮겨진다.
2-1. 이 때, 마지막 인자가 디렉토리가 아니라면 에러가 발생하며 작업이 취소된다.
그리고 디렉토리 경로에서 /Downloads 라고 지정하셨는데, 그건 시스템 최상단에 Downloads라는 곳으로 보내라는게 됩니다.
만약에 파일 하나를 옮긴거라면 Downloads라는 이름의 파일이 되어 있을테고
디렉토리를 옮긴거라면 Downloads라는 이름의 디렉토리가 되어 있겠네요.
아마 자기 홈 디렉토리의 Downloads로 보내려고 하신거 같은데 그런 경우에는 이렇게 씁니다.
~/Downloads
~ 요 문자가 "자신의 홈 디렉토리 경로"를 줄여놓은 겁니다. 약자 같은거죠.
ex) ls ~ 라고 입력해보세요. 자신의 홈 디렉토리의 정보가 나열됩니다.