서버에서 메일을 검색하여 가져오는 유틸리티이다.

사용법 : fetchmail [옵션] [메일서버] 
-V --version : 버전 정보를 보여준다. 
-c --check : 실제로 메일을 가져오거나 삭제하지 않고 대기하는 상태 
-s --silent : 메시지를 보이지 않는다. 
-v --verbose : 진행상황을 자세히 보여준다. 
-u --username : 메일서버에 접속할 사용자 계정을 지정한다. 
-p --protocol : 프로토콜을 지정한다. 아래는 지정 가능한 프로토콜이다. 
AUTO, POP2, POP3, APOP, RPOP, KPOP, SDPS, IMAP, ETRN, ODMR 
-K --nokeep : 메일을 검색한 후 새로운 메시지를 서버상에서 삭제한다. 
-k --keep : 메일을 검색한 후 새로운 메시지를 서버상에서 저장한다. 

fetchmail은 POP2, POP3, IMAP2bis, IMAP4, IMAPrevl 같은 프로토콜을 통해 서버에서 메일을 가지고 오고, 메시지는 로컬에 있는 센드메일을 통해 25포트로 전달하게 된다.
먼저, 테스트를 위해 메일을 mail 명령을 통해 메시지를 보낸다.

# mail admin@linuroot.co.kr 
Subject : fetchmail testing 
test 

. 
Cc: 
# fetchmail -p pop3 -u admin -k mail.linuxroot.co.kr 
Enter password for admin@mail.linuxroot.co.kr 
fetchmail: No mail for admin at mail.linuxroot.co.kr 
You have new mail in /var/spool/mail/root 

보낸 메일을 로컬에 저장하기 위해 아래의 명령을 실행한다.
프로토콜을 POP3로 지정하며, 검색된 메일은 POP3서버에 저장해 둔다. 확인결과 새로운 메시지가 /var/spool/mail/root 파일로 저장이 된 것을 볼 수 있다.
2005/06/21 20:12 2005/06/21 20:12
파일의 종류를 파일 정보 데이터 파일에서 검색하여 반환한다.

사용법 : file [옵션] 파일 
-b : 지정한 파일명은 보여주지 않고, 파일의 유형만을 보여준다. 
-f : 파일목록 : 파일목록에서 지정한 파일들에 대해서 명령을 실행한다. 
-i : 보통의 보기 쉬운 것보다 MIME 타입을 보여준다. 
   (예를 들면, ASCII text를 text/plain; chatset-us-ascii 형태로 보여준다.) 
-m 매직파일 : 디폴트로 지정된 /etc/magic을 사용하지 않고, 매직파일을 지정한다. 
-L : 심볼릭 링크된 파일을 추적하여 시도한다. 
-v : 버전정보를 보여준다. 
-z : 압축된 파일에 대해서 명령을 시도한다 

file 명령어는 파일 종류를 구분짓는 유틸리티로 file 명령 뒤에 파일 이름을 입력하면 ascii나 text나 date같은 파일명의 종류를 알려 준다. /usr/share/magic 혹은 /usr/lib/magic이라는 파일에 여러 파일에 대한 정보를 가지고 있어 파일의 종류를 알 수 있다.
아래 예제는, test 파일에 대한 파일 유형을 알려 준다.

# file test 
test1: ASCII text 

-b 옵션을 사용하면 저장한 파일명은 제외하고 유형만을 볼 수 있다.

# file -b test 
ASCII text 

-i 옵션은 MIME 타입을 볼 수 있다.

# file -i test1 
file: Using regular magic file /usr/share/magic.mime' 
test1: text/plain; charset=us-ascii 
2005/06/21 20:11 2005/06/21 20:11
주어진 조건에 따라 디렉토리의 트리를 검색하여 해당되는 파일을 찾는 명령어이다.

사용법 : find [패스] [옵션] [작업] 
-name name : 지정된 이름의 파일을 찾는다. 
-user name : user 소유의 파일을 찾는다. 
-type [bcdfls] : 지정된 형식의 파일을 찾는다. 
 b 블록파일 
 c 문자 
 d 디렉토리 
 f 파일 
 l 링크파일 
 s 소켓 
-size [+/-]n[bckw] : 지정된 크기의 파일을 찾는다. 
 +n n보다 크다 
 -n n보다 작다 
 n n이다 
 b 512-byte 
 c byte 
 k kilobytes 
 w 2-byte 
-inum number : 지정한 inode 번호와 파일을 찾는다. 
-print : 표준출력으로 검색된 파일명을 출력한다. 
-exec command {} \; : 찾은 각 파일에 대해 지정된 명령을 실행한다. 
-ok command {} \; :실행여부를 사용자에게 확인한 후 명령을 실행한다. 

find 명령어는 복잡해 보이는 파일 시스템 구조를 갖는 리눅스에서 파일을 찾는 명령어이다. 실제로 find는 파일 검색보다 선택 조건에 일치하는 파일을 찾아서 명령을 실행하는 파일 시스템으로 사용된다.
기본적으로 이름으로 찾는 find 사용법을 알아보고 명령 행을 이용한 find 사용법을 알아 보자.
find는 검색할 경로를 미리 정의한 후 옵션과 사용법이 붙게 된다. root 디렉토리에 word.awk를 검색해보자. 이름을 기준으로 검색할 경우 -name 옵션을 사용해야 한다.

# find /root -name word.awk 
/root/word.awk 

exec command \; 는 find가 찾아낸 각각의 파일에 대해 command를 실행한다.
command는 \; 로 끝나야 한다.

A.현재 디렉토리에 있는 모든 파일명 나열하기

# find . -print 

B.현재 디렉토리에 있는 디렉토리 나열하기

# find . -type d -print 

C.현재 디렉토리에서 파일 이름에 공백 문자가 들어간 모든 파일을 삭제하기

# find . -name "* *" -exec rm -f {} \; 

D. 현재 디렉토리 파일들 중 파일이름에 정상적이지 않은 글자를 포함한 파일을 지우기

# for filename in * 
>do 
>badname=echo "$filename" | sed -n >/[\+\{\;\"\\\=\?~(\)\<\>\&\*\/\$]/p 
>rm $badname 2>/dev/null 
>done 



E.원하는 파일시스템 모두 복사하기


# mkdir /hdc1 
# mount /dev/hdc1 /hdc1 
# cd /home 
# find . -depth -print | cpio -pmdvl /hdcl 

F.지난 24시간 동한 변경된 모든 파일 목록을 changelist 파일에 만들기

# find / -mtime -1 \! -type d -print > chagelist 
2005/06/21 20:10 2005/06/21 20:10