웹사이트 검색

초보자를 위한 Linux dirname 명령 설명(예제 4개)


이 페이지에서

  1. Linux dirname 명령
  2. Q1. dirname 명령은 어떻게 작동합니까?\n
  3. Q2. 여러 입력을 처리할 수 있습니까?\n
  4. Q3. 파일 이름이 절대 이름이면 어떻게 됩니까?
  5. Q4. 출력 라인에서 개행을 NUL로 바꾸는 방법은 무엇입니까?\n
  6. 결론

당신은 새로운 리눅스 사용자입니까? 작업에 쉘 스크립팅이 포함되어 있습니까? 이 두 질문에 대한 답변이 '예'라면 여기에서 잘 논의되고 있는 도구가 관심을 가질 것입니다. 도구의 이름은 dirname이며 절대 파일 이름에서 마지막 구성 요소를 제거해야 하는 상황에서 주로 사용됩니다.

이 자습서에서는 dirname의 기본 사항과 사용 방법에 대해 설명합니다. 그러나 그렇게 하기 전에 여기에 언급된 모든 예제/지침이 Ubuntu 22.04 LTS에서 테스트되었음을 공유할 가치가 있습니다.

리눅스 dirname 명령

다음은 dirname 명령의 일반 구문입니다.

dirname [OPTION] NAME...

도구 매뉴얼 페이지에서 설명하는 방법은 다음과 같습니다.

Output each NAME with its last non-slash component and trailing slashes removed; if NAME contains 
no  /'s,  output  '.'  (meaning  the  current directory).

다음 Q&A 유형의 예는 도구 사용 방법에 대한 더 나은 아이디어를 제공합니다. 새 디렉토리로 변경하려면 cd 명령을 사용하십시오.

Q1. dirname 명령은 어떻게 작동합니까?

이 도구의 기본 사용법은 매우 간단합니다. 명령 이름과 파일의 절대 이름을 입력하면 됩니다. 출력에는 파일 이름을 제외한 전체 디렉터리 트리가 표시됩니다.

예를 들면 다음과 같습니다.

Q2. 여러 입력을 처리할 수 있습니까?

물론이죠. 절대 파일 이름을 차례로 전달하기만 하면 됩니다. 다음 예는 이를 충분히 명확하게 보여줍니다.

Q3. 파일 이름이 절대 이름이면 어떻게 됩니까?

입력이 단순히 파일 이름(디렉토리 트리가 포함된 절대 이름이 아님)이면 출력에 점(.)이 생성됩니다.

명령에 대한 매뉴얼 페이지 설명(처음에 언급됨)을 다시 보면 이 동작이 명확하게 언급되어 있습니다.

Q4. 출력 라인에서 개행을 NUL로 바꾸는 방법은 무엇입니까?

기본적으로 출력의 줄은 위의 Q&A 2에서 알 수 있듯이 개행으로 구분됩니다. 그러나 원하는 경우 대신 NUL 문자로 구분된 출력 행을 가질 수 있습니다. 이를 위해 -z 명령줄 옵션을 사용합니다.

작동 중인 이 명령줄 옵션의 스크린샷은 다음과 같습니다.

출력 라인이 더 이상 개행으로 구분되지 않았는지 확인하십시오.

결론

dirname 명령은 다른 Linux 명령만큼 기능이 풍부하지 않을 수 있지만 쉘 스크립트로 작업하는 동안 시간을 절약할 수 있는 멋진 도구라고 말하는 것이 잘못이 아닙니다. 여기서 논의한 내용은 도구가 제공하는 거의 모든 것입니다. 의심이나 질문이 있는 경우 아래에 의견을 남겨주십시오.