이 가이드는 lsof 명령을 사용하여 Linux에서 열린 파일, 소켓 및 파이프 목록을 얻는 방법을 설명합니다.
lsof 매우 강력한 Linux 명령줄 도구입니다. 거의 모든 Linux 배포판과 함께 제공되며 열린 파일, 소켓 및 파이프 목록을 제공합니다.
도구의 가장 기본적인 사용법은 명령 이름 다음에 Return 키, # lsof를 입력하는 것입니다. . 이 명령은 다소 긴 목록을 반환해야 합니다. 이 명령을 실행하는 더 좋은 방법은 less 명령 – # lsof | 덜
확대하려면 클릭하세요.
lsof 사용 덜과 함께 출력을 위아래로 스크롤할 수 있어 읽기가 더 쉽습니다. 물론 이 명령은 열려 있는 모든 파일의 일반 출력을 제공하는 것 이상의 작업을 수행할 수 있습니다. 문제를 해결하는 상황에서 생명을 구할 수 있습니다.
예를 들어, lsof가 특정 프로세스에 의해 열린 모든 열린 파일 목록을 제공하도록 할 수 있습니다. 먼저 # ps -ef를 사용하여 프로세스 ID를 가져옵니다. 명령. 그런 다음 # lsof -p 30646 명령을 실행합니다. . -p 프로세스 ID를 나타내며 30646 프로세스 ID로 대체해야 하는 예시 프로세스 ID입니다.
확대하려면 클릭하세요.
시스템의 특정 부분에서 열려 있는 모든 파일, 소켓 등을 검색할 수도 있습니다. 따라서 의 모든 파일을 보려면 /mnt 디렉토리에서 # lsof /mnt 명령을 실행합니다. . 또는 특정 명령에 의해 열린 모든 프로세스를 찾으려면 # lsof -c mysql과 같은 줄을 실행하십시오. , 여기서 -c "command"를 나타내며 mysql을 대체할 수 있습니다. 파일을 확인하려는 명령으로:
확대하려면 클릭하세요.
Linux는 포트, 소켓 및 장치를 파일로 취급합니다. 특정 프로토콜 또는 포트를 사용하여 모든 연결을 검색할 수도 있습니다. # lsof -i :22 명령을 사용하여 컴퓨터에 현재 실행 중인 모든 SSH 연결을 검색할 수 있습니다. . 또는 컴퓨터의 모든 TCP 연결을 보려면 # lsof -i TCP 명령을 실행하세요. :
확대하려면 클릭하세요.
lsof 몇 가지 다른 옵션이 있는 꽤 똑똑한 명령입니다. 사용을 극대화하는 방법에 대한 자세한 내용은 도구의 매뉴얼 페이지를 확인하십시오.