리눅스 터미널에서 `basename` 명령어는 전체 경로에서 마지막 파일 또는 디렉터리 이름 부분만 분리해 출력합니다. 셸 스크립트에서 경로를 다룰 때 특히 유용합니다.
처음에는 기본 문법과 대표 예제부터 익힌 뒤 필요한 옵션을 하나씩 추가하면 어렵지 않게 활용할 수 있습니다.
basename 명령어란?
전체 경로에서 마지막 파일 또는 디렉터리 이름 부분만 분리해 출력합니다. 셸 스크립트에서 경로를 다룰 때 특히 유용합니다.
명령어를 실행해도 실제 출력은 리눅스 배포판, 설치된 버전, 현재 사용자 권한과 작업 경로에 따라 달라질 수 있습니다.
기본 문법
```bash
basename 경로 [제거할접미사]
```
대괄호로 표시된 부분은 일반적으로 선택 사항입니다. 실제 명령어를 입력할 때 대괄호 자체를 입력하지는 않습니다.
파일 이름만 추출하기
```bash
basename /home/user/docs/report.txt
```
전체 경로에서 report.txt만 출력합니다.
확장자 제거하기
```bash
basename /home/user/docs/report.txt .txt
```
접미사 .txt를 제거해 report만 출력합니다.
여러 경로 처리하기
```bash
basename -a /tmp/a.txt /var/log/app.log
```
여러 경로에서 각각 마지막 이름을 출력합니다.
자주 사용하는 옵션과 표현
옵션 또는 표현 기능
`-a` 여러 인수를 각각 처리
`-s SUFFIX` 지정한 접미사 제거
`-z` 결과 끝을 줄바꿈 대신 NUL 문자로 처리
옵션은 한 번에 여러 개를 조합할 수 있지만, 명령어마다 결합 방식이 다를 수 있습니다.
설치된 버전이 지원하는 옵션은 다음과 같이 도움말에서 확인할 수 있습니다.
```bash
basename --help
```
더 자세한 설명서가 설치되어 있다면 매뉴얼 페이지를 확인합니다.
```bash
man basename
```
초보자가 주의할 점
basename은 실제 파일의 존재 여부를 확인하지 않고 문자열만 처리합니다. 결과가 나왔다고 해당 파일이 반드시 존재하는 것은 아닙니다.
특히 파일 변경, 삭제, 권한 조정, 프로세스 종료 또는 시스템 설정과 관련된 명령어는 실행 전에 대상과 현재 상태를 조회하는 명령으로 먼저 확인하는 것이 안전합니다.
간단한 실습 방법
중요한 시스템 파일 대신 홈 디렉터리 아래에 연습용 디렉터리를 만들고 예제를 실행해 보세요.
```bash
mkdir -p ~/linux-practice
cd ~/linux-practice
pwd
```
실습이 끝난 뒤에는 생성된 파일과 명령 결과를 직접 확인합니다. 관리자 권한이 필요한 예제는 개인 실습 환경에서도 의미를 이해한 뒤 실행하세요.
마무리
`basename` 명령어의 기본 형태와 대표 옵션을 익혀두면 경로에서 파일 이름만 추출하기 작업을 터미널에서 빠르게 처리할 수 있습니다.
처음에는 다음 대표 예제를 직접 실행해 결과를 확인해 보세요.
```bash
basename /home/user/docs/report.txt
```
익숙해진 뒤 시스템에 설치된 도움말과 `man` 문서를 참고해 필요한 옵션을 확장하면 됩니다.
#리눅스 #Linux #리눅스명령어 #basename #터미널 #리눅스초보 #서버명령어