새로운 리눅스 운영 체제에 익숙하지 않으신가요? 그렇다면 파일 및 폴더 이름을 변경하는 것과 같은 일반 작업은 예전과 다를 수 있습니다. 하지만 걱정하지 마세요. 리눅스에서 파일 이름을 변경하는 개념은 다른 운영 체제에서 하는 방식과 유사합니다.
이 튜토리얼에서는 리눅스에서 단일 및 여러 파일의 이름을 바꾸는 다양한 방법을 GUI 및 터미널에서 명령을 실행하여 배우게 됩니다.
시작해 봅시다!
필수 사항
이 튜토리얼을 따라하기 위해 다음 사항이 준비되어 있는지 확인하십시오:
- 이 튜토리얼은 Ubuntu 18.04 LTS를 사용하지만 다른 리눅스 배포판도 작동합니다.
- sudo/관리자 액세스 권한이 있는 계정.
파일 관리자를 사용하여 리눅스에서 파일 이름 변경하기
GUI를 통해 파일을 관리하는 데 익숙하다면 파일 관리자를 사용하여 파일 이름을 변경하는 튜토리얼을 시작해 보겠습니다. GUI 파일 관리자는 파일을 명확하게 볼 수 있어 편리합니다. 리눅스에서 사용할 수 있는 그 중 하나는 GNOME의 이전 파일 관리자인 Nautilus입니다. 이 튜토리얼에서는 Nautilus 파일 관리자를 사용하여 파일 이름을 변경하는 방법을 보여줍니다.
Linux의 다른 파일 관리자는 Konqueror, Dolphin, Krusader, Thunar, Nemo 파일 관리자, 그리고 Sunflower 파일 관리자입니다. 이러한 파일 관리자들은 동일한 작업을 수행하지만 파일 또는 디렉터리의 이름을 변경하는 방법이 약간 다를 수 있습니다.
터미널을 열고 아래 명령을 실행하여 아직 시스템에 설치되어 있지 않은 경우 apt
패키지 관리자를 사용하여 Nautilus를 설치하십시오. sudo
명령은 sudo/관리자 권한으로 명령을 실행합니다.
단일 파일 이름 변경
Nautilus에서 단일 파일의 이름을 변경하는 것은 Windows 파일 탐색기와 비슷한 몇 번의 클릭만으로 가능합니다.
파일을 다시 이름 지정하려면 Nautilus를 열고 이름을 바꾸려는 파일에 마우스 오른쪽 버튼을 클릭한 다음 아래에 표시된대로 이름 바꾸기를 선택하십시오.
이 예제는 파일 이름을 바꾸는 데 중점을 두지만, 파일과 디렉터리 모두의 이름을 바꾸는 프로세스는 동일합니다.

이제 새 파일 이름을 입력하여 원래 파일 이름을 대체하고 Enter 키를 누르거나 이름 바꾸기를 클릭하면 끝입니다.

Nautilus 파일 관리자를 사용하여 여러 파일의 이름 바꾸기
Windows와 마찬가지로 Ubuntu에서는 한 번에 여러 파일의 이름을 바꿀 수 있는 더 많은 옵션이 제공됩니다.
여러 파일의 이름을 바꾸려면 바꾸려는 모든 파일을 선택하고 그 중 하나를 마우스 오른쪽 버튼으로 클릭한 다음 이름 바꾸기를 선택하십시오. 팝업 창이 나타나면 선택한 파일을 어떻게 바꿀지 선택할 수 있습니다.

아래에서는 선택한 파일을 어떻게 바꾸려는지에 따라 선택할 수 있는 두 가지 옵션이 있습니다.
- 템플릿을 사용하여 이름 바꾸기 – 이를 통해 파일을 증분으로 이름을 바꿀 수 있습니다.
- 텍스트 찾아 바꾸기 – 파일 이름에서 특정 텍스트를 찾아 바꿀 수 있습니다.
템플릿을 사용하여 파일 이름 바꾸기
템플릿을 사용하여 파일의 이름을 바꾸려면 템플릿을 사용하여 이름 바꾸기 옵션을 선택하십시오.
이제 빈 필드에 대체 이름을 입력하고 +추가 버튼을 클릭하고 템플릿을 선택하십시오. 이 튜토리얼에서는 첫 번째 템플릿 (1,2,3,4)을 선택하고 이름 바꾸기를 클릭하십시오. 이 옵션은 대체 파일 이름(Text1, Text2, …) 뒤에 증가하는 숫자를 추가합니다.

알림: 파일 이름이 텍스트로 변경되었음을 주의하세요.

파일 이름에서 단어 찾아 바꾸기
특정 파일 이름으로 여러 파일의 이름을 변경하려면 텍스트 찾아 바꾸기 옵션을 선택하세요.
기존 텍스트 필드에 텍스트를 입력하고 바꿀 텍스트 필드에 대체할 텍스트를 입력한 다음 이름 바꾸기를 클릭하여 텍스트를 대체하세요. 이 옵션은 파일 이름에서 특정 텍스트를 찾아 바꿉니다.

이제 각 파일 이름에서 “텍스트”를 “파일”로 바꾼 것을 아래에서 확인할 수 있습니다.

mv
명령을 사용하여 파일 이름 변경
GUI에서 탐색하는 대신 명령을 실행하는 것이 좋은 경우 파일을 터미널에서 어떻게 이름을 변경하는지 배우세요. 리눅스 터미널에서 파일 이름 변경은 PowerShell과 같은 다른 명령줄 환경에서 하는 것과 유사합니다. 명령을 실행하여 원래 파일 이름을 대상 파일 이름으로 바꿉니다.
파일 이름을 바꾸는 두 가지 시나리오가 있습니다. 첫 번째는 작업 디렉터리에서 파일의 이름을 변경하는 것이고, 두 번째는 전체 경로를 지정하는 것입니다. 파일을 이름을 바꾸려면 아래의 mv
명령 구문을 살펴보세요. 여기서 source
는 원래 이름이고 destination
은 대체 이름입니다.
mv
명령을 사용하여 단일 파일 이름 바꾸기
mv 명령어 구문이 여전히 기억에 신선한 동안, 단일 파일 이름을 변경해 보겠습니다.
단일 파일 및 디렉터리 이름을 변경하는 방법을 보여드리겠습니다:
1. 터미널을 실행한 다음 아래 명령어 시리즈를 실행하여 디렉터리 및 두 개의 텍스트 파일을 생성합니다.
2. 이제 ls
명령어를 실행하여 작업 디렉터리 내의 파일 목록을 확인합니다. 아래에서 file1.txt 및 file2.txt가 ~/test 디렉터리에 존재하는 것을 확인할 수 있습니다.

3. 다음 중 하나의 mv
명령어를 실행하여 file1.txt
을 file10.txt
으로 이름을 바꿉니다.
디렉터리 이름 변경은 파일 이름 변경과 동일합니다. 예:
mv ~/test ~/demo
.~
기호는 홈 디렉터리를 나타냅니다.
4. 마지막으로 ls
명령어를 다시 실행하여 작업 디렉터리의 파일 목록을 확인합니다.
아래에서 file1.txt가 이제 file10.txt으로 이름이 변경된 것을 확인할 수 있습니다.

For 루프를 사용하여 여러 파일 이름 변경
다른 작업에 너무 바쁘고 한 번에 모든 파일 이름을 변경하려면 아래와 같은 for 반복문을 사용해야 합니다.
아래 코드를 그대로 복사하여 터미널에 붙여넣고 Enter 키를 누르십시오. 아래 코드는 작업 디렉토리의 각 텍스트 파일을 스캔하고 “File” 다음에 증가하는 번호가 붙은 이름으로 파일의 이름을 변경합니다.
코드를 터미널에 붙여넣기만 해도 잘 작동하지만, 좋은 습관으로, 대신 실행할 스크립트 파일을 만드는 것이 더 좋습니다.
아래에서는 코드가 모든 파일의 이름을 변경하는 방법을 실제로 볼 수 있습니다.

Linux에서 rename
유틸리티로 파일 이름 변경
만약 일상 생활에서 단일 파일의 이름을 바꾸려면, mv
명령어를 사용하면 됩니다. 그러나 한 번에 동일한 패턴을 가진 여러 파일의 이름을 변경하려고 합니까? 예를 들어, 특정 단어(file)로 시작하는 파일의 이름을 바꾸는 경우입니다. 그렇다면, 대신 rename 유틸리티를 설치하세요.
rename 유틸리티를 사용하면 여러 파일의 이름을 변경하고 파일 이름 형식을 변경하며 파일을 덮어쓸 수 있습니다.
rename 유틸리티를 설치하려면, 작업 중인 Linux 배포판에 따라 아래 명령 중 하나를 실행하십시오.
아래에 rename
명령어 구문을 볼 수 있습니다.
여러 파일의 이름 바꾸기
rename
명령어 구문을 이해하면 동일한 패턴을 가진 파일의 이름을 바꿀 수 있습니다. rename
명령어의 좋은 점은 “For Loop를 사용하여 여러 파일의 이름을 변경하는 방법” 섹션에서 한 것처럼 여러 파일의 이름을 변경하기 위해 루프 함수를 선언할 필요가 없다는 것입니다.
아마도 특정 단어가 포함된 파일 이름을 바꾸고 싶으실 것입니다. 그렇다면 아래 예시 명령어의 Perl 정규 표현식 ('s/file/myfile/'
)을 살펴보세요. Perl 정규 표현식은 Perl 프로그래밍 언어를 기반으로 문자열 패턴을 정의합니다.
다른 파일이 잘못된 이름으로 변경되지 않도록 하려면 아래와 같이 -n
옵션을 추가하여 변경 전에 모든 영향을 받는 파일을 나열하세요.

이제 작업 디렉토리나 ~/test/*.txt
디렉토리 내의 각 텍스트 파일 이름에서 단어 file
을 myfile
로 바꾸기 위해 아래 rename
명령어 중 하나를 실행하세요.
Perl 표현식('s/file/myfile/'
)에서 s
는 치환을 나타내며, 이는 파일 이름을 변경하는 것을 의미합니다. 명령어가 어떤 파일을 이름을 변경했는지를 반환하기 위해 -v
옵션이 추가되었음에 유의하세요.
아래에서 각 텍스트 파일의 “file” 단어가 “myfile”로 바뀐 것을 볼 수 있습니다.

rename
Command 모든 파일 이름을 바꾸려면 파일 경로를 지정할 때 파일 확장자를 제거하세요. 예를 들어,
rename -v 's/file/myfile/' ~/test/*
파일 확장자 변경
rename
명령어는 파일 이름뿐만 아니라 파일 확장자도 변경합니다. 잘못된 파일 확장자를 가진 파일을 만들었을 수 있습니다. 그 경우 rename
명령어를 실행할 때 Perl 표현식으로 변경할 파일 확장자를 지정해야 합니다.
~/test
디렉토리에 있는 모든 파일의 확장자를 .txt
에서 .html
로 변경하려면 아래의 rename
명령어를 실행하십시오. Perl 표현식 내의 $
기호는 문자열의 끝(.txt
)을 각 파일 이름에 일치시키므로 명령어는 .txt
파일 확장자만 변경합니다. 여러 파일의 이름을 변경할 때와 마찬가지로 명령어가 수행한 각 변경 사항을 나열하려면 -v
옵션을 추가하십시오.
대신에 모든 파일 확장자를 제거하려면 Perl 표현식 내의 대체 문자열을 제거하십시오. 다음과 같이:
rename -v 's/.txt$//' *.txt
아래 이미지에서 볼 수 있듯이, .txt 확장자가 .html로 변경되었습니다.

파일 이름을 대문자 또는 소문자로 변경
잘못된 파일 확장자 대신에 파일 이름이 소문자로 되어 있거나 그 반대의 경우일 수 있습니다. 대문자로 특정 파일을 찾으려고 할 때 파일 이름이 소문자인지 모르는 경우도 있습니다.
리눅스는 대소문자를 구분하므로 각 파일 이름의 대소문자를 올바르게 설정해야 합니다. 대소문자는 기본적으로 소문자와 대문자 사이의 텍스트 구분입니다.
rename
명령어 중 하나를 실행하여 작업 디렉토리(*
)의 모든 소문자 (a-z
) 파일 이름을 대문자 (A-Z
)로 또는 그 반대로 변경하세요.
아래에서 파일 이름의 대소문자를 변경한 결과를 확인할 수 있습니다.

파일 이름에서 공백 치환 및 제거
파일 이름의 대소문자와 마찬가지로 파일 이름에 공백이 있을 경우 파일을 찾는 데 문제가 발생할 수 있습니다. 이를 해결하기 위해 공백을 문자로 대체하거나 공백을 완전히 제거하세요.
작업 디렉토리의 모든 파일 이름에서 공백을 밑줄(_
)로 대체하려면 아래의 rename
명령어를 실행하세요. 밑줄은 메타문자이므로 백슬래시(\\_
)로 이스케이프하여 밑줄을 문자 그대로 나타냅니다. 메타문자는 컴퓨터 프로그램에서 특수한 의미를 가진 특수 문자입니다.
알림: g
을 Perl 식에서 사용하면 명령이 모든 일치 항목 (공백)을 바꾸도록 지시하며 첫 번째 항목만이 아닙니다.
아래에서는 명령이 모든 공백을 언더스코어로 대체한 것을 볼 수 있습니다.

파일 이름의 모든 공백을 제거하려면 아래 명령을 실행하세요.
아래 Perl 식에서는 공백(/ *
) 다음의 별표가 파일 이름의 모든 공백이 아닌 모든 공백과 일치하고 대체 문자가 비어 있으므로 rename
명령이 모든(g
) 공백을 제거합니다.
이제 아래에서 각 파일 이름에서 모든 공백이 제거된 것을 볼 수 있습니다.

파일 이름의 각 단어의 첫 글자 대문자화
대신 파일 이름의 각 단어의 첫 글자를 대문자로 유지하려면 더 복잡한 Perl 식이 필요합니다. 아래 샘플 명령을 살펴보세요.
아래 Perl 식에서는 단어 경계(\\b
)에서 문자(\\w
)를 제외한 문자가 아닌 경우(?<![.'\\'']
)에 해당 문자를 대문자로 변환합니다(u$&
).
아래에서는 파일 이름의 각 단어가 대문자로 시작하면서 파일 확장자는 그대로인 것을 볼 수 있습니다.

결론
다이 tutorial에서는 GUI와 명령 줄 터미널을 통한 Linux 파일 이름 바꾸기의 여러 방법을 배웠습니다. 여러 파일에 대한 이름을 조작하는 방법에 대한 견고한 이해력을 얻었습니다.
왜 Linux 셸 스크립팅을 배우지 않고 Linux에서 파일 이름을 자동으로 변경하는 스크립트를 만들지 않으세요?