기계적 인조 인간

리눅스에서 파일과 디렉토리의 이름을 바꾸는 방법

In the Clinic with Dr. A Jean Ayres| The Sensory Processing Disorder Foundation

In the Clinic with Dr. A Jean Ayres| The Sensory Processing Disorder Foundation

차례:

Anonim

파일 및 디렉토리 이름 바꾸기는 Linux 시스템에서 수행해야하는 가장 기본적인 작업 중 하나입니다.

단일 파일의 이름을 바꾸는 것은 쉽지만, 한 번에 여러 파일의 이름을 바꾸는 것은 특히 Linux를 처음 사용하는 사용자에게는 어려울 수 있습니다. GUI 파일 관리자를 사용하거나 명령 행 터미널을 통해 파일 이름을 바꿀 수 있습니다.

이 자습서에서는 mv rename 명령을 사용하여 파일 및 디렉토리의 이름을 바꾸는 방법을 보여줍니다.

mv 명령으로 파일 이름 바꾸기

mv 명령 (이동에서 짧음)은 파일의 이름을 바꾸거나 한 위치에서 다른 위치로 파일을 이동하는 데 사용됩니다. mv 명령의 구문은 다음과 같습니다.

mv source destination

source 는 하나 이상의 파일 또는 디렉토리 일 수 있으며 destination 은 단일 파일 또는 디렉토리 일 수 있습니다.

  • 여러 파일을 source 로 지정하면 destination 은 디렉토리 여야합니다. 이 경우 source 파일이 대상 디렉토리로 이동됩니다. 단일 파일을 source 로 지정하고 destination 대상이 기존 디렉토리 인 경우 파일이 지정된 디렉토리로 이동됩니다. 파일 이름을 바꾸려면 파일 이름을 지정해야합니다. 단일 파일은 source 이고 단일 파일은 대상입니다.

예를 들어, file1.txt 파일의 이름을 file2.txt 로 바꾸려면 file1.txt 을 실행하십시오.

mv file1.txt file2.txt

mv 명령으로 여러 파일 이름 바꾸기

mv 명령은 한 번에 하나의 파일 이름 만 바꿀 수 있지만 find 또는 inside bash for 또는 while 루프와 같은 다른 명령과 함께 사용하여 여러 파일의 이름을 바꿀 수 있습니다.

다음 예제는 Bash for 루프를 사용하여 .html 확장자를 .php 로 변경하여 현재 디렉토리의 모든 .html 파일의 이름을 바꾸는 방법을 보여줍니다.

for f in *.html; do mv -- "$f" "${f%.html}.php" done

코드를 한 줄씩 분석해 봅시다:

  • 첫 번째 줄은 for 루프를 만들고 .html 테두리가있는 모든 파일 목록을 반복합니다. 두 번째 줄은 목록의 각 항목에 적용되며 .html .php 바꾸는 새 파일로 파일을 이동합니다. ${file%.html} 부분은 shell 매개 변수 확장을 사용하여 filename.done에서 .html 부분을 ​​제거합니다. 루프 세그먼트의 끝을 나타냅니다.

mv 명령을 find 와 함께 사용하여 위와 동일한 결과를 얻을 수도 있습니다.

find. -depth -name "*.html" -exec sh -c 'f="{}"; mv -- "$f" "${f%.html}.php"' ;

find 명령은 -exec 스위치를 사용하여 현재 디렉토리에서 .html 로 끝나는 모든 파일을 mv 명령으로 하나씩 전달합니다. 문자열 {} 은 현재 처리중인 파일의 이름입니다.

위의 예에서 볼 수 있듯이 mv 명령을 사용하여 여러 파일의 이름을 바꾸는 것은 Bash 스크립팅에 대한 충분한 지식이 필요하므로 쉬운 작업이 아닙니다.

rename 명령으로 파일 이름 바꾸기

rename 명령은 여러 파일의 이름을 바꾸는 데 사용됩니다. 이 명령은 정규식에 대한 기본 지식이 필요하기 때문에 mv 보다 고급입니다.

구문이 다른 rename 명령에는 두 가지 버전이 있습니다. 이 튜토리얼에서는 perl 버전의 rename 명령을 사용합니다. 시스템에이 버전이 설치되어 있지 않은 경우 배포판의 패키지 관리자를 사용하여 쉽게 설치할 수 있습니다.

  • 우분투와 데비안에서 설치 이름 바꾸기

    sudo apt install rename

    CentOS 및 Fedora에 설치 이름 변경

    sudo yum install prename

    Arch Linux에서 이름 바꾸기 설치

    yay perl-rename ## or yaourt -S perl-rename

rename 명령의 구문은 다음과 같습니다.

rename perlexpr files

rename 명령은 지정된 perlexpr 정규식에 따라 모든 files rename 을 바꿉니다. 여기에서 펄 정규 표현식에 대해 할 수 있습니다.

예를 들어 다음 명령은 확장자가 .html 모든 파일을 .php 변경합니다.

rename 's/.html/.php/' *.html

-n 인수를 사용하여 이름을 바꾸지 않고 이름을 바꿀 파일 이름을 인쇄 할 수 있습니다.

rename -n 's/.html/.php/' *.html

결과는 다음과 같습니다.

rename(file-90.html, file-90.php) rename(file-91.html, file-91.php) rename(file-92.html, file-92.php) rename(file-93.html, file-93.php) rename(file-94.html, file-94.php)

기본적으로 rename 명령은 기존 파일을 덮어 쓰지 않습니다. 기존 파일을 -f 쓰려면 -f 인수를 전달하십시오.

rename -f 's/.html/.php/' *.html

다음은 rename 명령을 사용하는 방법에 대한 몇 가지 일반적인 예입니다.

  • 파일 이름의 공백을 밑줄로 바꿉니다.

    rename 'y/ /_/' *

    파일 이름을 소문자로 변환

    rename 'y/AZ/az/' *

    파일 이름을 대문자로 변환

    rename 'y/az/AZ/' *

결론

이제 mv rename 명령을 사용하여 파일의 이름을 바꾸는 방법에 대해 잘 알고 있어야합니다. 물론 Linux에서 mmv 와 같은 파일 이름을 바꾸는 다른 명령이 있습니다. 명령 행에 위협을받는 새로운 Linux 사용자는 Métamorphose와 같은 GUI 배치 이름 바꾸기 도구를 사용할 수 있습니다.

mv 터미널 이름 바꾸기