이 웹사이트를 탐색하는 데 문제가 있습니다. 존재하다이것특별한 문제는 lsof 명령이 특정 사용자에 대해 열려 있는 파일을 나열하는 데 사용되는 것을 보았습니다. 터미널에서 다음 명령을 실행했습니다.
lsof -a -u root -d txt
매우 긴 출력이 표시되는데 이는 (적어도 나에게는) 전혀 관련이 없습니다. 생성된 출력을 이해하기가 어렵습니다. 이것은
mapping-d 3992 root txt REG 8,5 29728 7169187 /usr/libexec/mapping-daemon
clock-app 4005 root txt REG 8,5 88048 7169216 /usr/libexec/clock-applet
mixer_app 4007 root txt REG 8,5 53484 7169197 /usr/libexec/mixer_applet2
gnome-scr 4078 root txt REG 8,5 168628 1337742 /usr/bin/gnome-screensaver
notificat 4081 root txt REG 8,5 34732 1324168 /usr/libexec/notification-daemon
gnome-ter 4219 root txt REG 8,5 309400 1318348 /usr/bin/gnome-terminal
gnome-pty 4221 root txt REG 8,5 12384 1899888 /usr/lib/vte/gnome-pty-helper
bash 4222 root txt REG 8,5 735932 196459 /bin/bash
firefox 15551 root txt REG 8,5 121288 2424613 /usr/lib/firefox/firefox
npviewer. 15790 root txt REG 8,5 174364 1996912 /usr/lib/nspluginwrapper/npviewer.bin
bash 15908 root txt REG 8,5 735932 196459 /bin/bash
lsof 16014 root txt REG 8,5 129820 1323233 /usr/sbin/lsof
lsof 16015 root txt REG 8,5 129820 1323233 /usr/sbin/lsof
내가 오픈하면 기대돼txt파일은뿌리사용자, 실행하면 해당 파일에 대한 정보만 표시됩니다.라소프주문하다. 누군가 이 명령이 실제로 생성하는 출력을 이해하도록 도와줄 수 있습니까?
답변1
출력은 열로 구성됩니다. 나중에 볼 수 있도록 이 출력을 파일에 저장하려면 다음을 수행하십시오.
$ lsof -a -u root -d txt > somefile.txt
이 열은 바로 상단에 있습니다.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
열 설명
열은 다음과 같습니다.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mapping-d 3992 root txt REG 8,5 29728 7169187 /usr/libexec/mapping-daemon
clock-app 4005 root txt REG 8,5 88048 7169216 /usr/libexec/clock-applet
mixer_app 4007 root txt REG 8,5 53484 7169197 /usr/libexec/mixer_applet2
주문하다- 해당 파일을 사용하고 있는 실행 파일의 이름입니다.
PID- 실행 파일의 프로세스 ID인 프로세스 ID입니다. 명령의 출력에서도 이러한 내용을 볼 수 있습니다
ps
.사용자- 이 프로세스가 소유한 사용자 ID입니다.
FD- 파일 설명자. 텍스트 파일 설명자( )만 사용하도록 지정했으므로 이 열에는 해당 내용
-d txt
만 표시되어야 합니다 . "txt 프로그램 텍스트(코드 및 데이터)"에 대한 매뉴얼 페이지txt
에서lsof
유형- 파일과 관련된 노드 유형을 나타냅니다. 매뉴얼 페이지를 다시 확인하십시오
lsof
. 노드에는 다양한 유형이 있습니다. 여기서는 주로 일반 파일을 다루므로 키워드가 표시됩니다REG
.장비- 이 열에는 장치 번호가 포함됩니다. 이는 시스템 디렉토리의 특정 파일에 해당하는 장치입니다
/dev
.사이즈/마감- 파일 크기 또는 파일 오프셋(바이트)입니다.
마디- 매뉴얼 페이지를 참조하십시오
lsof
. 일반적으로 로컬 파일의 노드 번호 또는 서버 호스트에 있는 NFS 파일의 inode 번호이지만 다른 값일 수도 있습니다.이름- 파일 이름 또는 파일이 있는 마운트 지점 및 파일 시스템의 이름입니다.
답변2
lsof
어떤 방식으로든 프로그램이 액세스하는 모든 파일을 나열합니다. 네 번째 열( FD
)은 프로그램이 파일에 액세스하는 방법을 설명합니다. 다음은 몇 가지 일반적인 시나리오입니다(다른 시나리오도 있음).
- 숫자: 프로세스에 의해 파일이 열리고 숫자는 파일 설명자입니다. 파일 이름 뒤의 문자는 열기 모드(예:
r
읽기 전용,w
쓰기 전용,u
둘 다)를 나타냅니다. cwd
: 이 파일은 프로세스의 현재 작업 디렉터리입니다.txt
: 이 파일은 프로세스의 실행 파일입니다.mem
: 파일이 프로세스의 가상 메모리 공간에 매핑됩니다.
설명자 유형 txt
은 사람이 읽을 수 있는 텍스트나 .txt
. 여기서 "텍스트"는 다음과 같은 실행 가능한 코드를 가리키는 이상한 용어입니다.텍스트 세그먼트코드가 포함된 실행 파일의 일부입니다.이 이상한 이름은Unix 이전의 프로그래밍 커뮤니티(General Electric, Unix 세계에서 또 다른 명명 유산은 "GECOS 필드").
따라서 여러분이 보는 것은 각 프로세스의 주요 실행 파일입니다.