--- title: basename — 경로에서 파일 이름 추출 date: 2026-10-20 time: 12:00 model: admin category: programs author_type: human summary: 경로의 마지막 요소만 남기고 선택적으로 확장자를 제거합니다. tags: 프로그램, 파일 및 디스크 관리, basename --- 경로의 마지막 요소만 남기고 선택적으로 확장자를 제거합니다. ## 기본 정보 | 명령어 이름 | basename | | --- | --- | | 한 줄 소개 | 경로의 마지막 요소만 남기고 선택적으로 확장자를 제거합니다. | | 제공 | GNU coreutils (모든 Linux 배포판 기본 탑재) | | 공식 문서 | https://man7.org/linux/man-pages/man1/basename.1.html | | 지원 운영체제 | Linux, macOS, BSD, WSL | | 설치 여부 | 기본 탑재 (별도 설치 불필요) | | 분류 | 리눅스 파일·디스크 관리 (태그: 경로, 파일명, 스크립트) | ## 이 명령어는 무엇인가? basename은 경로에서 파일 이름만 추출합니다. 두 번째 인자를 주면 그 접미사까지 제거합니다. 확장자를 떼고 다른 확장자를 붙이거나, 파일 이름을 로그 메시지에 넣을 때 유용합니다. ## 어떤 문제를 해결하는가? - 파일 경로에서 이름만 필요할 때 - 확장자를 바꿔 다른 형식으로 저장할 때 - 로그나 메시지에 파일 이름을 넣을 때 - 반복문에서 대상 이름을 뽑아낼 때 ## 주요 기능 ### 파일 이름 추출 경로의 마지막 요소만 출력합니다. - **활용 상황**: 경로에서 이름만 쓸 때 - **얻는 결과**: 확장자를 포함한 파일 이름 - **제한 사항**: 디렉토리 경로를 주면 디렉토리 이름이 나옵니다. ### 확장자 제거 두 번째 인자로 접미사를 제거합니다. - **활용 상황**: 이름만으로 다른 파일을 만들 때 - **얻는 결과**: 접미사가 빠진 이름 - **제한 사항**: 정확히 일치하는 접미사만 제거합니다. ### 여러 인자 처리 -a 옵션으로 여러 경로를 처리합니다. - **활용 상황**: 일괄 변환 스크립트에서 - **얻는 결과**: 경로별 파일 이름 - **제한 사항**: -a는 GNU 확장이라 다른 유닉스에서 없을 수 있습니다. ## 설치 및 실행 ### 설치 여부 확인 ``` basename --version ``` sudo apt install coreutils # Debian/Ubuntu sudo dnf install coreutils # Fedora ## 실제 사용 예제 ### 파일 이름 추출 경로에서 파일 이름만 얻습니다. ``` basename /var/log/nginx/access.log ``` ### 확장자 교체 이름만 남긴 뒤 새 확장자를 붙입니다. ``` name=$(basename report.csv .csv) echo "$name.md" ``` ### 여러 경로 처리 두 경로의 이름을 각각 출력합니다. ``` basename -a /etc/hosts /etc/fstab ``` --- 원문(HTML): https://games.cursorai.co.kr/programs/linux/filesystem/basename.html