Linux의 lsof 명령

Abid Ullah 2023년6월20일
  1. Linux의 lsof 명령
  2. lsof 명령을 사용하여 Linux에서 포트 나열
  3. Linux에서 lsof 명령을 사용하여 열려 있는 모든 파일 나열
  4. Linux에서 lsof 명령을 사용하여 사용자가 열려 있는 모든 파일 나열
  5. Linux에서 lsof 명령을 사용하여 모든 인터넷 파일 나열
  6. Linux에서 lsof 명령을 사용하여 특정 프로세스별로 모든 파일 나열
  7. Linux에서 lsof 명령을 사용하여 특정 포트에서 실행 중인 프로세스 찾기
  8. Linux에서 lsof 명령을 사용하여 수신 포트 확인
Linux의 lsof 명령

이 Linux 기사에서는 Linux 운영 체제의 lsof 명령에 대해 알아봅니다. Linux에서 다양한 목적으로 이 명령을 사용하는 방법을 살펴보겠습니다.

lsof 명령을 사용하여 Linux 운영 체제에서 사용 중인 포트를 확인합니다. 이 lsof 명령을 사용하여 Linux 운영 체제에서 포트가 사용 중인지 여부를 확인할 수 있습니다.

Linux에서 lsof 명령이 무엇인지부터 시작하겠습니다.

Linux의 lsof 명령

lsof는 포트가 사용 중인지 여부를 확인하기 위해 Linux에서 사용되는 List Open Files 명령을 나타냅니다. 이 명령은 Linux에서 시스템 파일이 사용하는 사용자에게 프로세스를 반환합니다.

파일 시스템이 계속 사용 중이고 마운트 해제할 수 없는 이유를 파악하는 데 도움이 됩니다.

아시다시피 Linux 운영 체제는 모든 것을 파일 및 폴더로 간주합니다. 그래서 리눅스 시스템에서 사용하는 파일이나 폴더는 매우 중요합니다.

Linux 운영 체제에서 작업할 때 여러 파일과 폴더가 사용됩니다. 이러한 파일 또는 폴더 중 일부는 사용자에게 표시되고 일부는 표시되지 않습니다.

lsof 명령은 Linux 운영 체제에서 열리는 파일 또는 폴더 목록을 제공합니다. 이 명령은 시스템의 어떤 프로세스에서 연 파일을 찾기 위한 정보를 제공합니다.

한 번만 이동하면 출력 콘솔에 열려 있는 모든 파일이 나열됩니다. lsof 명령은 일반적인 일반 파일을 나열할 뿐만 아니라 디렉터리, 공유 라이브러리, 시스템의 특수 파일 및 기타 많은 항목을 나열할 수도 있습니다.

lsof 명령은 grep 명령과 결합하여 Linux에서 고급 검색 및 파일 나열에 사용할 수 있습니다.

lsof 명령을 사용하여 Linux에서 포트 나열

lsof 명령은 Linux 시스템에서 열려 있는 모든 파일 또는 폴더를 나열하는 데 도움이 됩니다. 따라서 이 명령을 사용하여 Linux 시스템의 특정 포트에서 열려 있는 모든 프로세스를 볼 수 있습니다.

lsof 명령을 사용하려면 터미널에서 다음 명령을 사용하여 lsof 유틸리티가 Linux 시스템에 아직 설치되지 않은 경우 설치해야 합니다.

$ sudo apt install lsof

Linux 시스템에 lsof 유틸리티 설치

시스템에 lsof 명령 유틸리티를 설치한 후 이제 이를 사용하여 Linux 시스템의 파일 및 포트를 나열할 수 있습니다.

Linux에서 lsof 명령을 사용하여 열려 있는 모든 파일 나열

Linux 사용자로서 때때로 우리는 특정 프로세스가 파일에 의해 열리는 포트 번호를 알고 싶어합니다. 모든 Linux 운영 체제 포트는 프로세스 ID 또는 서비스와 연결됩니다.

파일이 프로세스를 여는 포트를 결정하는 데 사용할 수 있는 다양한 방법을 살펴보겠습니다.

아래 예와 같이 lsof 명령을 사용했습니다. Linux 시스템의 모든 프로세스에서 연 모든 파일이 표시됩니다.

보시다시피 아래 이미지에 표시된 Linux 시스템의 프로세스가 연 파일의 긴 목록을 보여줍니다.

예제 코드:

$ lsof

lsof 명령을 사용하여 파일 및 포트 나열

위의 그림은 열려 있는 파일의 세부 정보가 있음을 보여줍니다. 세부 정보에는 프로세스 ID, 프로세스와 연결된 사용자, FD(파일 설명자) 및 파일 크기가 포함됩니다.

이 모든 것은 명령, 프로세스 ID, 사용자 등에 의해 열린 파일에 대한 자세한 정보를 제공합니다.

Linux에서 lsof 명령을 사용하여 사용자가 열려 있는 모든 파일 나열

둘 이상의 사용자가 Linux 시스템을 사용하는 경우. 그런 다음 각각 요구 사항이 다르며 서로 다른 파일을 사용합니다.

특정 사용자가 여는 파일 목록을 찾으려면 다음 명령을 사용합니다.

통사론:

$ lsof -u username

예제 코드:

$ lsof -u abid

사용자가 연 모든 파일을 나열하는 lsof -u 사용

위의 그림은 lsof -u abid 명령이 abid라는 사용자가 연 모든 파일을 나열함을 보여줍니다.

다양한 유형의 파일(CHR, REG, DIR)도 볼 수 있습니다. CHR은 특수 문자 파일이고 REG는 일반 파일이며 DIR은 디렉토리입니다.

Linux에서 lsof 명령을 사용하여 모든 인터넷 파일 나열

모든 인터넷 및 네트워크 파일을 나열하려면 lsof 명령과 함께 -i 옵션을 사용합니다. 다음과 같이 터미널에서 lsof 명령을 사용합니다.

$ sudo lsof -i

lsof-i 명령을 사용하여 모든 인터넷 파일 나열

lsof -i 명령을 실행하면 출력에 서비스 이름과 숫자 포트가 표시되는 것을 볼 수 있습니다.

Linux에서 lsof 명령을 사용하여 특정 프로세스별로 모든 파일 나열

예를 들어 Mysql이라는 특정 프로세스가 실행 중이고 이 프로세스에서 연 모든 파일을 찾으려고 합니다. 다음과 같이 lsof 명령을 사용하여 확인할 수 있습니다.

$ lsof -c Mysql

lsof 명령은 명령에 지정된 특정 프로세스에서 연 모든 파일을 나열합니다. 이렇게 하면 명령에 프로세스 이름을 지정하기만 하면 모든 프로세스에서 열린 파일을 찾을 수 있습니다.

Linux에서 lsof 명령을 사용하여 특정 포트에서 실행 중인 프로세스 찾기

포트에서 실행 중인 모든 프로세스를 검색하려면 -i 옵션과 함께 다음 lsof 명령을 사용합니다. 아래 예는 포트 30의 모든 실행 프로세스를 나열합니다.

예제 코드에 표시된 대로 명령에 포트 번호를 제공하기만 하면 특정 포트에서 실행 중인 프로세스를 찾을 수 있습니다.

예제 코드:

$ sudo lsof -i :30

Linux에서 lsof 명령을 사용하여 수신 포트 확인

Linux 시스템에서 네트워크 포트는 번호, IP 주소 및 통신에 사용되는 프로토콜 유형(예: TCP 또는 UDP)으로 식별됩니다. Linux에서는 다양한 방법으로 청취 포트를 확인할 수 있으며, 이 기사에서는 lsof 명령을 사용하여 청취 포트를 확인합니다.

우리가 알고 있듯이 lsof는 프로세스에서 연 파일에 대한 정보를 제공할 수 있는 Linux의 강력한 명령입니다. Linux에서는 터미널의 lsof 명령을 사용하여 모든 수신 TCP 포트를 가져옵니다.

시스템에서 실행 중인 모든 TCP 포트를 표시하는 데 사용되는 명령:

$ sudo lsof -nP -iTCP -sTCP:LISTEN

위 명령에서 -n을 사용하여 포트 번호를 이름으로 변경하지 않았습니다. 또한 -p를 사용하여 포트의 숫자 주소를 표시했습니다.

-iTCP -sTCP:LISTEN을 사용하여 TCP 상태의 네트워크 파일만 표시했습니다.

출력:

모든 TCP 포트 목록을 표시하는 데 사용되는 lsof 명령

터미널에서 위의 명령을 사용한 후 출력에서 Linux 시스템에서 실행 중인 모든 TCP 포트를 볼 수 있습니다.

이 기사가 Linux에서 lsof 명령을 사용하여 프로세스 또는 파일을 나열하는 방법을 이해하는 데 도움이 되기를 바랍니다.

작가: Abid Ullah
Abid Ullah avatar Abid Ullah avatar

My name is Abid Ullah, and I am a software engineer. I love writing articles on programming, and my favorite topics are Python, PHP, JavaScript, and Linux. I tend to provide solutions to people in programming problems through my articles. I believe that I can bring a lot to you with my skills, experience, and qualification in technical writing.

LinkedIn