리눅스 / 명령어 / 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에서 검색하므로 검색 결과를 빠르게 나옵니다.

같은 카테고리의 다른 글

리눅스 / 스왑 메모리(Swap Memory) 늘리는 방법

리눅스 / 스왑 메모리(Swap Memory) 늘리는 방법

리눅스 시스템이 메모리를 다 사용하면 프로그램이 멈추는 등 문제가 발생합니다. 이때 스왑 메모리(Swap Memory) 늘려서 메모리 부족 문제를 해결할 수 있습니다. 스왑 파일 만들기 fallocate -l 2G /jb-swap 적당한 디렉토리에 적당한 이름의 파일을 적당한 크기로 만듭니다. 여기서는 루트 디렉토리에 jb-swap이라는 파일을 2G의 크기로 만들겠습니다. chmod 600 /jb-swap root만 읽고 쓸 수 있게 권한 설정을 합니다. mkswap ...

리눅스 / 명령어 / cat / 파일 내용 출력하는 명령어

리눅스 / 명령어 / cat / 파일 내용 출력하는 명령어

다음과 같은 두 개의 파일이 있다고 할 때 file1 1-1 1-2 1-3 file2 2-1 2-2 2-3 cat filename cat 뒤에 파일 이름을 넣으면 파일 안의 내용을 보여줍니다. # cat file1 1-1 1-2 1-3 파일 이름을 연달아 넣으면 연속하여 파일의 내용을 보여줍니다. # cat file1 file2 1-1 1-2 1-3 2-1 2-2 2-3 cat filename -n -n 옵션을 붙이면 줄번호를 보여줍니다. # cat -n file1 1 1-1 2 1-2 3 1-3 # cat -n file1 file2 1 1-1 2 1-2 3 1-3 4 2-1 5 2-2 6 ...

CentOS 8 / 고정 IP 설정하는 방법

CentOS 8 / 고정 IP 설정하는 방법

CentOS 8에서 DHCP로 설정된 네트워크를 고정 IP로 변경하는 방법입니다. 설정 파일 수정은 CentOS 7과 같으나, 네트워크를 재시작하는 명령어가 다릅니다. 네트워크 설정 파일 수정 네트워크 설정 파일은 /etc/sysconfig/network-scripts에 있습니다. 파일 이름은 ifcfg-enp0s3 처럼 생겼습니다. 텍스트 에디터로 열면 다음과 같이 설정되어 있습니다. TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="dhcp" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="enp0s3" UUID="f29f8b49-d6de-44e9-94b8-e3c75de02191" DEVICE="enp0s3" ONBOOT="yes" BOOTPROTO="dhcp" 앞에 #을 넣어서 주석 처리를 하고, 네트워크 정보를 적절히 추가합니다. TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" #BOOTPROTO="dhcp" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="enp0s3" UUID="f29f8b49-d6de-44e9-94b8-e3c75de02191" DEVICE="enp0s3" ONBOOT="yes" BOOTPROTO="static" IPADDR="192.168.0.113" NETMASK="255.255.255.0" GATEWAY="192.168.0.1" DNS1="8.8.8.8" DNS2="8.8.4.4" 네트워크 재시작 또는 재부팅 다음과 같이 명령하여 ...

CentOS 7 / YUM 사용법

CentOS 7 / YUM 사용법

YUM 명령어 도움말 보기 yum -h 패키지를 최신 버전으로 업데이트 하기 yum update 모든 패키지 목록을 보기 yum list 모든 패키지 그룹 목록을 보기 yum grouplist http과 관련된 패키지를 검색하기 yum search http 패키지 이름에 http를 포함하고 있는 것을 검색하기 yum list *http* httpd 패키지의 정보 보기 yum info httpd X Window System 패키지 그룹의 정보 보기 yum groupinfo "X Window System" httpd 패키지 설치하기 yum install ...

CentOS 8 / 언어 변경하는 방법

CentOS 8 / 언어 변경하는 방법

현재 언어 확인하기 # localectl System Locale: LANG=en_US.UTF-8 VC Keymap: us X11 Layout: us 사용 가능한 언어 확인하기 # localectl list-locales C.utf8 en_AG en_AU en_AU.utf8 en_BW en_BW.utf8 en_CA en_CA.utf8 en_DK en_DK.utf8 en_GB en_GB.iso885915 en_GB.utf8 en_HK en_HK.utf8 en_IE en_IE.utf8 en_IE@euro en_IL en_IN en_NG en_NZ en_NZ.utf8 en_PH en_PH.utf8 en_SC.utf8 en_SG en_SG.utf8 en_US en_US.iso885915 en_US.utf8 en_ZA en_ZA.utf8 en_ZM en_ZW en_ZW.utf8 ko_KR.euckr ko_KR.utf8 언어를 한글로 변경하기 # localectl set-locale LANG=ko_KR.utf8 # localectl System Locale: LANG=ko_KR.utf8 ...

Ubuntu 18.04 / Let’s Encrypt 무료 SSL 인증서 발급 받는 방법

Ubuntu 18.04 / Let’s Encrypt 무료 SSL 인증서 발급 받는 방법

Ubuntu 18.04에 Let’s Encrypt 무료 SSL 인증서를 발급 받는 방법을 요약합니다. Apache를 웹서버로 사용하는 경우입니다. Apache용 Certbot 설치 apt install software-properties-common add-apt-repository universe add-apt-repository ppa:certbot/certbot apt update apt upgrade apt install certbot python3-certbot-apache 인증서 발급 접속 가능한 도메인이어야 발급 가능합니다. 도메인이 abc.com이라 할 때... 인증서 발급 + 자동 설정 인증서 발급하고, Apache 설정 파일도 자동으로 만듭니다. certbot --apache -d abc.com 인증서만 발급 Apache용 인증서만 ...

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 16.04 / root 계정으로 로그인하기, root 계정으로 ssh 접속하기

Ubuntu 16.04 / root 계정으로 로그인하기, root 계정으로 ssh 접속하기

우분투(Ubuntu)는 보안상의 이유로 root 계정으로 로그인하는 것을 막아두었습니다. 만약 root 계정으로 접속하여 관리하고 싶다면 추가적인 작업이 필요합니다. root 계정으로 접속하기 설치할 때 만든 사용자 계정으로 로그인한 후 다음과 같이 명령하여 root 계정의 비밀번호를 생성합니다. sudo passwd root 비밀번호를 만들면 root 계정으로 로그인할 수 있습니다. root 계정으로 ssh 접속하기 root 계정으로 ssh 접속을 하기 위해서는 /etc/ssh/sshd_config 파일을 수정해야 ...

리눅스 / 명령어 / ls - 디렉토리와 파일 목록 출력하는 명령어

리눅스 / 명령어 / ls - 디렉토리와 파일 목록 출력하는 명령어

ls ls는 list의 약어로, 디렉토리와 파일 목록 출력하는 명령어입니다. ls 디렉토리명 디렉토리에 속한 디렉토리와 파일 목록을 출력합니다. 숨김 파일은 나오지 않습니다. 디렉토리명을 생략하면 현재 디렉토리에 속한 디렉토리와 파일 목록을 출력합니다. ls /var /var 디렉토리에 속한 디렉토리와 파일 목록을 출력합니다. ls -a, ls -l -a 옵션을 붙이면 숨김 파일도 출력합니다. -l 옵션을 붙이면 소유자, 파일 크기 등 자세한 정보도 같이 출력합니다. -al ...

Ubuntu 16.04 / ZIP, RAR 압축 파일 푸는 방법

Ubuntu 16.04 / ZIP, RAR 압축 파일 푸는 방법

서버로 큰 용량의 파일을 전송할 때 압축해서 업로드하는 경우가 많습니다. 용량이 줄어드는 효과도 있지만, 여러 파일을 개별적으로 전송하는 것보다 하나의 압축 파일을 전송하고 압축을 푸는 게 더 시간이 짧게 걸리기 때문입니다. 우분투(Ubuntu)에서 ZIP 파일을 압축 해제하려면 unzip을 설치하고, RAR 파일을 압축 해제하려면 unrar를 설치하면 됩니다. 설치는 다음과 같이 합니다. apt-get install unzip ...