유용한 리눅스(LINUX) 명령어

시스템 모니터링

  • top -d 1
    • 시스템 프로세스 모니터링(표시 딜레이 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 : 현재 폴더에 풀기
    • 목록보기
      • tar ztvf file.tar.gz
  • vi : 텍스트 에디터
    • vi -R {파일명} = view {파일명} : 파일을 읽기 전용으로 열기
  • Z모뎀으로 전송 (ftp,sftp 접속 없이 서버에서 파일을 올리거나 내려받을 수 있다.)
    • sz {파일명} : 파일을 받을 때
    • rz : 파일을 보낼 때
    • 통신 프로그램에서 지원을 해야함.(secure crt 은 버전에 따라 지원이 됨(6.5.1에서 확인))
  • 사용자추가 (ROOT 계정으로)
    • useradd -b {홈디렉토리부모디렉토리} 계정명
      • {홈디렉토리부모디렉토리}/계정명 으로 폴더가 생기고 홈 디렉토리로 설정됨
    • passwd 계정명
      • 비밀번호를 2번 물어봄.
  • 사용자삭제(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
댓글
  • No Nickname
    No Comment
  • 권한이 없습니다.
    {{m_row.m_nick}}
    -