2026/01 6

lsof

list open files현재 시스템에 열려 있는 모든 파일의 목록을 보여준다. 리눅스는 일반 파일뿐만 아니라 디렉토리, 디바이스, 프로세스, 소켓 등 모든 것이 파일로 표현된다.따라서 해당 명령을 이용해서 특정 파일을 점유중인 프로세스를 체크하거나, 특정 포트를 어떤 프로세스가 사용중인지 확인하는 것이 가능하다. Column 값 설명COMMAND : 파일을 열고 있는 실행 프로그램 이름PID : 프로세스 IDTID : Task ID(=Thread ID)TASKCMD : 스레드 이름USER : 파일을 연 사용자FD : File Descriptor, 프로세스가 어떤 용도, 어떤 권한으로 열었는지숫자r : 읽기 전용 (숫자는 파일 디스크립터 번호)숫자w : 쓰기 전용숫자u : 읽기 쓰기 둘다 가능cwd :..

Linux 2026.01.19

dmesg

리눅스에서 커널 링 버퍼에 기록된 메시지들을 출력하는 명령어. 커널 링 버퍼 ? 커널 메시지가 저장되는 링 구조의 버퍼, 구조 상 오래된 메시지는 새로운 메시지로 덮어씌워짐.오래전 로그를 찾으려면 journalctl를 사용해야 한다. 쉽게 말해서 시스템이 부팅 시점부터 현재까지 커널 레벨에서 발생하는 하드웨어 인식, 드라이버 로드 같은 오류 메시지들을 실시간으로 확인할 수 있다. 주요 용도1. 부팅 로그 확인 : 시스템 부팅 시 cpu, memory, 디스크 등이 정상 인식되었는지 체크2. 하드웨어 장애 진단 : NIC, Disk Error 등 확인3. 드라이버 디버깅 : 드라이버 커널 정상 로딩 확인4. 시스템 다운 원인 파악 : 프로세스 강제 종료 or 재시작 현상 원인 파악 주요 사용 옵션dmesg..

Linux 2026.01.15

VFS (Virtual File System)

가상 파일 시스템은 다양한 파일 시스템들의 인터페이스 역할을 하는 개념이다.예를 들면, 파일 시스템은 xfs, ext4, fat32 등 다양하게 한 시스템 내에 공존할 수 있는데, 서로 다른 파일 시스템에 대한 표준(?)적인 인터페이스가 없으면 개발 시 파일 접근에 대해 각각 다르게 코드가 작성되어야 한다. VFS가 서로 다른 파일 시스템들을 커널 계층해서 추상화해주는 역할을 한다. VFS가 있기 때문에 open(), write() 같은 동일한 시스템 콜로 통일해서 사용할 수 있다. VFS를 구성하는 4가지 개념1. Super Block- 특정 파일 시스템 전체에 대한 정보를 담고 있다. (크기, 마운트 정보 등...) 2. Inode- 특정 파일에 대한 메타 데이터를 담고 있다. (크기, 소유자, 권..

Linux 2026.01.07

tcpdump

네트워크 패킷 수집을 하기 위해서 tcpdump를 사용한다.애플리케이션 응답 지연 같은 네트워크 이슈를 추적하기 위해 사용한다.수집한 패킷들을 직접 훑어 볼 수도 있고 덤프 뜬 파일을 와이어샤크 툴로 분석할 수도 있다. 자주 사용하는 옵션-nn : 대표 포트를 프로토콜로 치환하지 않고 포트 번호를 그대로 보여준다.-vvv : 출력 결과에 모든 정보를 포함한다.-A : 패킷의 페이로드를 ASCII 형태로 출력한다. 평문인 경우 전송되는 데이터를 볼 수 있다.-G [시간] : 입력한 시간 값 간격으로 패킷을 수집한다. (초 단위)-w [파일명] : 수집한 패킷 내용을 파일로 지정해서 저장한다.-Z : tcpdump 실행 권한 지정host [ip] and port [port] : 지정한 ip나 port가 포함..

Linux 2026.01.06

strace

프로세스가 동작하는 동안 호출하는 시스템 콜들을 추적할 수 있는 명령어. 기본적인 명령어 동작부터 서버에 올라와 있는 애플리케이션까지 시스템 콜 추적이 가능하고, 서버내 프로세스의 이상 동작이 의심될 경우에도 strace를 통해 프로파일링을 진행한다. 주요 옵션-s : 출력 문자열의 최댓 값. (기본=32, 최대=65535), 출력 값이 잘려서 나올 경우 해당 옵션으로 최댓 값을 주어 다시 실행-t : timestamp, (-tt : microseconds 단위까지 출력, -ttt : 유닉스 타임)-T : 각 시스템 콜이 호출되는데 소요된 시간을 행 끝에 출력-f : fork()로 생성된 자식 프로세스의 시스템 콜까지 추적 (멀티 스레드, 멀티 프로세스 애플리케이션 추적 시 필요)-o : 출력 결과를 파..

Linux 2026.01.05

ss (Socket Statistics)

네트워크 소켓 상태를 확인하는 도구. netstat이라는 명령어도 있는데, netstat을 대체하기 위해 개발된 툴로 훨씬 빠르고 좋다. 자주 사용하는 옵션-a : 모든 소켓 표시 (접속 대기 중인 것과 연결된 것 모두)-t : TCP 소켓만 표시-u : UDP 소켓만 표시-n : 서비스 이름 대신 포트 번호로 표시-l : Listening 상태(접속 대기 중)인 소켓만 표시-p : 해당 소켓을 사용하는 pid와 이름 표시-s : 통계 표시 자주 쓰는 형태ss -tunlp : 현재 리스닝 중인 모든 포트 확인ss -at : 현재 서버에 연결된 모든 TCP 세션 확인ss -s : 프로토콜별로 몇 개의 연결이 있는지 요약 정보 확인 필드 설명Netid : 소켓 유형 (TCP, UDP...)State : 소켓..

Linux 2026.01.02