Linux 파일/명령어 찾기

LinuxBeginner
지금 연습하기

소개

Linux 시스템에서 파일과 명령어를 효율적으로 찾는 것은 모든 사용자에게 필수적인 기술입니다. 명령줄 (command line) 에서 작업할 때, 프로그램이 어디에 설치되어 있는지, 문서에 어떻게 접근하는지, 또는 설정 파일이 어디에 저장되어 있는지 자주 찾아야 합니다.

이 랩 (lab) 은 Linux 에서 명령어의 바이너리 파일, 소스 코드 및 매뉴얼 페이지를 찾는 데 도움이 되는 강력한 유틸리티인 whereis 명령에 중점을 둡니다. 이 명령을 효과적으로 사용하는 방법을 배우면, Linux 파일 시스템을 더욱 자신감 있게 탐색하고 생산성을 향상시킬 수 있습니다.

이 랩을 통해 whereis 명령을 사용하여 Linux 명령어의 다양한 구성 요소를 찾는 여러 가지 방법을 배우게 되며, Linux 여정에서 유용한 실용적인 기술을 습득하게 될 것입니다.

이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 초급 레벨의 실험이며 완료율은 96%입니다.학습자들로부터 100%의 긍정적인 리뷰율을 받았습니다.

whereis 명령어 이해하기

Linux 의 whereis 명령어는 명령어의 바이너리, 소스 및 매뉴얼 페이지 파일을 찾도록 설계되었습니다. 이는 프로그램이 어디에 설치되어 있는지 또는 문서가 어디에 저장되어 있는지 찾아야 할 때 특히 유용합니다.

whereis 명령어가 어떻게 작동하는지 살펴보겠습니다. 먼저, 프로젝트 디렉토리에 있는지 확인합니다.

cd ~/project

whereis 명령어를 더 잘 이해하기 위해, 도움말 정보를 살펴보겠습니다.

whereis --help

whereis 명령어와 함께 사용할 수 있는 다양한 옵션을 보여주는 다음과 유사한 출력을 볼 수 있습니다.

Usage:
 whereis [options] [-BMS <dir>... -f] <name>...

Locate the binary, source, and manual page files for a command.

Options:
 -b         search only for binaries
 -B <dirs>  define binaries lookup path
 -m         search only for manuals and infos
 -M <dirs>  define man and info lookup path
 -s         search only for sources
 -S <dirs>  define sources lookup path
 -f         terminate <dirs> argument list
 -u         search for unusual entries
 -l         output effective lookup paths

For more details see whereis(1).

이 출력은 whereis가 명령어의 바이너리 (실행 파일), 소스 파일 및 매뉴얼 페이지를 찾는 데 사용될 수 있음을 설명합니다. 또한 검색을 세분화하는 데 사용할 수 있는 다양한 옵션을 보여줍니다.

whereis 로 바이너리 실행 파일 찾기

Linux 에서 바이너리 실행 파일은 명령줄에서 실행할 수 있는 컴파일된, 실행 준비가 된 프로그램입니다. 이러한 파일은 일반적으로 /usr/bin, /bin, 또는 /usr/local/bin과 같은 디렉토리에 저장됩니다.

whereis 명령어를 사용하여 일반적으로 사용되는 몇 가지 Linux 명령어의 위치를 찾아보겠습니다.

먼저, 파일에서 패턴 검색에 사용되는 grep 명령어의 바이너리를 찾아보겠습니다.

whereis grep

다음과 유사한 출력을 볼 수 있습니다.

grep: /usr/bin/grep /usr/share/man/man1/grep.1.gz

이 출력은 두 가지 중요한 정보를 알려줍니다.

  • grep의 바이너리 실행 파일은 /usr/bin/grep에 있습니다.
  • grep의 매뉴얼 페이지는 /usr/share/man/man1/grep.1.gz에 있습니다.

바이너리 실행 파일만 찾고 매뉴얼 페이지나 소스 파일은 찾지 않으려면 -b 옵션을 사용할 수 있습니다.

whereis -b grep

출력은 바이너리 위치만 표시합니다.

grep: /usr/bin/grep

이제 디렉토리 내용을 나열하는 데 사용되는 또 다른 일반적인 명령어인 ls의 위치를 찾아보겠습니다.

whereis ls

다음과 유사한 출력을 볼 수 있습니다.

ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz

이는 ls 명령어의 바이너리가 /usr/bin/ls에 있고 매뉴얼 페이지가 /usr/share/man/man1/ls.1.gz에 있음을 보여줍니다.

whereis 명령어는 이러한 파일을 찾기 위해 미리 정의된 경로를 검색합니다. 이러한 경로는 일반적으로 Linux 가 바이너리, 매뉴얼 페이지 및 소스 파일을 저장하는 표준 위치를 포함합니다.

whereis 로 매뉴얼 페이지 찾기

매뉴얼 페이지 (man page) 는 Linux 에서 명령어 및 프로그램에 대한 문서를 제공합니다. 여기에는 명령어를 사용하는 방법, 사용 가능한 옵션 및 일반적인 사용 예제에 대한 자세한 정보가 포함되어 있습니다.

whereis 명령어는 -m 옵션을 사용하여 이러한 매뉴얼 페이지를 찾는 데 도움이 됩니다. 다양한 명령어의 매뉴얼 페이지를 찾는 방법을 살펴보겠습니다.

먼저, 디렉토리 계층에서 파일을 검색하는 데 사용되는 find 명령어의 매뉴얼 페이지를 찾아보겠습니다.

whereis -m find

다음과 유사한 출력을 볼 수 있습니다.

find: /usr/share/man/man1/find.1.gz

이는 find 명령어의 매뉴얼 페이지가 /usr/share/man/man1/find.1.gz에 있음을 보여줍니다.

Linux 의 매뉴얼 페이지는 일반적으로 /usr/share/man 디렉토리에 저장되며, 번호가 매겨진 섹션으로 구성됩니다.

  • 섹션 1: 사용자 명령어 (실행 가능한 프로그램 또는 쉘 명령어)
  • 섹션 2: 시스템 호출 (커널에서 제공하는 함수)
  • 섹션 3: 라이브러리 호출 (프로그램 라이브러리 내의 함수)
  • 섹션 4: 특수 파일 (일반적으로 /dev 에서 찾을 수 있음)
  • 섹션 5: 파일 형식 및 규칙
  • 섹션 6: 게임
  • 섹션 7: 기타
  • 섹션 8: 시스템 관리 명령어

가장 일반적으로 사용되는 명령어는 섹션 1 에 매뉴얼 페이지가 있으며, 이것이 파일 이름이 .1.gz (섹션 1 의 압축 파일) 로 끝나는 것을 자주 볼 수 있는 이유입니다.

사용자 암호를 변경하는 데 사용되는 passwd 명령어의 매뉴얼 페이지를 찾아보겠습니다.

whereis -m passwd

다음과 유사한 출력을 볼 수 있습니다.

passwd: /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz

passwd가 두 개의 다른 섹션에 매뉴얼 페이지를 가지고 있음을 알 수 있습니다. 명령어 자체에 대한 섹션 1 과 암호 파일 형식에 대한 섹션 5 입니다.

man 명령어와 명령어 이름을 차례로 사용하여 이러한 매뉴얼 페이지에 직접 액세스할 수 있습니다.

man find

읽기를 마쳤으면 q를 눌러 매뉴얼 페이지 뷰어를 종료합니다.

whereis 로 소스 파일 찾기

소스 파일은 바이너리 실행 파일을 컴파일하는 데 사용되는 원본 코드 파일입니다. whereis 명령어는 시스템에서 이러한 소스 파일을 사용할 수 있는 경우 해당 파일의 위치를 찾는 데에도 도움이 될 수 있습니다.

소스 파일을 검색하려면 whereis와 함께 -s 옵션을 사용합니다. 몇 가지 일반적인 명령어의 소스 파일을 찾아보겠습니다.

whereis -s ls

시스템 구성에 따라 출력이 표시되지 않거나 다음과 유사한 출력을 볼 수 있습니다.

ls:

이는 ls의 소스 파일이 시스템의 표준 위치에서 사용할 수 없음을 나타냅니다. 이는 Linux 배포판의 많은 사전 설치된 프로그램에서 일반적인 현상이며, 소스 코드가 기본적으로 포함되지 않기 때문입니다.

일부 프로그램, 특히 소스 또는 개발 도구에서 컴파일하는 프로그램은 시스템에서 소스 파일을 사용할 수 있습니다. gcc (GNU C Compiler) 와 같은 다른 명령어를 시도해 보겠습니다.

whereis -s gcc

다시 말하지만, 출력은 시스템에 따라 다릅니다. 다음과 유사한 출력을 볼 수 있습니다.

gcc: /usr/lib/gcc

이는 gcc와 관련된 소스 파일이 /usr/lib/gcc 디렉토리에서 발견될 수 있음을 나타냅니다.

-s 옵션은 미리 정의된 위치에서 소스 파일을 찾고 있으며, 시스템에서 소스 코드를 저장할 수 있는 모든 위치를 포함하지 않을 수 있다는 점에 유의해야 합니다. 또한, Linux 배포판의 많은 프로그램은 바이너리 패키지에서 설치되므로 소스 코드가 로컬에 없을 수 있습니다.

명령어와 관련된 파일이 있는 위치에 대한 보다 포괄적인 보기를 얻기 위해 여러 옵션을 결합해 보겠습니다. 예를 들어, python에 대한 모든 바이너리, 매뉴얼 및 소스 파일을 찾으려면 다음을 수행합니다.

whereis python

이는 시스템에서 python 관련 파일에 대한 사용 가능한 모든 위치를 표시해야 하며, 여러 바이너리, 매뉴얼 페이지 및 소스 디렉토리가 포함될 수 있습니다.

옵션 조합 및 여러 명령어 동시 검색

whereis 명령어는 파일을 검색하는 방법에 유연성을 제공하며, 한 번에 여러 명령어를 검색하는 데 사용할 수 있습니다. 이 마지막 단계에서는 다양한 옵션을 결합하고 단일 쿼리에서 여러 명령어를 검색하는 방법을 살펴보겠습니다.

먼저, 여러 옵션을 결합하여 검색을 구체화해 보겠습니다. 예를 들어, tar 명령어에 대한 바이너리 파일과 매뉴얼 페이지를 모두 찾고 싶지만 소스 파일은 찾고 싶지 않은 경우:

whereis -b -m tar

다음과 유사한 출력을 볼 수 있습니다.

tar: /usr/bin/tar /usr/share/man/man1/tar.1.gz

이는 tar 명령어에 대한 바이너리 및 매뉴얼 페이지 위치를 모두 보여줍니다.

또한 단일 whereis 쿼리에서 여러 명령어를 검색할 수 있습니다. 이는 여러 관련 명령어를 한 번에 찾아야 할 때 유용합니다. cp, mv, rm의 세 가지 명령어에 대한 위치를 찾아보겠습니다.

whereis cp mv rm

다음과 유사한 출력을 볼 수 있습니다.

cp: /usr/bin/cp /usr/share/man/man1/cp.1.gz
mv: /usr/bin/mv /usr/share/man/man1/mv.1.gz
rm: /usr/bin/rm /usr/share/man/man1/rm.1.gz

이는 시스템에서 이 세 가지 일반적인 파일 조작 명령어가 어디에 있는지 빠르게 파악할 수 있게 해줍니다.

또 다른 유용한 옵션은 -l로, whereis가 파일을 검색할 때 검색하는 디렉토리를 나열합니다.

whereis -l

이렇게 하면 whereis가 바이너리 파일, 매뉴얼 페이지 및 소스 파일을 확인하는 디렉토리 목록이 표시됩니다. 출력은 시스템 구성에 따라 다르지만 다음과 유사할 수 있습니다.

bin: /usr/bin
bin: /usr/sbin
bin: /usr/games
bin: /usr/local/bin
bin: /usr/local/sbin
man: /usr/man/all
man: /usr/share/man/all
man: /usr/local/man/all
man: /usr/local/share/man/all
src: /usr/src/linux
src: /usr/src/packages
src: /usr/local/src
...

이 정보는 whereis가 어디를 검색하고 있는지, 그리고 시스템에 파일이 존재하더라도 특정 파일을 찾지 못할 수 있는 이유를 이해하는 데 유용합니다.

whereis 명령어는 Linux 시스템에서 명령어와 관련된 중요한 파일을 빠르게 찾는 방법입니다. 몇 가지 제한 사항 (미리 정의된 경로에서만 검색하는 등) 이 있지만, 사용 중인 명령어에 대한 바이너리 실행 파일, 매뉴얼 페이지, 경우에 따라 소스 파일을 찾는 빠르고 간단한 방법을 제공합니다.

요약

이 랩에서는 Linux 에서 whereis 명령어를 사용하여 시스템의 명령어와 관련된 중요한 파일을 찾는 방법을 배웠습니다. 다음은 수행한 작업에 대한 요약입니다.

  1. whereis 명령어의 기본 구문과 옵션을 배웠습니다.
  2. whereis를 사용하여 명령어에 대한 바이너리 실행 파일을 찾았습니다.
  3. -m 옵션을 사용하여 매뉴얼 페이지를 찾는 방법을 배웠습니다.
  4. -s 옵션을 사용하여 소스 파일을 찾는 방법을 탐색하고, 그 제한 사항을 이해했습니다.
  5. 옵션을 결합하고 여러 명령어를 한 번에 검색하는 연습을 했습니다.

whereis 명령어는 Linux 툴킷에서 유용한 도구로, 프로그램이 설치된 위치와 해당 문서가 있는 위치를 빠르게 찾을 수 있습니다. 이 지식을 통해 Linux 파일 시스템을 보다 효율적으로 탐색하고 시스템에서 소프트웨어가 구성되는 방식을 이해할 수 있습니다.

Linux 여정을 계속 진행하면서 which (PATH 에서 실행 파일만 찾는 명령어), locate (데이터베이스를 사용하여 이름으로 모든 파일을 찾을 수 있는 명령어), find (다양한 기준을 사용하여 파일을 검색할 수 있는 명령어) 와 같은 관련 명령어도 탐색할 수 있습니다. 이러한 각 명령어는 고유한 강점과 사용 사례를 가지고 있으며, whereis에 대해 배운 내용을 보완합니다.