Linux에서 파일 및 디렉토리 이름을 바꾸는 방법

Linux에서 파일 및 디렉토리 이름을 바꾸는 방법

2022-06-01 last update

7 minutes reading rename terminal mv
파일 이름 바꾸기는 Linux 시스템에서 자주 수행해야 하는 가장 기본적인 작업 중 하나입니다.GUI 파일 관리자를 사용하거나 명령줄 터미널에서 파일 이름을 바꿀 수 있습니다.명단의 파일 이름을 바꾸는 것은 매우 쉽지만, 동시에 여러 파일의 이름을 바꾸는 것은 도전일 수 있다. 특히 Linux 초보자들에게는 그렇다.이 강좌에서 mvrename 명령을 사용하여 파일과 디렉터리의 이름을 바꾸는 방법을 보여 드리겠습니다.

mv 명령을 사용하여 파일 이름 바꾸기

mv command
(이동의 줄임말) 파일의 이름을 바꾸거나 파일을 한 위치에서 다른 위치로 이동하는 데 사용됩니다.mv 명령의 문법은 다음과 같다.
mv [OPTIONS] source destination
source은 한 개 이상의 파일이나 디렉터리일 수 있고, destination은 하나의 파일이나 디렉터리일 수 있다.
  • 여러 파일을 source으로 지정하면 destination은 디렉토리여야 합니다.이 경우 source 파일을 대상 디렉토리로 이동합니다.
  • 단일 파일을 source으로 지정하고 destination의 대상이 기존 디렉터리라면 이 파일은 지정된 디렉터리로 이동합니다.
  • 파일의 이름을 바꾸려면 하나의 파일을 source으로 지정하고 하나의 파일을 destination 목표로 지정해야 합니다.
  • 예를 들어, file1.txt 파일의 이름을 file2.txt으로 바꾸려면 다음과 같이 실행할 수 있습니다.
    mv file1.txt file2.txt

    mv 명령을 사용하여 여러 파일 이름 바꾸기

    mv 명령은 한 번에 하나의 파일만 이름을 바꿀 수 있지만 다른 명령(예를 들어 find )과 결합하여 사용할 수 있습니다.
    또는 bash내 for
    또는 while
    여러 파일의 이름을 바꾸기 위해 순환합니다.다음 예제에서는 Bash for 순환을 사용하여 .html 확장자를 .html으로 변경하여 현재 디렉토리의 모든 .php 파일의 이름을 바꾸는 방법을 보여 줍니다.
    for f in *.html; do
        mv -- "$f" "${f%.html}.php"
    done
    
    은 코드를 한 줄씩 분석합니다.
  • 첫 번째 줄은 for 순환을 만들고 .html을 경계로 하는 모든 파일의 목록을 훑어봅니다.
  • 두 번째 줄은 목록의 모든 항목에 적용되고 파일을 새로운 항목으로 이동하여 .html.php으로 바꿉니다.부품 ${file%.html} 사용 shell parameter expansion
    파일 이름에서 .html 부분을 삭제합니다.
  • done은 순환 구간의 끝을 나타낸다.
  • 여기에는 mvfind을 조합하여 상기 기능을 실현하는 예가 있습니다.
    find . -depth -name "*.html" -exec sh -c 'f="{}"; mv -- "$f" "${f%.html}.php"' \;
    
    find 명령은 .html 옵션을 사용하여 현재 디렉터리에서 mv으로 끝난 모든 파일을 -exec에 하나씩 전달합니다.문자열 {}은 현재 처리 중인 파일의 이름입니다.위의 예시에서 보듯이 mv 명령을 사용하여 여러 파일의 이름을 바꾸는 것은 쉽지 않다. 왜냐하면 Bash 스크립트에 대해 잘 알아야 하기 때문이다.

    rename 명령을 사용하여 파일 이름 바꾸기

    rename 명령은 여러 파일의 이름을 바꾸는 데 사용됩니다.이 명령은 정규 표현식의 기본 지식이 필요하기 때문에 mv보다 더 고급입니다.rename 명령에는 두 가지 다른 문법의 버전이 있습니다.이 강좌에서는 rename 명령의 Perl 버전을 사용합니다.시스템에 이 버전이 설치되어 있지 않으면 릴리스의 패키지 관리자를 사용하여 쉽게 설치할 수 있습니다.
  • Ubuntu에 rename, Debian
    sudo apt install rename
  • CentOS에 rename, Fedora
    sudo yum install prename
  • Arch Linux
    yay perl-rename ## or yaourt -S perl-rename
  • rename 명령을 설치하는 문법은 다음과 같습니다.
    rename [OPTIONS] perlexpr files
    
    rename 명령은 지정된 rename에 따라 files 이름을 바꿉니다.정규 표현식.perl 정규 표현식 here에 대한 더 많은 정보를 읽을 수 있습니다
    . 다음 예제에서는 perlexpr으로 확장된 모든 파일을 .html으로 변경합니다.
    rename 's/.html/.php/' \*.html
    옵션을 사용하면 이름을 바꾸지 않고 이름을 바꿀 파일의 이름을 인쇄할 수 있습니다.
    rename -n 's/.html/.php/' \*.html
    의 출력은 다음과 같습니다. (adsbygoogle = window.adsbygoogle | | []).푸시({});
    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)
    
    기본적으로 .php 명령은 기존 파일을 덮어쓰지 않습니다.-n 옵션을 사용하여 기존 파일을 다시 쓸 수 있도록 전달:
    rename -f 's/.html/.php/' \*.html
    다음은 rename 명령을 사용하는 방법에 대한 일반적인 예시입니다.
  • 파일 이름의 공백을 밑줄로 바꾸기
    rename 'y/ /\_/' \*
  • 파일 이름을 소문자
    rename 'y/A-Z/a-z/' \*
  • 으로 바꾸기-frename 명령을 사용하여 파일 이름을 바꾸는 방법을 보여 드렸습니다. mv 과 같은 다른 파일 이름 바꾸기 명령도 Linux에 있습니다.
    . 명령줄의 위협을 받는 새 Linux 사용자는 GUI 대량 이름 바꾸기 도구를 사용할 수 있습니다. 예를 들어 Métamorphose
    .질문이나 피드백이 있으면 언제든지 의견을 발표하십시오.