리눅스 명령어 · 2 min read · Sep 17, 2025
리눅스 basename 명령어 튜토리얼 초보자를 위한 (예제 포함)

가끔 명령줄에서 작업할 때(특히 셸 스크립트를 다룰 때) 파일 이름만 필요할 수 있지만, 제공되는 것은 파일의 전체 경로입니다. 따라서 요구 사항은 경로의 디렉토리 구성 요소를 제거하는 것입니다.
리눅스의 basename 명령어는 파일 또는 디렉토리 경로의 기본 이름을 추출하는 데 사용되는 유틸리티로, 선행 디렉토리 구성 요소와 선택적 접미사를 효과적으로 제거합니다. 전체 경로가 제공되면 basename은 파일 이름 또는 경로의 마지막 세그먼트만 반환하므로 스크립트 및 파일 조작 작업에 유용합니다. 예를 들어, 경로 /home/user/document.txt가 주어지면 basename은 document.txt를 반환합니다. 또한 사용자는 제거할 접미사(예: .txt)를 지정할 수 있으며, 이 경우 document만 남습니다. 이 명령어는 스크립트에서 파일 이름과 경로를 처리하는 것을 간소화하여 자동화를 향상시키고 다양한 파일 관리 프로세스를 간소화합니다.
이 튜토리얼에서는 이해하기 쉬운 예제를 사용하여 ‘basename’의 기본 사항을 설명합니다. 그러나 그 전에 여기의 모든 예제가 Ubuntu 24.04 LTS 머신에서 테스트되었다는 점을 언급할 가치가 있습니다.
리눅스 basename 명령어 설명
basename 명령어는 필요하지 않은 파일 이름의 구성 요소를 제거할 수 있게 해줍니다. 다음은 도구의 구문입니다:
basename NAME [SUFFIX]
basename OPTION... NAME...그리고 man 페이지에서 다음과 같이 설명합니다:
basename - strip directory and suffix from filenames
Print NAME with any leading directory components removed. If specified, also remove a trailing
SUFFIX.다음은 basename 명령어가 어떻게 작동하는지에 대한 좋은 아이디어를 제공할 Q&A 스타일의 예제입니다.
Q1. basename 명령어는 어떻게 작동하나요?
기본적으로, 파일에 대한 전체 경로를 입력으로 사용하여 ‘basename’ 명령어를 실행하면, 명령어는 출력으로 파일 이름을 반환합니다. 예를 들어, 다음 명령어를 실행했을 때:
basename /home/himanshu/Downloads/analytics.pdf다음과 같은 출력을 얻었습니다:
analytics.pdfQ2. basename은 여러 입력을 처리할 수 있나요?
네, 가능합니다. 하지만 이를 위해서는 -a 명령줄 옵션을 사용해야 합니다. 예를 들어, 다음 명령어를 실행했을 때:
basename -a /home/himanshu/Downloads/analytics.pdf /home/himanshu/Pictures/test.png그리고 다음과 같은 출력을 얻었습니다:
analytics.pdf
test.pngQ3. basename이 파일 확장자도 제거하도록 하려면 어떻게 하나요?
가끔 파일 이름만 가져오고 싶지만 확장자는 원하지 않을 수 있습니다. 이는 -s 명령줄 옵션을 사용하여 수행할 수 있습니다(접미사를 입력으로 전달해야 함).
예를 들어, 다음 명령어:
basename -s .pdf /home/himanshu/Downloads/analytics.pdf다음과 같은 출력을 생성했습니다:
analyticsQ4. 각 줄의 출력이 NUL로 끝나도록 하려면 어떻게 하나요?
기본적으로 출력에서 줄 바꿈 문자가 구분자로 사용됩니다. 그러나 원한다면 basename이 NUL을 구분자로 사용하도록 강제할 수 있습니다. 이는 -z 명령줄 옵션을 사용하여 수행할 수 있습니다.
예를 들어:
basename -az /home/himanshu/Downloads/analytics.pdf /home/himanshu/Pictures/test.png그리고 다음과 같은 출력이 있습니다:
analytics.pdftest.png여기서 NUL 문자는 보이지 않습니다. 출력을 파일로 리디렉션한 다음 vim과 같은 편집기에서 파일을 열어야 합니다. vim에서 보여준 내용은 다음과 같습니다:

결론
보시다시피, basename은 매우 기능이 풍부한 명령어는 아닙니다 - 옵션이 제한적이며, 여기에서 논의된 대부분의 옵션이 이 튜토리얼에서 다루어졌습니다. 이러한 연습을 마친 후에는 도구의 man 페이지로 가서 더 많은 정보를 알아보세요.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.