리눅스를 사용하다 보면 파일이나 디렉터리가 "사용 중"이라 삭제가 안 되거나, 포트가 이미 사용 중이라 서비스를 실행할 수 없을 때가 있습니다.
이럴 때 유용하게 쓰이는 명령어가 바로 **fuser**입니다.
fuser는 특정 파일, 디렉터리, 포트 등을 누가 사용 중인지 알려주는 도구입니다.
fuser란?
- "File User"의 줄임말
- 특정 **리소스를 사용 중인 프로세스의 PID(프로세스 ID)**를 출력해줍니다.
- 파일, 디렉터리, 소켓, 포트 등에 모두 사용할 수 있습니다.
기본 사용법
fuser [옵션] [대상 파일 or 포트]
사용 예제
1. 파일을 사용 중인 프로세스 확인
fuser testFile.txt
응답
testFile.txt: 1234
→ 이 파일을 PID 1234 프로세스가 사용 중이라는 의미
2. 디렉터리 사용 중인 프로세스 확인
fuser /mnt/usb
→ USB 같은 디렉터리가 "사용 중이라 마운트 해제 안 될 때" 유용
3. 포트 사용 중인 프로세스 확인
fuser -n tcp 80
→ TCP 80번 포트를 어떤 프로세스가 점유 중인지 확인
자주 사용하는 옵션
| -v | 상세 출력 (사용자, 액세스 종류 등 표시) |
| -k | 해당 리소스를 사용하는 프로세스 강제 종료 |
| -n [space] | 네트워크 네임스페이스 지정 (tcp, udp 등) |
| -u | PID와 함께 사용자 이름도 출력 |
| -i | -k 옵션과 함께 사용 시, 종료 여부를 확인(prompt) |
실무에서 자주 쓰는 조합
* 어떤 포트가 점유 중인지 확인 + 종료
fuser -n tcp -v 8080 # 누가 8080 사용 중인지 보기
sudo fuser -k -n tcp 8080 # 점유한 프로세스 강제 종료
* 디렉터리 사용 중인 프로세스 죽이기
sudo fuser -k /mnt/usb
→ 마운트 해제 전에 디렉터리를 점유한 프로세스 종료
주의 사항
- fuser -k는 강제로 프로세스를 종료하므로, 데이터 손실 우려가 있는 경우 신중하게 사용해야 합니다.
- 루트 권한이 필요할 수 있으므로, 경우에 따라 sudo를 붙여야 합니다.
마무리
fuser는 평소엔 잘 안 쓰다가도,
- "포트가 사용 중입니다"
- "디렉터리가 busy 상태입니다"
이런 메시지를 보면 꼭 필요해지는 유틸리티성 명령어입니다.
특히 포트 충돌, 마운트 문제, 로그 파일 점유 상태 확인 등에서 fuser는 아주 빠르고 정확한 문제 해결 도구가 됩니다.
'Linux' 카테고리의 다른 글
| [ Linux ] 파일 탐색/확인 명령어 - (ls / cat / find / locate) (0) | 2025.06.02 |
|---|---|
| [ Linux ] diff - 두 파일 비교와 주요 옵션 정리 (0) | 2025.05.29 |
| [ Linux ] ln 명령어 [ 하드 링크 vs 심볼릭 링크 ] (2) | 2025.05.27 |
| [ Linux ] .p12 인증서 만들기 (0) | 2025.05.21 |
| [ Linux ] 파일 편집 명령어 정리 (0) | 2025.05.20 |