리눅스 which whereis locate: 3가지 위치(경로) 확인 명령어

리눅스 which와 whereis 명령어 명령어의 위치를 알 수 있는 명령어는 find 명령어를 이용해서 파일을 찾을 수 있지만 find 명령어는 시간이 소요되는 단점도 존재합니다. locate 명령어는 파일명을 빠르게 검색할 때 사용할 수 있습니다.

리눅스 기본 명령어 3가지에 대해 알아 보겠습니다.

  • 리눅스 검색 명령어: 위치 확인 명령어
  • which, whereis, locate

✅ 리눅스 which 명령어

‘어느’, ‘어떤’, ‘어느 쪽’의 영어 뜻을 가진 which 명령어는 명령어의 위치 or alias(별칭)의 경로를 확인해 주는 명령어입니다. 모든 명령어 실행 파일을 검색할 수 있습니다.

리눅스 which 명령어 사용 예(여러 파일 이름)
  • which 명령어
  • PATH(변수)에 등록된 경로들만 찾음
  • 기본 옵션 및 사용 방법
which [-옵션] FILE_NAME(명령어 이름)
which find
/usr/bin/find

which -a httpd
/usr/sbin/httpd
  • -a 옵션을 사용해서 파일의 모든 항목을 확인할 수 있지만 자주 사용하지 않아 큰 의미는 없습니다.
~]# which ll
 alias ll='ls -l --color=auto'
	/usr/bin/ls

~]# which -a ll
alias ll='ls -l --color=auto'
	/usr/bin/ls
/usr/bin/which: no ll in (/root/.local/bin:/root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)

✅리눅스 whereis 명령어

리눅스 whereis 명령어는 실행 파일(바이너리), 소스 파일, man 페이지 파일의 위치를 찾아주는 명령어입니다. 기본 사용 옵션은 다음과 같습니다.

whereis -옵션 FILE_NAME(명령어 이름)
  • whereis 명령어 옵션
  • whereis 명령어 사용 예
~]# whereis httpd

httpd: /usr/sbin/httpd  /usr/lib64/httpd /etc/httpd /usr/share/httpd /usr/share/man/man8/httpd.8.gz
# -b 옵션 사용 시 이진 파일과 경로가 표시됩니다. 
~]# whereis -b httpd
httpd: /usr/sbin/httpd /usr/lib64/httpd /etc/httpd /usr/share/httpd
리눅스 whereis 명령어의 파일 설명

-b 옵션 외에 다른 옵션을 추가로 사용할 일은 많지 않습니다.

✅ 리눅스 locate 명령어

locate 명령어의 경우 배포판에서 기본 설치가 되어 있지 않는 경우가 있습니다.

dnf -y install mlocate
# 서버의 OS 버전에 맞게 설치.
yum -y install mlocate
리눅스 locate 명령어 설치 화면

리눅스 locate 명령어는 이미 생성된 데이터베이스를 통해 검색을 진행하기 때문입니다. 하지만 파일이나 디렉토리를 DB화 하여 사용하기 때문에 정보가 갱신되지 않으면 최신의 데이터가 출력되지 않을 수 있습니다.

  • locate 명령어, find 명령어 비교
  • locate
  • 빠른 검색 속도
  • 제한적인 검색 옵션(오직 파일명에만 근거)
  • 검색DB 사용 및 검색 경로 설정이 필요하지 않음.
  • 파일 목록 데이터베이스 > mlocate.db 파일을 미리 생성
  • find
  • 검색 속도가 느림
  • 다양한 검색 옵션
  • 검색 경로 설정
  • 시스템에서 파일을 검색하여 경로 출력
  • locate 기본 사용 방법
  • 정확한 사용을 위해 ‘updatedb’ 명령어로 업데이트 후 명령어를 실행하여 정확한 검색을 할 수 있습니다.
  •  /cat/lib/mlocate/mlocate.db 파일에 관련 정보가 있음.
locate -옵션 FILE_NAME
  • 주의 사항: NFS를 이용 중인 경우 update 명령어로 인해 마운트 된 영역이 느려질 수 있지만 발생될 확률 적음.

PRUNE_BIND_MOUNTS = "yes"
PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset debugfs devpts ecryptfs exofs fuse fuse.sshfs fusectl gfs gfs2 gpfs hugetlbfs inotifyfs iso9660 jffs2 lustre mqueue ncpfs nfs nfs4 nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs sockfs sysfs tmpfs ubifs udf usbfs ceph fuse.ceph"
PRUNENAMES = ".git .hg .svn .bzr .arch-ids {arch} CVS"
PRUNEPATHS = "/afs /media /mnt /net /sfs /tmp /udev /var/cache/ccache /var/lib/yum/yumdb /var/lib/dnf/yumdb /var/spool/cups /var/spool/squid /var/tmp /var/lib/ceph /var/lib/mock /sysroot/ostree/deploy"

# PRUNEFS에 NFS를 추가하면 updatedb 수행시 제외. | PRUNEPATHS 경로 지정 후 제외
Prune = 가지를 치다.
FS = File System
PATH = 경로

♣ locate 명령어 옵션

# 파일의 갯수
locate -c httpd.conf
3
# DB의 정보 확인
locate -S 
Database /var/lib/mlocate/mlocate.db:
	6750 directories
	63364 files
	3089573 bytes in file names
	1575941 bytes used to store database

Similar Posts

  • 리눅스 tar 명령어: 파일 압축, 해제

    리눅스 tar 명령어는 여러 개의 파일을 하나의 파일로 묶거나 해제할 때 사용하는 명령어로 웹사이트의 이전 등에 mysqldump와 같이 사용되는 경우가 많습니다. 테이프 아카이버(Tape Archiver)의 앞 글자를 따서 tar라는 이름으로 부르게 되었습니다. 목차✅ 리눅스 which 명령어✅리눅스 whereis 명령어✅ 리눅스 locate 명령어♣ locate 명령어 옵션✅ 리눅스 tar 명령어의 이해 리눅스에서 tar로 압축 진행을 할 때…

  • 리눅스 심볼릭 링크(Symbolic Link)와 하드 링크(Hard Link)

    리눅스에서 사용하는 심볼릭 링크(Symbolic Link)는 윈도우에서 사용하는 “바로가기”와 같은 기능을 가지고 있습니다. 소프트 링크 or 심링크로도 불리며, 하나의 파일에 여러 이름으로 생성할 수 있습니다. 목차✅ 리눅스 which 명령어✅리눅스 whereis 명령어✅ 리눅스 locate 명령어♣ locate 명령어 옵션✅ 심볼릭 링크 하드 링크 명령어 [-s 옵션]은 Symbolic Link를 만들어 주는 옵션이며 [-s 옵션]이 빠지게 되면 Hard…

  • 리눅스 명령어 13가지 카테고리 분류&시스템의 이해

    리눅스의 명령줄 인터페이스(Command Line Interface, CLI)는 컴퓨터 프로그램 및 운영체제와 상호 작용하기 위한 텍스트 기반의 사용자 인터페이스입니다. 리눅스 명령어는 유닉스 계열 운영체제어서 거의 동일하게 작동하며, 명령어를 입력해서 파일의 생성, 수정, 복사 이동 및 서버 전반에 걸친 관리를 하게 됩니다. 명령어를 카테고리로 분류하지만 틀릴 수 있는 점을 참고하여 주시기 바랍니다. 목차✅ 리눅스 which 명령어✅리눅스…

  • 리눅스 kill 명령어[kill -9 PID]

    리눅스 kill 명령어는 사용 중인 프로세스를 종료하는 명령어입니다. 터미널에서 프로세스에 시그널(Signal)을 보내서 프로세스를 종료합니다. 프로그램이 정지하거나 응답하지 않는 경우 일반적인 종료가 되지 않는 경우 등에 따라 명령어를 실행하게 됩니다. kill process는 사용 시 중요한 시스템 프로세스를 종료 시키면 시스템이 불안정해질 수 있기 때문에 주의해서 사용해야 합니다. 목차✅ 리눅스 which 명령어✅리눅스 whereis 명령어✅ 리눅스…

  • 리눅스 netstat 명령어, ifconfig 명령어

    리눅스에 netstat 명령어 및 ifconfig 명령어를 실행하기 위해 리눅스 서버에 명령어 실행을 위한 net-tools이 설치되어 있어야 합니다. 목차✅ 리눅스 which 명령어✅리눅스 whereis 명령어✅ 리눅스 locate 명령어♣ locate 명령어 옵션✅ net-tools 설치 ✅ netstat 명령어 netstat[network statistics:네트워크 통계]은 네트워크 상태를 확인하는 명령어입니다. 어떤 포트가 열려있고, 어떻게 사용되고 있는지와 해킹 시도가 있거나 자신의 컴퓨터가 좀비…

  • [Linux] 리눅스 mv 명령어 사용법 및 mv 명령어 옵션

    리눅스 mv 명령어는 Move의 약자로 파일 또는 디렉토리를 이동하거나 이름을 변경할 때 사용하는 명령어입니다. 기본적인 리눅스 mv 명령어 사용법과 옵션 및 활용 방법에 대해 알아 보겠습니다. 목차✅ 리눅스 which 명령어✅리눅스 whereis 명령어✅ 리눅스 locate 명령어♣ locate 명령어 옵션✅ 리눅스 mv 명령어 기본 옵션 mv 명령어의 기본 사용 방법입니다. ✅ mv 명령어 옵션 ✅…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 4   +   4   =