ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 리눅스 명령어 치트시트 정리
    기타/과제 2021. 1. 15. 17:11

    1. 시스템 정보

    uname -a 리눅스 시스템 정보 표시
    uname -r 리눅스 커널 정보 표시
    cat /etc/redhat-release 설치 버전 확인
    uptime 시스템 부하율 및 서버 가동시간
    hostname 시스템 이름 확인 및 변경
    hostname -I 호스트의 ip주소 확인
    last reboot 시스템 재부팅 기록
    date 현재 날짜 및 시간 
    cal 이번달 달력 표시
    w 온라인 상태 표시
    whoami 로그인 한 사람 표시 

    uptime

    11:00:55 - 현재 시간

    up 0 min - 부팅 후 서버의 가동시간

    load average:0.00, 0,00, 0.0 - 최근 1분 5분 15분 동안 시스템의 평균 부하율

     

     

    2. 하드웨어 정보

    dmesg 시스템 부팅 메세지를 확인
    cat /proc/cpuinfo cpu 정보 표시
    cat /proc/meminfo 메모리 정보 표시
    free -h 사용가능한 메모리와 사용된 메모리 표시
    lspci -tv PCI 장치 표시
    lsusb -tv USB 장치 표시
    dmidecode 컴퓨터의 메인보드에 있는 DMI테이블의 정보를 사람이 읽을 수 있는 형태로 출력
    BIOS에서 확인 가능한 하드웨어 정보를 OS상에서 확인
    hdparm -i /dev/sda 시스템에 장착된 하드디스크의 설정을 확인 및 설정
    hdparm -tT /dev/sda 읽기 속도 테스트
    IDE, SCSI 하드디스크의 ACCESS속도를 측정할 때 많이 사용
    badblocks -s /dev/sda 하드 디스크의 배드블럭을 검사
    사용 방법 : badblocks [-b block_size] [-o 출력파일] [-v] [-w] 장치명
    -b block_size = 블럭크기를 byte 단위로 표시
    -o 출력파일 = badblock의 목록을 파일로 저장
    -v = 자세한 내용을 출력
    -w = 쓰기 모드 test. (소요시간이 길고 data가 존재할시 삭제됨)

     

    3. 성능 모니터링 및 통계

    top 리눅스 시스템의 운용상황을 실시간으로 모니터링하거나 프로세스를 관리 할 수 있는 유틸리티
    htop MS윈도우의 작업관리자와 비슷
    CUP 사용량, 메모리 사용량 등 리눅스 운영체제에서 시스템 자원을 비주얼적으로 모니터링 할 수 있다.
    mpstat 모든 CPU 평균에 대한 정보를 출력함
    vmstat 프로세스, 메모리, 페이징, I/O 블럭, CPU 활동 사항들의 정보를 출력하는 기능을 합니다.
    iostat CPU 정보를 출력
    명령어 : iostat -c [출력시간] [횟수]

    디스크 장치의 입출력 정보 출력
    명령어 : iostat -d [출력시간] [횟수]

    지정된 디스크 장치의 정보 출력
    명령어 : iostat -p  /dev/장치명

    확장된 통계 정보를 출력
    명령어 : iostat -x
    tail 100 /var/log/messages 파일의 뒷부분을 지정된 만큼 보여주는 명령어
    기본 출력은 파일의 마지막 10줄을 보여줍니다
    tcpdump -i eth0 인터페이스 eth0를 보여줌
    tcpdump -i eth0 'port 80' tcp 80 포트로 통신하는 패킷을 보여줌
    lsof 시스템에 열려 있는 파일에 대한 정보를 출력
    lsof -u user 명령어를 실행한 유저
    free -h 여유 및 사용 메모리 표시
    watch 원하는 명령어의 결과를 원하는 시간(초) 주기로 리프레시 하여 결과를 보여준다

     

    4. 사용자 정보 및 관리

    id 사용자 정보, uid, gid, 소속그룹 정보 확인
    last 로그인과 재부팅 로그 출력
    who 호스트에 로그인한 사용자 정보를 출력
    w 서버에 접속한 사용자의 접속정보 및 작업 정보내용을 확인
    groupadd 그룹이름 그룹을 생성한다
    useradd -c "코멘트" -m 사용자이름 사용자(유저)를 추가 한다
    userdel 사용자계정 기존에 존재하는 계정 정보를 삭제한다
    usermod 사용자 계정 정보를 수정

     

     

    5. 파일 및 디렉토리 명령

    ls -al ls: 현재 경로에 있는 파일 및 디렉토리 정보를 출력
    긴 목록 형식으로 모든파일 나열
    pwd 현재 작업중인 디렉토리의 절대 경로를 출력
    mkdir directory 디렉토리를 생성할 때 사용
    rm 삭제할 파일이름 파일을 삭제한다
    rm -r 디렉토리이름/ 디렉토리를 삭제
    rm -f  강제로 파일이나 디렉토리를 삭제하고 대상이 없을 경우 메세지를 출력하지 않음
    rm -rf 디렉토리이름 디렉토리를 강제로 제거
    cp file1 file2 file1 파일을 똑같이 복사해서 file2를 생성
    cp -r  디렉토리 전체 복사
    mv 기존 위치에서 지정한 위치로 파일 및 디렉토리를 이동
    ln -s /path/to/file linkname 한 파일을 다른 파일 이름으로도 사용하고자 할 때 사용하는 명령어
    윈도우 바로 가기와 비슷
    touch file 파일의 타임스탬프를 현재시간으로 업데이트
    cat file cat명령 뒤에 파일 이름을 입력하면 그 파일의 내용을 출력한다
    less file 파일의 내용을 화면의 단위인 페이지로 출력해서 보여준다
    head file 파일의 앞부분을 보여주는 명령어 
    주로 대용량의 로그 파일이나 문서 파일을 볼때 사용
    행 수나 요량을 지정할 수 있어 보고 싶은 분량을 지정할 수 있다 
    tail file 파일 내용을 뒤에서부터 출력해주는 명령어
    tail -f file 명령어 실행도중 파일명이 변경 되었더라도 tail 명령어를 실행했을 때 사용한 파일명의 파일 내용을 계속 출력한다.

     

     

    6. 프로세스 관리

    ps 현재 실행중인 프로세스 목록을 보여준다.
    ps -ef | mroe 모든 프로세스를 풀 포맷으로 보여준다
    ps -ef | grep 키워드 모든 프로세스의 출력값을 grep을 이용하여 키워드가 포함된 라인들을 출력
    top 상위 프로세스 표시 및 관리
    htop 대화형 프로세스 뷰어
    kill pid pid의 프로세스 id로 프로세스 종료
    killall 프로세스이름 프로세스 이름의 모든 프로세스를 종료
    program & 백그라운드에서 프로그램 시작 
    bg 현재 실행중인 프로세스를 백그라운드 작업으로 전환하는 쉘내부명령어
    fg 현재 백그라운드로 실행중인 명령어를 포그라운드작업으로 전환 할때 사용
    fg n 작업 n을 포그라운드로 가져온다

     

    7. 네트워킹

    ifconfig -a 모든 네트워크 인터페이스 및 ip 주소 표시
    ifconfig eth0 eth0주소 및 세부정보표시
    ethtool eth0 지원되는 링크 모드와 속도, Duplex 상태 등을 표시
    ping 외부 호스트 서버가 네트워크상으로 접근이 가능한지 확인해보는 명령어
    whois 도메인명 혹은 ip 도메인 이름의 소유자가 누구인지 알려주는 명령어
    dig 도메인 도메인 조회
    dig -x IP_ADDRESS IP_ADDRESS 역방향 조회
    host 도메인 도메인(호스트)명은 알고 있는데 ip주소를 모르거나 그 반대의 경우 사용
    hostname -i 호스트의 ip주소를 출력
    hostname -I 모든 로컬 ip주소 출력
    wget 다운로드주소 웹 상의 파일을 다운로드 받을 때 사용
    netstat 네트워크 연결상태, 라우팅테이블, 인터페이스 상태등을 보여주는 명령어

     

    8. 아카이브

    tar cf  파일명 디렉토리 디렉토리를 파일명 이란 이름으로 합친다
    tar xf 파일명 파일명 압축해제
    tar czf 파일명 디렉토리 디렉토리에 있는 파일명을 압축한다
    tar xzf 압축해제 
    tar cjf archive.tar.bz2 directory tar.bz2로 압축으로 tar파일 만들기
    tar xjf archive.tar.bz2 tar.bz2 압축해제

     

    9. 패키지 설치

    yum search 키워드 키워드로 시작하는 패키지를 검색
    yum install 패키지 시스템으로 패키지의 install을 실시
    yum info 그룹or패키지 패키지 또는 그룹의 패키지를 자세하게 확인
    rpm -i package.rpm 패키지 설치
    yum remove 패키지 패키지 삭제
    tar zxvf sourcecode.tar.gz cd sourcecode ./configure make make install 소스코드에서 소프트웨어 설치 

     

     

    10. 검색

    grep 검색어 file 파일에서 검색어 검색
    grep -r 검색어 directory 모든 하위 디렉토리에서 검색
    locate 이름 이름으로 파일 디렉토리 찾기
    find 경로 -name '검색어*' 경로에서 검색엉로 시작하는 파일 찾기 
    find 경로 -size +100M 경로에서 100메가보다 큰 파일 찾기

     

     

    11. SSH 로그인

    ssh host 로컬 사용자 이름으로 호스트 연결
    ssh user@host 사용자로 호스트 연결
    ssh -p port user@host 포트번호를 사용하여 호스트 연결

     

    12. 파일전송

    scp 파일명 server:경로 파일을 해당 경로로 복사하세요
    scp server:/var/www/*.html 폴더경로 HTML 파일을 서버에서 로컬 폴더 경로로 복사
    scp -r server:/var/www 폴더경로 모든 파일과 디렉토리를 서버 폴더 경로로 복사
    rsync -a /home /backups/ /home 폴더를 /backups/폴더로 동기화

    rsync -avz /home
    server:/backups/

     

     

    13. 디스크 사용량

    df -h 파일 시스템의 여유공간 및 사용공간을 사람이 읽기 쉬운 형태로 출력 (기본 kb)
    df -i 마운트된 파일시스템의 
    fdisk -l 할당되지 않은 디스크를 확인한다
    du -ah 현재 디렉토리 아래의 모든 파일과 디렉토리 사용 정보를 보기쉽게 출력
    du -sh 간단하게 총 사용량만 요약하여 출력

     

     

    14. 디렉토리 네비게이션

    cd .. 상위 디렉토리로 이동
    cd home 디렉토리로 이동
    cd / etc 절대 경로를 사용하여 이동

    댓글

Designed by Tistory.