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

  • Apache 시작, 중지, 재시작 명령어 | 서비스 상태 확인

    리눅스에서 Apache를 설치하고 레드헷 계열과 우분투에서의 시작, 중지, 재시작 명령어를 자주 사용하게 됩니다. Apache 시작, 중지, 재시작 등의 명령어는 다음과 같습니다. 목차✅ 리눅스 which 명령어✅리눅스 whereis 명령어✅ 리눅스 locate 명령어♣ locate 명령어 옵션✅ Apache 시작 및 중지, 재시작: Red Hat 계열 ✅ Apache 시작 및 중지, 재시작: Debian 계열 (Ubuntu, Debian 등) 우분투…

  • 리눅스 file 명령어

    리눅스 file 명령어는 그 파일이 어떤 파일인지 확인하는데 사용되는 명령으로 파일의 파일 타입을 확인할 때 사용합니다. 확인할 수 있는 파일은 텍스트 파일(ASCII 텍스트), 바이너리 파일, 그림 파일 및 동영상 등입니다. 단순하게 파일의 확장자만 확인하는 것이 아닌 파일의 매직파일(usr/local/magic)의 내용을 참조하여 파일 종류를 표시해 줍니다. magic 파일은 특정 파일의 형식을 식별하기 위한 정보를 담고…

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

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

  • 리눅스 서버 시간 동기화: timedatectl(CentOS7 이상)

    리눅스에서 날짜 및 시간 설정이 필요한 이유는 서버 운영 중 시간이 잘못되면, 입력되는 DB데이터, 로그 데이터, 웹 서버에 접속한 기록 등의 시간이 맞지 않는 경우가 발생할 수 있기 때문입니다. 리눅스 서버 시간 동기화를 사용하는데 있어 OS는 두 개의 시계를 가지고 있습니다.시스템 시계(소프트웨어 시계), 하드웨어 시계(실시간 시계, BIOS 시계)입니다. 목차✅ 리눅스 which 명령어✅리눅스 whereis…

  • 리눅스 Rsync 명령어

    Rsync (Remote Sync) 는 네트워크를 통해 파일과 디렉터리를 효율적으로 동기화하는 백업 방식입니다. 전체 데이터를 매번 복사하는 대신 변경된 부분만 증분 방식으로 전송하여 빠르고 안정적인 동기화를 지원합니다. 또한 다양한 옵션을 통해 압축, 암호화, 권한 유지, 삭제 동기화 등 세밀한 제어가 가능하며, 백업과 서버 간 데이터 전송에 널리 사용됩니다. 특히 네트워크 대역폭을 절약하고, 재 전송…

  • 리눅스 chgrp 명령어

    리눅스 chgrp 명령어는 파일 및 디렉토리의 그룹을 변경할 수 있는 명령어이며, Change Group의 약자입니다. 목차✅ 리눅스 which 명령어✅리눅스 whereis 명령어✅ 리눅스 locate 명령어♣ locate 명령어 옵션✅ 리눅스 chgrp 명령어 기본 사용법 chgrp 명령어에서 옵션은 거의 사용되지 않습니다. ✅ chgrp 명령어 옵션 옵션 설명 -R 하위 디렉토리에 적용. ✅ chgrp 명령어 사용 예시

답글 남기기

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

Prove your humanity: 9   +   6   =