Bash에서 절대 경로 얻기

Abid Ullah 2023년6월20일
  1. Bash에서 절대 경로를 얻는 방법
  2. Linux에서 파일의 루트 디렉토리
  3. Linux에서 readlink 명령을 사용하여 절대 경로 가져오기
  4. Linux에서 realpath 명령을 사용하여 절대 경로 가져오기
  5. find 명령을 사용하여 Linux에서 절대 경로 얻기
Bash에서 절대 경로 얻기

이 Bash 기사에서는 Linux에서 절대 경로를 얻는 다양한 방법을 배웁니다. 또한 파일의 절대 경로를 얻기 위해 몇 가지 다른 Linux 명령을 배웁니다.

시작하기 전에 Linux 운영 체제에서 절대상대 경로의 기본 개념을 이해해야 합니다.

Bash에서 절대 경로를 얻는 방법

운영 체제의 빌딩 블록은 파일과 폴더입니다. Linux 사용자이기 때문에 여러 파일 및 디렉터리 작업을 수행합니다.

파일의 전체 경로를 찾는 것이 그러한 프로세스 중 하나입니다. 파일의 전체 경로는 절대 경로 또는 정식 경로라고도 합니다.

파일이나 폴더를 찾는 데 사용되는 주소를 경로라고 합니다. 절대 경로는 모든 위치에서 원하는 파일을 검색할 수 있는 완전한 주소 또는 위치입니다.

한편 활성 작업 디렉토리에 대한 상대 경로가 설정됩니다.

경로는 디렉토리 또는 파일에 대한 참조입니다. Linux에는 절대 경로와 상대 경로라는 두 종류의 경로가 있습니다.

현재 작업 디렉토리에 따라 상대 경로가 결정됩니다. 반면에 절대 경로는 파일이나 디렉터리의 전체 경로입니다.

Bash에는 스크립트의 전체 주소를 가져오는 몇 가지 방법이 있습니다. realpath, readlink를 사용하거나 작은 사용자 지정 스크립트를 작성할 수도 있습니다.

상대 주소를 사용하면 전체 주소를 매우 간단하게 얻을 수 있습니다.

전체 경로는 루트 디렉터리에서 명시적으로 제공됩니다. /는 어떤 것이 무엇인지 쉽게 알 수 있는 방법입니다.

상대 경로는 /.로 시작하지 않습니다. (루트 폴더). 이 기사에서는 Bash에서 스크립트의 절대 경로를 찾는 방법을 설명합니다.

이 문서에서는 파일 또는 폴더의 전체 경로를 결정하는 다양한 방법을 살펴봅니다.

Linux에서 파일의 루트 디렉토리

파일 시스템의 최상위 디렉토리는 Linux의 루트 디렉토리 또는 절대 디렉토리입니다. 루트 디렉토리는 슬래시 /로 표시됩니다.

슬래시 /로 시작하는 전체 경로를 사용하여 파일 시스템의 모든 파일 또는 디렉토리 위치를 설명할 수 있습니다.

이 전체 경로를 절대 경로라고 합니다. 즉, 파일 시스템의 루트 또는 절대 시작 부분에서 가져와야 하는 모든 단계를 알려줍니다.

cd 명령 사용

Linux 운영 체제의 cd(디렉토리 변경) 명령은 현재 작업 디렉토리를 변경하는 데 사용됩니다.

$ cd /tmp

mkdir 명령 사용

그런 다음 mkdir 명령 다음에 새 디렉토리에 지정하려는 이름을 사용합니다.

$ mkdir -p dir11/dir12/dir13/dir14/dir15

touch 명령을 사용하여 디렉토리 생성

새 디렉토리 또는 디렉토리를 생성한 후 touch 명령을 사용하여 파일을 생성, 변경 또는 수정합니다.

예제 코드:

$ touch dir11/dir12/file12.txt
$ touch dir11/dir12/dir13/dir14/file14.txt
$ touch dir11/dir12/dir13/dir14/dir15/file15.txt

코드 출력:

$ tree /tmp/dir11/
/tmp/dir11/
└── dir12
    ├── dir13
    │   └── dir14
    │       ├── dir15
    │       │   └── file15.txt
    │       └── file14.txt
    └── file12.txt

위의 예에서는 4개의 디렉토리와 3개의 파일을 생성했습니다. 절대 디렉토리는 dir11/dir12/dir13/dir14/dir15/file15.txt입니다.

Linux에서 파일의 상대 경로

절대 경로는 이해하기 쉽지만 작업하기가 불편할 수도 있습니다. 특히 깊게 중첩된 디렉터리로 작업할 때는 더욱 그렇습니다.

이것은 상대 경로가 유용한 곳입니다. 또한 위의 코드를 보면 상대 디렉토리 경로는 dir13/file12.txt입니다.

readlink 명령을 사용하여 파일의 전체 주소를 얻을 수 있습니다. readlink는 심볼릭 링크 또는 정식 파일의 경로를 캡처하는 데 자주 사용됩니다.

그러나 readlink는 상대 경로가 지정된 절대 경로를 계산할 수도 있습니다. 모든 상황에서 readlink에 플래그를 첨부해야 합니다.

이러한 경우 f 플래그가 가장 일반적으로 사용됩니다.

readlink 명령은 정식 파일 이름 목록을 반환합니다. 파일의 전체 경로를 찾으려면 이 명령의 -f 인수를 활용할 수 있습니다.

이들은 디렉토리이며 이 디렉토리에 파일이 있습니다. 필요한 파일의 절대 경로를 얻을 수 있습니다.

예제 코드:

$ cd /tmp/dir11/dir12/dir13/dir14/dir15/

경로를 얻으려는 파일 이름을 씁니다.

$ readlink -f file15.txt

파일 이름과 함께 readlink -f를 사용한 후 파일의 정확한 경로를 얻었습니다.

/tmp/dir1/dir2/dir3/dir4/dir5/file5.txt

코드 출력에서 볼 수 있듯이 원하는 파일의 절대 경로를 얻습니다.

Linux에서 realpath 명령을 사용하여 절대 경로 가져오기

대안으로 realpath 명령을 사용하여 Linux에서 파일의 절대 경로를 얻을 수 있습니다.

예제 코드:

$ cd /tmp/dir11/dir12/dir13/dir14/
$ realpath file14.txt

다음은 file14.txt 파일의 경로입니다.

/tmp/dir1/dir2/dir3/dir4/file4.txt

보시다시피 realpath 명령을 사용하여 Linux에서 원하는 파일의 절대 경로를 얻을 수 있습니다.

find 명령을 사용하여 Linux에서 절대 경로 얻기

find 명령을 사용하여 디렉토리의 구조 또는 계층 구조를 찾을 수 있습니다. Linux에서는 find 명령을 사용하여 파일의 절대 경로 또는 위치를 인쇄할 수 있습니다.

아래 코드를 사용하여 file14.txt의 절대 경로를 찾습니다.

$ cd /tmp/dir11/
$ find $PWD -type f -name file14.txt

파일 file14.txt의 절대 경로는 다음과 같습니다.

/tmp/dir11/dir12/dir13/dir14/file14.txt

위의 코드 출력에서 볼 수 있듯이 터미널에서 find 명령을 사용하여 원하는 파일의 절대 경로를 얻습니다.

이 기사가 Linux 운영 체제에서 파일의 절대 경로를 얻는 방법을 이해하는 데 도움이 되기를 바랍니다.

작가: Abid Ullah
Abid Ullah avatar Abid Ullah avatar

My name is Abid Ullah, and I am a software engineer. I love writing articles on programming, and my favorite topics are Python, PHP, JavaScript, and Linux. I tend to provide solutions to people in programming problems through my articles. I believe that I can bring a lot to you with my skills, experience, and qualification in technical writing.

LinkedIn