시스템 모니터링
- top -d 1
 - crontab
 - crontab -l : 크론탬 목록
 - crontab -e : 크론탭 수정
 - crontab -l -u {사용자} : 특정사용자 크론탭 목록(root권한 필요)
 
- ps -ef
 - vmstat 1 100 : 1초 딜레이로 100번 시스템의 상태를 보여준다.
 - sar : 단위 시간별 CPU 상태를 보여준다.
 - 메모리
 - free -lm : 메모리 정보(물리, 사용량, 스왑 등)
 - 스왑메모리 : cat /proc/swaps (크기 및 사용량)
 
시스템 관리
- crontab
 - crontab -l : 크론탬 목록
 - crontab -e : 크론탭 수정
 - crontab -l -u {사용자} : 특정사용자 크론탭 목록(root권한 필요)
 
- su -  : root 로 로그인
 - netstat -ant : 현재 모든 네트워크 상태중 TCP상태를 hostname변환없이 보여준다.
 - shutdown
 - shutdown - r : 재부팅
 - shutdown -h : 종료
 - shutdown -h now : 지금 즉시 종료
 - shutdown -h 3 : 3분후 종료
 
시스템 정보
- uname -a : OS정보를 보여준다.
 - ex > Linux dev 2.6.18-92.el5PAE #1 SMP Tue Apr 29 13:31:02 EDT 2008 i686 i686 i386 GNU/Linux
 
- uptime : OS의 간단한정보(동작시간, 사용자수, load average)를 보여준다.
 - ex >  14:59:44 up 343 days,  2:04,  5 users,  load average: 0.07, 0.02, 0.00
 
- ifconfig : 현재 네트워크 카드의 상태를 보여준다. (root 권한 필요)
 - ulimit -Sa  : OS의 제한 설정을 보여준다.
 - /proc/cpuinfo : CPU정보파일(시스템파일)
 
검색
- grep 
 - grep -r {찾을글자} . : 현 폴더의 하위 폴더까지 포함해서 파일 속에 찾을 글자가 있는 파일을 찾아준다.
 - {명령어} | grep {찾을글자} : {명령어}의 축력 내용에서 찾을 글자가 있는 line 만 보여준다.
 
- find -name "{찾을글자}*" : 현 폴더를 기준으로 찾을글자로 시작되는 파일명을 가진 파일 목록을 보여준다.
 - ls에서 날짜와 파일명만 가져오기
 - $  ls -laRG  --time-style=full-iso |grep -v "\./$"|grep -v "^total " | sed -re 's/^[^ ]* . [^ ]*\s*[^ ]* //'
 
기타
- ctrl+d : 터미널 로그아웃
 - 압축
 - 하기
 - tar cvfzp {압축파일명} {압축대상}
 - tar cvfzp file.tar.gz *   : 현재 폴더의 모든 파일을 압축
 
- 풀기
 - tar xvfzp file.tar.gz : 현재 폴더에 풀기
 
- 목록보기
 
- vi : 텍스트 에디터
 - vi -R {파일명} = view {파일명} : 파일을 읽기 전용으로 열기
 
- Z모뎀으로 전송 (ftp,sftp 접속 없이 서버에서 파일을 올리거나 내려받을 수 있다.)
 - sz {파일명} : 파일을 받을 때
 - rz : 파일을 보낼 때
 - 통신 프로그램에서 지원을 해야함.(secure crt 은 버전에 따라 지원이 됨(6.5.1에서 확인))
 
- 사용자추가 (ROOT 계정으로)
 - useradd -b {홈디렉토리부모디렉토리} 계정명
 - {홈디렉토리부모디렉토리}/계정명 으로 폴더가 생기고 홈 디렉토리로 설정됨
 - useradd -m -b /home -s /bin/bash  계정명
 - -s 옵션으로 bash 로 지정, 우분투는 기본이 dash네.
 
- passwd 계정명
 
- 사용자삭제(ROOT 계정으로)
 - userdel 계정명
 - userdel -r 계정명
 
- 한글 지원
 - export LANG=ko_KR.EUC-KR
 - 텔넷 프로그램에서도 같이 지원되야함.
 - export LANG="ko_KR.UTF-8"  //UTF-8 사용시
 - export LANG="c" //기본으로 되돌릴때
 - export LANG="en_US.utf8" //미국 영어 utf8
 - locale -a : 지원 언어셋 확인
 
- 파일복사
 - cp -arp /home/XXX_source/* /home/XXX_target/
 - -a : 원본파일의 속성, 링크 정보 그대로 유지
 - -r : 서브폴더 포함
 - -p : 소유주,그룹,권한,시장정보 보존
 
접속자 끊기
# w
09:57:21 up 320 days, 20:36,  5 users,  load average: 0.07, 0.06, 0.01
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
newXX    pts/0    115.XXX.XXX.XXX    08:36    0.00s  0.03s  0.06s sshd: newXX [priv]
megaXX pts/1    124.XXX.XXX.XXX    19May17 11days  0.00s  0.00s -bash
XXbowc pts/2    221.XXX.XXX.XXX  09:31    3:10   0.01s  0.01s -bash
XXbowc pts/3    221.XXX.XXX.XXX  09:55    1:45   0.00s  0.00s -bash
megaXX pts/5    124.XXX.XXX.XXX    Fri17    4days  0.01s  0.01s -bash
# skill -KILL {user}  //USER 명 기준으로 종료
# skill -KILL -v {pts/?}  //TTY(세션) 기준으로 종료
.sh 에서 날짜 처리 예제
DT=$(date +%Y%m%d%H%M%S)
YYYY=$(date +%Y)
MM=$(date +%m)
#MM="01"
VM=$(expr $MM + 0)
VM=$(expr $VM + 1)
if [ $VM -eq 13 ]; then
 YYYY=$(expr $YYYY + 1);
 VM=1;
fi
if [ $VM -lt 10 ];then
 VM="0"$VM
fi
YYYYMM=$YYYY$VM
#echo "YYYYMM :" ${YYYYMM}
echo ${YYYYMM}>>${YYYYMM}.log