리눅스 / 명령어 / which, whereis, locate - 명령어 위치 찾기

명령어의 위치를 찾을 때 사용할 수 있는 명령어에는 which, whereis, locate가 있습니다. 명령어의 위치만 찾을 때는 which를 사용하고, 관련된 파일들의 위치까지 찾을 때는 whereis나 locate를 사용합니다.

각 명령어로 find 명령어를 찾아보겠습니다.

[root@localhost ~]# which find
/usr/bin/find
[root@localhost ~]# whereis find
find: /usr/bin/find /usr/share/man/man1/find.1.gz
[root@localhost ~]# locate find
/usr/bin/find
/usr/bin/find2perl
/usr/bin/findmnt
/usr/bin/nl-link-ifindex2name
/usr/bin/nl-link-name2ifindex
/usr/bin/oldfind
/usr/lib64/python2.7/modulefinder.py
/usr/lib64/python2.7/modulefinder.pyc
/usr/lib64/python2.7/modulefinder.pyo
/usr/sbin/btrfs-find-root
/usr/sbin/findfs
/usr/share/bash-completion/completions/findmnt
/usr/share/doc/findutils-4.5.11
/usr/share/doc/findutils-4.5.11/AUTHORS
/usr/share/doc/findutils-4.5.11/COPYING
/usr/share/doc/findutils-4.5.11/ChangeLog
/usr/share/doc/findutils-4.5.11/NEWS
/usr/share/doc/findutils-4.5.11/README
/usr/share/doc/findutils-4.5.11/THANKS
/usr/share/doc/findutils-4.5.11/TODO
/usr/share/doc/wpa_supplicant-2.6/examples/p2p/p2p_find.py
/usr/share/doc/wpa_supplicant-2.6/examples/p2p/p2p_stop_find.py
/usr/share/info/find-maint.info.gz
/usr/share/info/find.info.gz
/usr/share/locale/be/LC_MESSAGES/findutils.mo
/usr/share/locale/bg/LC_MESSAGES/findutils.mo
/usr/share/locale/ca/LC_MESSAGES/findutils.mo
/usr/share/locale/cs/LC_MESSAGES/findutils.mo
/usr/share/locale/da/LC_MESSAGES/findutils.mo
/usr/share/locale/de/LC_MESSAGES/findutils.mo
/usr/share/locale/el/LC_MESSAGES/findutils.mo
/usr/share/locale/eo/LC_MESSAGES/findutils.mo
/usr/share/locale/es/LC_MESSAGES/findutils.mo
/usr/share/locale/et/LC_MESSAGES/findutils.mo
/usr/share/locale/fi/LC_MESSAGES/findutils.mo
/usr/share/locale/fr/LC_MESSAGES/findutils.mo
/usr/share/locale/ga/LC_MESSAGES/findutils.mo
/usr/share/locale/gl/LC_MESSAGES/findutils.mo
/usr/share/locale/hr/LC_MESSAGES/findutils.mo
/usr/share/locale/hu/LC_MESSAGES/findutils.mo
/usr/share/locale/id/LC_MESSAGES/findutils.mo
/usr/share/locale/it/LC_MESSAGES/findutils.mo
/usr/share/locale/ja/LC_MESSAGES/findutils.mo
/usr/share/locale/ko/LC_MESSAGES/findutils.mo
/usr/share/locale/lg/LC_MESSAGES/findutils.mo
/usr/share/locale/lt/LC_MESSAGES/findutils.mo
/usr/share/locale/ms/LC_MESSAGES/findutils.mo
/usr/share/locale/nl/LC_MESSAGES/findutils.mo
/usr/share/locale/pl/LC_MESSAGES/findutils.mo
/usr/share/locale/pt/LC_MESSAGES/findutils.mo
/usr/share/locale/pt_BR/LC_MESSAGES/findutils.mo
/usr/share/locale/ro/LC_MESSAGES/findutils.mo
/usr/share/locale/ru/LC_MESSAGES/findutils.mo
/usr/share/locale/rw/LC_MESSAGES/findutils.mo
/usr/share/locale/sk/LC_MESSAGES/findutils.mo
/usr/share/locale/sl/LC_MESSAGES/findutils.mo
/usr/share/locale/sr/LC_MESSAGES/findutils.mo
/usr/share/locale/sv/LC_MESSAGES/findutils.mo
/usr/share/locale/tr/LC_MESSAGES/findutils.mo
/usr/share/locale/uk/LC_MESSAGES/findutils.mo
/usr/share/locale/vi/LC_MESSAGES/findutils.mo
/usr/share/locale/zh_CN/LC_MESSAGES/findutils.mo
/usr/share/locale/zh_TW/LC_MESSAGES/findutils.mo
/usr/share/man/man1/find.1.gz
/usr/share/man/man1/find2perl.1.gz
/usr/share/man/man1/oldfind.1.gz
/usr/share/man/man8/btrfs-find-root.8.gz
/usr/share/man/man8/findfs.8.gz
/usr/share/man/man8/findmnt.8.gz

locate 명령어는 -n 옵션으로 출력 개수를 정할 수 있습니다.

[root@localhost ~]# locate find -n 10
/usr/bin/find
/usr/bin/find2perl
/usr/bin/findmnt
/usr/bin/nl-link-ifindex2name
/usr/bin/nl-link-name2ifindex
/usr/bin/oldfind
/usr/lib64/python2.7/modulefinder.py
/usr/lib64/python2.7/modulefinder.pyc
/usr/lib64/python2.7/modulefinder.pyo
/usr/sbin/btrfs-find-root

locate 명령어의 경우 설치가 필요할 수도 있습니다. CentOS라면 다음과 같이 명령하여 설치합니다.

yum install mlocate

사용 전에 DB를 업데이트해야 합니다.

updatedb

DB에서 검색하므로 검색 결과를 빠르게 나옵니다.

같은 카테고리의 다른 글

리눅스 / 명령어 / rmdir - 빈 디렉토리 삭제하는 명령어

리눅스 / 명령어 / rmdir - 빈 디렉토리 삭제하는 명령어

rmdir rmdir은 빈 디렉토리를 삭제하는 명령어입니다. Remove the DIRECTORY(ies), if they are empty. 사용법 rmdir directory rmdir a a 디렉토리를 삭제합니다. 비어있다면 삭제를 하고, 그렇지 않다면 rmdir: failed to remove ‘a’: Directory not empty 를 출력합니다. rmdir –ignore-fail-on-non-empty directory 디렉토리가 비어있지 않아도 메시지를 출력하지 않습니다. rmdir -v directory rmdir -v * 현재 디렉토리 안에 있는 모든 비어있는 디렉토리를 삭제합니다. v 옵션을 넣으면 작업 결과를 ...

CentOS 8 / Squid로 Proxy Server 만드는 방법

CentOS 8 / Squid로 Proxy Server 만드는 방법

리눅스로 프록시 서버(Proxy Server)를 만들 때 스퀴드(Squid)를 주로 사용합니다. 오픈 소스이고, 대부분의 리눅스 배포판에 패키지로 포함되어 있습니다. 스퀴드(squid)는 대중적인 오픈 소스(GPL)소프트웨어 프록시 서버이자 웹 캐시이다. 반복된 요청을 캐싱함으로 웹서버의 속도를 향상시키는 것부터, 네트워크 자원을 공유하려는 사람들에게 웹, DNS와 다른 네트워크 검색의 캐싱을 제공하고, 트래픽을 걸러줌으로써 안정성에 도움을 주는 등에 이르기까지 광범위 ...

리눅스 / 하드디스크 파디션 만들기, 포맷하기, 마운트하기

리눅스 / 하드디스크 파디션 만들기, 포맷하기, 마운트하기

리눅스에서 하드디스크 파티션 만들고, 포맷 하고, 마운트 하는 방법을 요약합니다. 장착된 하드디스크 확인하기 컴퓨터에 장착된 하드디스크 정보를 출력합니다. fdisk -l /dev/sda, /dev/sdb 등이 하드디스크입니다. 파티션 만들기 파티션을 관리하는 명령어는 fdisk입니다. /dev/sdb의 파티션을 관리하고 싶다면 다음과 같이 명령합니다. fdisk /dev/sdb 도움말이 필요하면 m을 입력합니다. 새 파티션은 n을 입력하고 안내에 따라 만듭니다. w를 입력해야 변경사항이 반영됩니다. 포맷하기 포맷하는 명령어는 mkfs입니다. 예를 들어 /dev/sdb1 파티션을 ...

Ubuntu 18.04 / 메모

Ubuntu 18.04 / 메모

SSH 설정 설정 파일 /etc/ssh/sshd_config 포트 변경하기 다음 코드를 #Port 22 다음처럼 바꾼다. Port 1234 포트 번호는 자신이 원하는 것으로… root 계정 로그인 가능하게 만들기 다음 코드를 #PermitRootLogin prohibit-password 다음처럼 만든다. PermitRootLogin yes 설정 변경 적용하기 service ssh restart

Ubuntu 16.04 / 언어 변경하는 방법

Ubuntu 16.04 / 언어 변경하는 방법

우분투를 설치할 때 언어를 정합니다. 그 언어를 계속 사용할 수도 있고 변경할 수도 있습니다. 영어로 설정되어 있는 언어를 한국어로 바꾸어보겠습니다. 현재 언어 확인하기 언어 설정 파일은 /etc/default/locale입니다. 파일을 열어서 언어를 확인할 수 있습니다. # File generated by update-locale LANG="en_US.UTF-8" LANGUAGE="en_US:en" locale 명령어로 현재 언어를 확인할 수도 있습니다. root@Ubuntu:~# locale LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL= 한국어 설치하기 다음과 같이 명령하여 한국어를 설치합니다. apt-get install language-pack-ko /etc/default/locale을 수정합니다. # File ...

리눅스 / 로그아웃 명령어, 재부팅 명령어, 종료 명령어

리눅스 / 로그아웃 명령어, 재부팅 명령어, 종료 명령어

로그아웃 명령어 logout exit 재부팅 명령어 즉시 재부팅 reboot shutdown -r now init 6 일정 시간 또는 일정 시간 후 재부팅 10분 후 재부팅 shutdown -r 10 12시에 재부팅 shutdown -r 12:00 취소 shutdown -c 종료 명령어 즉시 종료 poweroff shutdown -h now shutdown -P now halt -p init 0 일정 시간 또는 일정 시간 후에 종료 10분 후에 종료 shutdown -P 10 13시에 종료 shutdown -P 13:00 취소 shutdown -c 기타 10분 후에 종료할 거라는 메시지를 사용자에게 보내지만, 종료하지는 ...

리눅스 / 명령어 / du - 디렉토리와 파일 용량 확인하는 명령어

리눅스 / 명령어 / du - 디렉토리와 파일 용량 확인하는 명령어

du는 disk usage의 약자로 디렉토리(폴더)와 파일의 용량을 출력해주는 명령어입니다. du 디렉토리명 디렉토리와 모든 하위 디렉토리의 용량을 표시해줍니다. 예를 들어 du /etc 라고 하면 etc 디렉토리와 그 하위 디렉토리의 사용량이 출력됩니다. 단위는 kbyte입니다. du -s 디렉토리명, du -sh 디렉토리명 선택한 디렉토리만의 용량을 알고 싶으면 s 옵션을 붙입니다. du -s /etc 용량이 읽기 편한 단위로 나오게 하려면 h 옵션을 붙입니다. du -sh /etc du -sh ...

Ubuntu 16.04 / logrotate 설치하고 설정하기

Ubuntu 16.04 / logrotate 설치하고 설정하기

로그 파일 우분투(Ubuntu)는 여러 작업의 내용을 로그(Log) 파일로 남깁니다. 예를 들어 웹서버 운영과 관련된 로그는 /var/log/apache2에 있습니다. 로그는 기본적으로 하나의 파일에 계속 추가하는 것이어서, 시간이 지날수록 파일의 크기가 커집니다. 로그 파일의 크기가 너무 커지면, 시스템이 느려지거나 다운되기도 합니다. 이러한 문제를 해결해주는 패키지가 logrotate입니다. 로그 파일이 일정 기준을 충족하면 기존 로그 파일을 다른 이름으로 변경하여 ...

Ubuntu 16.04 / Apache / javascript 폴더 접근이 안되는 문제 해결하는 방법

Ubuntu 16.04 / Apache / javascript 폴더 접근이 안되는 문제 해결하는 방법

javascript 폴더 접근 불가 우분투(Ubuntu)에서 아파치(Apache)로 웹서버를 운영할 때 이상한 문제가 하나 발생합니다. 사이트 경로에 javascript가 있으면 forbidden 에러가 나는 것입니다. Forbidden You don’t have permission to access /javascript/ on this server. 이 문제가 발생하는 이유는 자바스크립트 설정 때문입니다. /etc/apache2/conf-available/javascript-common.conf에 다음과 같은 코드가 있습니다. Alias /javascript /usr/share/javascript/ javascript로 접속하면 /usr/share/javascript/로 연결시키라는 뜻입니다. 사이트 접속자는 /usr/share/javascript/에 접속 권한이 없으므로 forbidden 에러가 ...

Ubuntu 20.04 / Ubuntu 18.04에서 업그레이드 하는 방법

Ubuntu 20.04 / Ubuntu 18.04에서 업그레이드 하는 방법

Ubuntu 버전 확인 현재 사용 중인 Ubuntu의 버전은 여러 가지 방법으로 확인할 수 있습니다. cat /etc/issue Ubuntu 18.04.4 LTS \n \l lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.4 LTS Release: 18.04 Codename: bionic do-release-upgrade -V do-release-upgrade: version 18.04.36 Ubuntu 18.04에서 ...

Linux