mv 커맨드는 아규먼트로 파일이나 디렉토리 경로 두 개를 받는다.

첫번째 경로는 작업할 대상의 경로, 두번째 경로는 이동할 목적지 또는 변경할 이름이다.

여기서 두번째 경로가 이미 존재하는 디렉토리의 경로일 경우 디렉토리 안으로 이동되고 그렇지 않으면 이름이 변경된다.

  • mv [원본 파일 이름] [바뀔 파일 이름]
  • mv [원본 디렉토리 이름] [바뀔 디렉토리 이름]
  • mv [이동할 디렉토리 이름] [이동할 디렉토리가 도착할 디렉토리 이름]
  • mv [옮길 디렉토리의 부모 디렉토리/옮기고자 하는 디렉토리] [옮기는 위치]
  •  

이미 존재하는 파일의 이름 바꾸기

reports $ ls
Jul  Aug  Sep

$ cd Sep /* sep 디렉토리로 이동 */
$ ls /* Sep 디렉토리의 리스트 확인 */
finances.txt    performane.txt

/* performane.txt를 performane2.txt 파일로 변경해주자 */
$ mv performane.txt performane2.txt 
/* performane.txt = 작업할 대상, performane2.txt = 변경할 이름 */

$ ls 
finances.txt    performane2.txt

이미 존재하는 디렉토리의 이름 바꾸기

Sep $ cd ..
/* 한단계 위에 있는 부모 디렉토리로 이동 */
$ ls
/* 부모 디렉토리로 이동한 뒤 리스트 확인 */
Jul  Aug  Sep

$ mv Sep Oct
/* 이미 있는 Sep이라는 디렉토리를 Oct로 이름 변경 */
$ ls
Jul  Aug  Oct

디렉토리 옮기기

$ mv Jul Aug
/* Jul 디렉토리를 Aug 디렉토리 안으로 이동한다는 뜻 */
$ ls
Aug  Oct

$ ls Aug
Jul  finance.txt  performance.txt

옮긴 디렉토리 다시 꺼내오기

$ ls
Aug  Oct

$ ls Aug
Jul  finance.txt  performance.txt

$mv Aug/Jul .
/* Aug디렉토리 안에 있는 Jul디렉토리를 .(현재위치)로 옮기겠다 */

$ ls
Aug  Jul  Oct

$ ls Aug
finance.txt  performance.txt /* Jul 디렉토리 사라짐 */

+주의사항

mv 커맨드는 똑같은 이름의 파일이 목적지에 있을 경우 아.묻.따 덮어쓴다.

$ ls
reports  warning

$ cd warning
/* warning 디렉토리로 이동 */

warning $ ls /* 리스트 확인 */
test1.txt  test2.txt

$ cat test1.txt /* test1.txt 파일의 안을 전체 다 보여줘 */
test file 1%
$ cat test2.txt
test file 2%

$ mv test1.txt test2.txt
/*test1 파일을 test2 파일에 덮어쓴다.*/

$ ls
tset2.txt

$ cat test2.txt
test file 1%
/* tset1의 파일이 덮어써지면서 안에 test2에 있던 내용이 test1의 내용으로 덮어써졌다. */

이런 현상을 방지하고 싶다면 i(interactive)옵션을 활용하면 된다. 만약 충돌이 있으면 사용자에게 어떻게 할 것인지를 묻는 것.

$ touch test1.txt /* test1 파일 생성 */
$ ls /* 리스트 확인 */
test1.txt  test2.txt

$ mv -i test1.txt test2.txt /* i 옵션을 사용해서 mv 커맨드 사용 */
overwrite test2.txt? (y/n [n])
/* 파일을 덮어쓸 것인지 묻는 멘트가 출력 덮어쓰려면 y, 취소는 n을 입력하자 */

overwrite test2.txt? (y/n [n]) n /* 덮어쓰기 취소 */
not overwritten /* 덮어쓰지 않았다. */

$ ls
test1.txt  test2.txt

mv 커맨드를 안전하게 사용하고 싶다면 i 옵션을 꼭 활용하자

'코린이 개념잡기 > 유닉스 커맨드' 카테고리의 다른 글

복사, 붙여넣기, 삭제 :cp, rm  (0) 2024.12.08
파일 내용 살펴보기  (0) 2024.12.07
CLI 텍스트 에디터 : Vim  (1) 2024.12.07
디렉토리와 파일 생성하기  (0) 2024.12.07
필수 디렉토리  (1) 2024.12.07

+ Recent posts