리눅스 rename 명령어란?
리눅스 rename 명령어란?
리눅스 기본 명령어 rename은 파일 이름을 변경하는 명령어입니다. 흔히 파일 및 디렉토리의 이름을 변경할 때 사용하는 mv 명령어를 사용하지만 rename의 명령어는 규칙적인 이름을 가진 파일들을 와일드카드를 이용해 일괄 변경할 수 있는 장점이 있고 확장자의 변경도 가능합니다.
리눅스 rename 사용법
✔ 리눅스 rename 명령어 사용법
$ rename [options] expression replacement file...
rename [옵션] [표현(적용할범위)] [교체할문자] [파일]
root@server # ls -l
-rw-r--r-- 1 root root 24 Aug 11 14:36 apple
root@server # rename apple banana apple
root@server # ls -l
-rw-r--r-- 1 root root 24 Aug 11 14:36 banana
리눅스 rename 예제
✔ rename 예제 - 파일 이름 변경하기
root@server # ls -l
-rw-r--r-- 1 root root 24 Aug 11 14:36 test1
root@server # rename test1 test2 test1
root@server # ls -l
-rw-r--r-- 1 root root 24 Aug 11 14:36 test2
$ rename test1 test2 test1
리눅스 rename 명령어로 test1 파일을 test2로 파일 이름을 변경하는 예제입니다.
✔ rename 예제 - 파일 이름 일부만 변경하기
root@server # ls -l
-rw-r--r-- 1 root root 24 Aug 11 14:36 test2
root@server # rename test file test2
root@server # ls -l
-rw-r--r-- 1 root root 24 Aug 11 14:36 file2
$ rename test file test2
리눅스 rename 명령어로 test2 파일 이름의 test를 file로 변경하는 예제입니다.
✔ rename 예제 -규칙성 있는 파일 전체 변경
root@server # ls -l
-rw-r--r-- 1 root root 0 Aug 11 15:24 file1
-rw-r--r-- 1 root root 0 Aug 11 15:24 file2
-rw-r--r-- 1 root root 0 Aug 11 15:24 file3
-rw-r--r-- 1 root root 0 Aug 11 15:24 file4
-rw-r--r-- 1 root root 0 Aug 11 15:24 file99
root@server # rename file file0 file?
root@server # ls -l
-rw-r--r-- 1 root root 0 Aug 11 15:24 file01
-rw-r--r-- 1 root root 0 Aug 11 15:24 file02
-rw-r--r-- 1 root root 0 Aug 11 15:24 file03
-rw-r--r-- 1 root root 0 Aug 11 15:24 file04
-rw-r--r-- 1 root root 0 Aug 11 15:24 file99
$ rename file file0 file?
리눅스 rename 명령어로 file1~5의 파일의 숫자 한 자릿수를 앞에 0을 붙여 숫자를 두 자릿수로 만드는 예제입니다. rename의 명령어 파일 자리에 file?의 물음표의 의미는 한 자릿수를 의미하여 file뒤에 붙은 한자리수의 파일전체를 의미합니다.
리눅스 와일드카드의 물음표 한자리는 한자리수를 나타내며 두자리는 ??, 세자리는 ???입니다. 또한 와일드카드의 *의 의미는 한자리 이상을 포함한 모두를 나타내는 의미입니다.
✔ rename 예제 - 와일드카드 *
root@server # ls -l
-rw-r--r-- 1 root root 0 Aug 11 15:31 file0001
-rw-r--r-- 1 root root 0 Aug 11 15:31 file001
-rw-r--r-- 1 root root 0 Aug 11 15:31 file01
-rw-r--r-- 1 root root 0 Aug 11 15:31 file1
root@server # rename file file11 file??
root@server # ls -l
-rw-r--r-- 1 root root 0 Aug 11 15:31 file0001
-rw-r--r-- 1 root root 0 Aug 11 15:31 file001
-rw-r--r-- 1 root root 0 Aug 11 15:31 file1
-rw-r--r-- 1 root root 0 Aug 11 15:31 file1101
root@server # rename file file99 file*
root@server # ls -l
-rw-r--r-- 1 root root 0 Aug 11 15:31 file990001
-rw-r--r-- 1 root root 0 Aug 11 15:31 file99001
-rw-r--r-- 1 root root 0 Aug 11 15:31 file991
-rw-r--r-- 1 root root 0 Aug 11 15:31 file991101
$ rename file file11 file??
리눅스 rename 명령어로 file01의 파일을 file1101로 변경하는 예제입니다.
$ rename file file99 file*
리눅스 rename 명령어로 file로 시작하는 모든 파일을 file99로 시작하는 파일로 모두 변경하는 예제입니다.
리눅스 rename 옵션
번호 | 옵션 | long옵션 | 설명 |
1 | -v | --verbose | 파일 이름이 변경되면 화면에 출력합니다. |
2 | -V | --version | rename 명령어의 버전을 출력합니다. |
3 | -s | --symlink | 심볼릭링크 대상의 파일의 이름을 변경합니다. |
4 | -h | --help | rename 명령어의 사용법을 출력합니다. |
리눅스 rename 옵션 사용법
$ rename -v 옵션
root@server # ls -l
-rw-r--r-- 1 root root 0 Aug 0 15:44 test1
root@server # rename -v test1 apple1 test1
`test1' -> `apple1'
root@server # rename --verbose apple1 file1 apple1
`apple1' -> `file1'
root@server # ls -l
-rw-r--r-- 1 root root 0 Aug 0 15:44 file1
rename -v 옵션은 verbose의 약자로 파일 이름이 변경되면 파일이 변경되었다는 메시지가 출력이 됩니다. 만약 rename -v 옵션을 사용하는 중 파일이 존재하지 않거나 파일명이 잘못되었을 때는 메시지가 출력되지 않습니다.
$ rename -v 옵션
root@server # rename -V
rename from util-linux 2.23.2
root@server # rename --version
rename from util-linux 2.23.2
rename -V 옵션은 version의 약자로 rename 명령어의 버전을 출력하는 명령어입니다.
$ rename -s 옵션
root@server # ls -l
-rw-r--r-- 1 root root 0 Aug 0 15:54 test1
root@server # cat test1
This is a test file.
root@server # ln -s test1 test2
root@server # ls -l
-rw-r--r-- 1 root root 0 Aug 0 15:54 test1
lrwxrwxrwx 1 root root 0 Aug 0 15:56 test2 -> test1
root@server # cat test2
This is a test file.
root@server # rename -s test test0 test2
root@server # ls -l
-rw-r--r-- 1 root root 0 Aug 0 15:54 test1
lrwxrwxrwx 1 root root 0 Aug 0 15:56 test2 -> test01
root@server # cat test2
cat: test2: No such file or directory
rename -s 옵션은 symlink의 약자로 심볼릭 링크의 대상의 이름을 변경하는 옵션입니다. test1 파일은 "This is a test file"이 저장되어 있고 test2가 test1을 바라볼 수 있게 심볼릭 링크를 ln 명령어로 생성하였습니다. 이후 rename -s 옵션을 이용하여 test2의 내용을 변경하려고 했지만 바라보고 있는 test1의 대상의 파일 이름이 변경되어 test2는 파일을 열 수가 없는 상황이 되었습니다. rename -s 옵션은 잘 사용하지 않으며 흔히 mv를 이용해 심볼릭 링크 파일을 변경하지만 링크를 새로 생성하거나 rename으로 다시 원상복구를 하여 파일을 복구할 수 있습니다.
$ rename -h 옵션
root@server # rename -h
Usage:
rename [options] expression replacement file...
Options:
-v, --verbose explain what is being done
-s, --symlink act on symlink target
-h, --help display this help and exit
-V, --version output version information and exit
For more details see rename(1).
root@server # rename --help
Usage:
rename [options] expression replacement file...
Options:
-v, --verbose explain what is being done
-s, --symlink act on symlink target
-h, --help display this help and exit
-V, --version output version information and exit
For more details see rename(1).
rename -h 옵션은 help의 약자로 rename 명령어의 사용법을 출력합니다.
'IT > 리눅스 명령어' 카테고리의 다른 글
리눅스 column 명령어 옵션 총정리 - 파일 출력 정렬(열 정렬) (4) | 2022.10.29 |
---|---|
리눅스 script 명령어 사용법 리눅스 실시간 터미널 로그 남기기 (54) | 2022.08.14 |
리눅스 uname 명령어 옵션 시스템 정보, 커널 정보 확인하기 (52) | 2022.08.12 |
리눅스 tee 명령어 사용법 및 옵션 총정리 - 리눅스 기본 명령어 (42) | 2022.07.07 |
리눅스 기본 명령어 cut 사용법 및 옵션 총정리 - 문자열 자르기 (45) | 2022.07.02 |
댓글