현재 실행하고 있는 파일의 목록을 확인하고 파일 정보와 프로세스 정보를 보여준다.

사용법 : lsof [옵션] [파일] 
-a : 파일을 선택하는데 AND 연산으로 대상을 보여준다. 
-c : 지정한 COMMAND 필드의 내용만 보여준다. 
-F : 지정한 구분자로 필드를 구분하여 보여준다. 
-g : 지정한 그룹 아이디를 사용하는 관련 프로세스를 보여준다. 
-i : 현재 사용되는 소켓 정보를 보여준다. 
-l : 로그인 네임 대신에 UID를 출력한다. 
-n : 호스트 이름 대신에 IP 주소를 보여준다. 
-P : 포트 서비스이름 대신에 포트 넘버를 보여준다. 
-r : 지정한 초의 주기로 반복해서 보여준다. 기본값은 15초이다. 
-s : 파일의 크기를 보여준다. 
-V : 자세한 정보를 보여준다. 
-?,h : 도움말을 보여준다. 

lsof 명령어는 현재 열려 있는 모든 파일들에 대한 자세한 표와 각각의 파일에 대한 소유자, 크기, 관련 프로세스 등의 정보를 보여준다.

# lsof |more 
COMMAND     PID   USER   FD   TYPE     DEVICE     SIZE      NODE NAME 
init          1   root  cwd    DIR        3,1     4096         2 / 
init          1   root  rtd    DIR        3,1     4096         2 / 
init          1   root  txt    REG        3,1    26920    798208 /sbin/init 
init          1   root  mem    REG        3,1    89547    342064 /lib/ld-2.2.5.s 
o 
init          1   root  mem    REG        3,1  1402035   2036003 /lib/i686/libc- 
2.2.5.so 
init          1   root   10u  FIFO        3,1              37958 /dev/initctl 
---------------------생략------------------ 

COMMAND 필드 중 sshd와 관련된 시스템에서 사용하는 파일들을 살펴보자.

lsof -c sshd 
COMMAND  PID USER   FD   TYPE  DEVICE    SIZE    NODE NAME 
sshd     699 root  cwd    DIR     3,1    4096       2 / 
sshd     699 root  rtd    DIR     3,1    4096       2 / 
sshd     699 root  txt    REG     3,1  260616  358439 /usr/sbin/sshd 
sshd     699 root  mem    REG     3,1   89547  342064 /lib/ld-2.2.5.so 
sshd     699 root  mem    REG     3,1   35698  342154 /lib/libpam.so.0.75 
sshd     699 root  mem    REG     3,1   12102  342086 /lib/libdl-2.2.5.so 
sshd     699 root  mem    REG     3,1   11174  342102 /lib/libutil-2.2.5.so 
sshd     699 root  mem    REG     3,1   59695  325861 /usr/lib/libz.so.1.1.4 
sshd     699 root  mem    REG     3,1   89424  342068 /lib/libnsl-2.2.5.so 
sshd     699 root  mem    REG     3,1  929382  342138 /lib/libcrypto.so.0.9.6b 
sshd     699 root  mem    REG     3,1 1402035 2036003 /lib/i686/libc-2.2.5.so 

-i 옵션을 사용하여 현재 열려있는 소켓 정보를 살펴 볼 수 있다. TCP와 UDP를 각각 지정하여 볼 수도 있다. 지금 시스템에서 NAME 필드의 *:서비스명으로 현재 서비스 대기 상태의 현황을 살 펴 볼 수있다.

# lsof -iTCP 
COMMAND    PID USER   FD   TYPE  DEVICE SIZE NODE NAME 
snmpd      657 root    4u  IPv4     886       TCP *:smux (LISTEN) 
sshd       699 root    3u  IPv4    1195       TCP *:ssh (LISTEN) 
mysqld     780 root    3u  IPv4    1297       TCP *:mysql (LISTEN) 
mysqld     794 root    3u  IPv4    1297       TCP *:mysql (LISTEN) 
mysqld     795 root    3u  IPv4    1297       TCP *:mysql (LISTEN) 
sendmail   796 root    4u  IPv4    1335       TCP *:smtp (LISTEN) 
mysqld     817 root    3u  IPv4    1297       TCP *:mysql (LISTEN) 
----------------중략--------------------------- 
named    10404 root   14u  IPv4 1060445       TCP 192.168.0.1:domain (LISTEN) 
named    10404 root   15u  IPv4 1060447       TCP localhost.localdomain:rndc (LISTEN) 
httpd    10605 root   27u  IPv4 1064911       TCP *:https (LISTEN) 
httpd    10605 root   28u  IPv4 1064912       TCP *:http (LISTEN) 
xinetd   29022 root    5u  IPv4 1274887       TCP *:pop3 (LISTEN) 
xinetd   29022 root    6u  IPv4 1274888       TCP *:ftp (LISTEN) 
2005/06/17 19:08 2005/06/17 19:08
터미널에서 사용하는 메일 클라이언트 프로그램

사용법 : 
mail [-옵션] [-s제목] [-c참조] [-b숨은참조] 받는사람 
mail [-옵션] -f 파일명 
mail [-옵션] -u 사용자ID 
-v : 메일을 보내는 과정의 메세지를 자세히 보여준다. 
-i : tty 인터럽트 신호를 무시한다. 
-n : 메일프로그램 시작 시 /etc/mail.rc 파일을 읽지 않는다. 
-N : 초기 화면에서 메일 목록을 보여 주지 않는다. 
-s 제목 : 발송 메일의 제목을 적는다. 
-c 참조 : 같이 메일을 받을 사람을 추가한다. 
-b 숨은참조 : 같이 메일을 받은 사람을 추가한다. 숨은 참조 된 사람은 메일을 받은 다른사람에게는 보이지 않는다. 
-f : 파일로 부터 메일을 읽어 온다. 
-u : 사용자 계정 지정 

mail은 터미널에서 사용하는 메일 클라이언트 프로그램이다. 메일을 보내고 받고 정리할 수 있다.

받은 편지 확인
자신의 계정을 사용 중에 받은 편지를 확인하려면 mail 만 입력한다.
다음은 관리자 모드에서 특정 계정의 받은 편지를 확인 할 때 쓰인다.

# mail -u pirania 

mail을 실행하면 초기 화면에 받은 편지의 목록이 나온다.

편지상태
N 새 메세지
P 시스템의 메일박스에 저장
U 읽지 않은 메일

처음 수신된 편지부터 확인하려면를 누른다. 특정 편지를 보기를 원한다면 & 편지 번호를 지정한다.

&1 <Enter> 
---------내용---------- 
& 

mail 명령어
mail의 여러기능은 명령어를 통해 이루어진다. 명령어 입력 모드는 "&"로 표시한다.

n 다음 편지로 이동한다.
f <편지번호> 편지목록을 보여준다. f * 또는& f a 모든 편지 목록을 볼 수 있다.
d <편지번호> 지정한 편지 번호의 편지를 지운다.
s <편지번호> 파일파일에 지정한 편지 내용을 저장한다.
u <편지번호> 편지를 지우지 않는다.
R <편지번호> 회신 한다.
r <편지번호> 전체 회신 한다.
q mail 종료
x mail 종료, 시스템 메일박스에서 삭제하지 않는다.
h 메세지의 헤더 부분을 출력한다.
! 셀 명령어를 실행한다.
e Ex 모드로 메세지를 편집한다.

회신 보내기
편지 보기 명령 창에서 현재 메일에 회신을 보내기를 원하면 R 명령을 입력한다.
내용을 다 입력하면 를 눌러 편지 입력을 종요합니다.

편지 보내기
mail을 실행한 상태에서 명령창에 &m 주소의 형식으로 입력하는 것 만으로도 편지를 발송할 수 있다.
mail를 실행시키지 않는 상태에서 참조인(-c) 숨은 참조(-b)을 포함한 메일을 발송해 보자. 메일이 보내는 과정을 보려면 -v 옵션을 사용한다.

mail 명령으로는 바이너리 파일을 바로 첨부할 수 없었다. 그래서 파일을 디코드하여 텍스트 형태로 전송할 수 있게 만들어 보내곤 했다. 현재에는 pine이나 넷스케이프 메일러, K 메일러 등 파일 첨부가 자유로운 메일 클라이언트를 많이 사용한다.
2005/06/17 19:06 2005/06/17 19:06
발송될 메일의 정보를 본다.

사용법 : mailq [옵션] 
-v : 큐 내용을 자세히 보여준다. 

sendmail을 통해 발송 되는 메일은 큐에 쌓여서 발송 대기를 하게 된다. mailq 명령어는 메일이 대기되어 있는 목록을 보여준다.

QID 메일 큐 ID를 보여준다.
Size 본문의 사이즈를 보여준다.
Priority 메일의 우선 순위를 보여준다.
Q-Time 메일이 큐에 들어와 대기하기 시작한 시간을 보여 준다.
Sender/Recipient 메일의 발신인과 수신인을 보여준다. 또한 메일의 상태를 볼 수 있다. 여기서는 deferred 씌어져 발송되 메일이 연기 되었음을 알수 있다.

[관련 명령어]
sendmail -bp 발송될 메일이 대기한 상태를 보여준다. mailq와 같은 명령어이다.
2005/06/17 19:05 2005/06/17 19:05