리눅스 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

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

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

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

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

  • 리눅스 find 명령어

    리눅스 find 명령어는 여러가지 다양한 기준으로 파일을 효율적으로 검색할 때 사용할 수 있는 명령어입니다. 특정 파일을 찾거나 특정 문자 패턴에 맞춰서 검색, 특정 확장자의 파일 검색, 특정 소유자, 파일 사이즈, 퍼미션, 등의 다양한 방법을 사용할 수 있습니다. find 명령어는 파일을 찾는 기본 역할 외에도 찾은 파일에 대한 퍼미션 변경, 소유자 변경, 파일 삭제…

  • 리눅스 tee 명령어

    리눅스 tee 명령어는 배관시설에 비유해서 이름이 붙여진 명령어입니다. 파이프 모양과 똑같은 “T”에서 본따 tee 명령어이며 표준 출력으로 하나 이상의 다른 파일을 동시에 출력합니다. tee 명령어의 목적은 작업 진행 중 파이프라인(I)의 중간 내용을 알고 싶을 때 유용하게 사용할 수 있습니다. 목차✅ 리눅스 which 명령어✅리눅스 whereis 명령어✅ 리눅스 locate 명령어♣ locate 명령어 옵션✅ 리눅스 tee…

  • echo 명령어: From 확장과 인용

    echo 명령어는 문자열을 그대로 출력해 주는 명령어이다. echo 명령어는 프롬프트에서 사용하는 일은 거의 없으며, 쉘 스크립트 작성 시에 자주 사용하는 명령어이다. 표준 출력 상에 해당 텍스트 인자를 표시한다. 목차✅ 리눅스 which 명령어✅리눅스 whereis 명령어✅ 리눅스 locate 명령어♣ locate 명령어 옵션1. echo 명령어 옵션 2. echo $ $뒤에 오는 문자열이 변수로 선언되어 있는 경우…

  • 리눅스 grep 명령어

    리눅스 grep 명령어는 로그 파일과 같은 텍스트 파일과 아스키 파일에서 원하는 문자열을 찾을 때 사용되며, tail과 find 명령어를 파이프(|)와 결합해서 자주 사용하게 되는 명령어입니다. 목차✅ 리눅스 which 명령어✅리눅스 whereis 명령어✅ 리눅스 locate 명령어♣ locate 명령어 옵션✅ grep 명령어 기본 사용법 ✅ 기본적인 사용 예 ✅ grep 옵션 ✅ 다른 명령어와 파이프(|) 조합 활용…

답글 남기기

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

Prove your humanity: 8   +   2   =