리눅스 which whereis locate: 3가지 위치(경로) 확인 명령어
리눅스 which와 whereis 명령어 명령어의 위치를 알 수 있는 명령어는 find 명령어를 이용해서 파일을 찾을 수 있지만 find 명령어는 시간이 소요되는 단점도 존재합니다. locate 명령어는 파일명을 빠르게 검색할 때 사용할 수 있습니다.
리눅스 기본 명령어 3가지에 대해 알아 보겠습니다.
✅ 리눅스 which 명령어
‘어느’, ‘어떤’, ‘어느 쪽’의 영어 뜻을 가진 which 명령어는 명령어의 위치 or alias(별칭)의 경로를 확인해 주는 명령어입니다. 모든 명령어 실행 파일을 검색할 수 있습니다.
which [-옵션] FILE_NAME(명령어 이름)
which find
/usr/bin/find
which -a httpd
/usr/sbin/httpd
~]# 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 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
-b 옵션 외에 다른 옵션을 추가로 사용할 일은 많지 않습니다.
✅ 리눅스 locate 명령어
locate 명령어의 경우 배포판에서 기본 설치가 되어 있지 않는 경우가 있습니다.
dnf -y install mlocate
# 서버의 OS 버전에 맞게 설치.
yum -y install mlocate
리눅스 locate 명령어는 이미 생성된 데이터베이스를 통해 검색을 진행하기 때문입니다. 하지만 파일이나 디렉토리를 DB화 하여 사용하기 때문에 정보가 갱신되지 않으면 최신의 데이터가 출력되지 않을 수 있습니다.
locate -옵션 FILE_NAME
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