-
리눅스 명령어 치트시트 정리기타/과제 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 -xtail 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 절대 경로를 사용하여 이동 '기타 > 과제' 카테고리의 다른 글
스프링 서버프로그램 구현 (0) 2021.02.16 TCP / UDP 통신에 관하여 (0) 2021.01.18 2020.11.30 시험문제 풀이 (sql 질의 작성) (0) 2020.11.27 JDBC를 이용해 테이블 만들기 과제2 (0) 2020.11.24 추상클래스와 인터페이스의 정의 및 활용법 (0) 2020.11.24