리눅스를 웹서버 또는 데스크탑 운영체제로 사용하면서 파일명을 개별 변경, 또는 일괄 변경해야 하는 경우가 생기는데 다음과 같은 요령으로 파일명을 변경할 수 있습니다.
튜토리얼 환경 : 우분투 16.04
목차
MV를 이용한 파일명, 확장자 변경
리눅스 명령어인 mv는 move의 약자로 기본적으로는 파일 및 디렉토리를 다른 경로로 이동하는 역할을 하는데 파일명과 확장자, 디렉토리 이름을 바꿀수도 있는 기능을 하고 있습니다.
syntax
# mv 파일명(디렉토리명) 변경할 파일명(디렉토리명)
예제
# mv img01.jpg img02.jpg
img01.jpg를 img02.jpg로 파일명을 변경
# mv img03.jpg img04.png
img03.jpg를 img04.png로 확장자를 변경
# mv /root/abc /root/xyz
abc 디렉토리를 xyz로 이름 변경
RENAME을 이용한 여러 파일 일괄 변경
같은 디렉토리 하위의 파일들의 이름이나 확장자를 일괄적으로 변경할때 rename 명령어를 사용하며 정규 표현식을 지원하기 때문에 활용도가 높습니다.
syntax
# rename 's/파일명/변경할파일명/' 대상 파일 필터
예제
# rename 's/img/picture/' *.png # ls
파일명이 img로 시작하고 png 확장자를 가진 파일을 picture로 변경
# rename 's/linux/qwerty/g' * # ls
linux으로 시작하는 파일명을 qwery로 변경, /g 옵션을 붙이지 않을 경우 앞의 linux만 치환되지만 /g 옵션을 붙일 경우에는 첫번째 이후 이름에도 적용됩니다.
# rename 's/.png/.jpg/' * # ls
png 확장자를 jpg로 변경하는 예제입니다. .을 붙이는 이유는 위의 예제와 같이 파일명에 확장자와 같은 이름이 들어있으면 먼저 치환이 되기 때문에 정확하게 확장자라는 것을 명시하기 위해서 입니다.