Linux

linux command (which, whereis, locate)

which, where, locate 명령어 정리

linux command (which, whereis, locate)

which, whereis, locate


  • which

Copy
which find
/usr/bin/find

which는 특정명령어의 위치를 찾아주는 명령어이다.

Copy
which -a find

검색 가능한 모든 경로에서 해당 명령어를 찾음

  • whereis

Copy
whereis find
find: /usr/bin/find /usr/share/man/man1/find.1

whereis는 명령어의 실행파일위치, 소스위치, man 페이지파일의 위치를 찾아주는 명령어이다.

  • locate

Copy
locate *.bak

현재 시스템에 존재하는 *.bak 에 해당하는 파일 찾기

Copy
locate -n 10 *.conf

특정패턴에 해당하는 파일들 가운데 지정한 개수만큼 검색

locate와 find 명령어의 차이
속도: locate는 미리 작성된 데이터베이스를 사용하여 파일을 검색하므로 검색 속도가 매우 빠르다.
그러나 이 데이터베이스는 주기적으로 업데이트되어야 하며, 최신 파일을 반영하기 전에는 검색 결과에 차이가 있을 수 있다.
반면에 find는 실시간으로 파일 시스템을 스캔하여 검색하므로 locate보다는 느릴 수 있지만, 항상 최신 파일을 반영한다.
검색 범위: locate는 기본적으로 전체 파일 시스템에서 검색을 수행한다.
따라서 넓은 범위의 파일 시스템을 검색할 때 유용하다.
반면에 find는 시작 디렉토리를 명시적으로 지정하여 검색 범위를 제한할 수 있다.
검색 조건: locate는 파일 이름만을 기준으로 검색한다.
따라서 파일 경로, 파일 속성, 사용자 등 다른 조건에 따른 검색은 수행할 수 없다.
그에 반해 find는 다양한 조건을 사용하여 파일을 검색할 수 있다.
예를 들어, 파일 크기, 수정 일자, 소유자, 퍼미션 등의 조건을 사용할 수 있다.
따라서, 파일을 빠르게 검색하고 싶고 최신 데이터베이스로부터의 약간의 지연이 허용되는 경우 locate를 사용할 수 있다.
그러나 실시간으로 파일을 검색하거나 특정 조건에 따라 검색 범위를 제한하려는 경우에는 find가 더 적합한 선택일 수 있다.


  • netstat

Copy
netstat -tulpn

“netstat -tulpn” 명령어는 리눅스 시스템에서 네트워크와 포트 관련 정보를 보여주는 유용한 명령어입니다.
이 명령어를 사용하면 현재 열려 있는 포트와 관련된 프로세스를 확인할 수 있습니다. 아래는 각 옵션의 설명입니다:
netstat: 네트워크 통계를 출력하는 명령어입니다.
-t: TCP 프로토콜로 열린 포트 정보만 출력합니다.
-u: UDP 프로토콜로 열린 포트 정보만 출력합니다.
-l: listening 포트만 출력합니다. 이는 연결을 기다리는 포트를 의미합니다.
-p: 포트와 연관된 프로세스 정보를 보여줍니다. 이 정보를 확인하려면 명령을 실행하는 데 슈퍼유저 권한이 필요할 수 있습니다.
-n: 주소를 숫자 형태로 표시하고, 주소를 호스트 이름으로 변환하지 않습니다. 이것은 호스트 이름을 확인하지 않고 숫자 형태의 IP 주소와 포트 번호를 출력하는 데 사용됩니다.
이 명령어를 실행하면 시스템에서 현재 열려 있는 모든 TCP 및 UDP 포트와 해당 포트를 사용하는 프로세스의 정보를 나열합니다. 이 정보를 통해 네트워크 연결 상태를 확인하고, 포트 충돌 또는 보안 이슈를 식별하는 데 도움이 됩니다.