[Linux] 볼륨 파티션, 포맷, 마운트 ✔ 신규 볼륨으로 AWS EBS 사용 EBS는 볼륨을 늘리는 것은 쉽게 가능하지만 줄이는 것은 굉장히 어려우니, 처음부터 불필요 한 용량의 너무 큰 볼륨 디스크를 사용하는것은 지양 그리고 가용영역이 똑같아야함!! 가용영역이 다르면 스냅샷으로 옮기는 방법이 있긴하지만 매우 번거로우니 ec2가 올라간 곳과 동일한 가용영역에 볼륨을 생성 볼륨을 연결 한 후 lsblk 명령어를 사용하면 disk가 잘 붙은 모습을 볼 수 있다. 하지만 아직 파티션과 포맷이 되지 않은 상황 파티션 -> 포맷 -> 마운트까지의 절차를 지금부터 알아보자 1. 디스크 파티션 관리 ⚠ 파티션을 조작할 땐 신중해야 한다. 잘못된 조작은 데이터 손실이나 시스템 오작동을 유발할 수 있다. 그리고 반드..
[Linux] Disk 관리 디스크 용량 단위 운영 체제는 저장 장치의 단위로 바이트(Byte)를 사용 리눅스 시스템 전체의 디스크 사용량 확인 #파티션을 기준으로 디스크 사용량을 출력 df #파일이나 디렉토리를 기준으로 디스크 사용량을 출력 du 용량을 메가(MB) 기가(GB) 단위로 표시 (기본 단위는 KB) df -h 파일이나 디렉토리를 기준으로 디스크 사용량 확인 디스크 디바이스 정보 1. 디스크 디바이스 이름 확인 sda, sdb, sdc, sdd 등으로 확인 루트전용은 앞에 x가 붙음 (ex. xvda, xvdf, xvdg) 등 2. 논리적으로 분리된 디스크 파티션 확인 sda -> sda1, sda2 xvda sda -> xvda1, xvda2 리눅스 디스크 디바이스 확인 lsblk #전체 ..
[Linux] 원격 접속하기 & 파일 전송하기 (SSH, SCP) SSH : 원격으로 다른 컴퓨터에 로그인 할 때 사용되는 프로토콜 SSH 로그인 ssh 유저명@호스트명 또는 IP주소 ssh ubuntu@172.0.0.1 포트 번호 지정 ssh -p 포트번호 유저명@호스트명 또는 IP주소 ssh -p 2222 ubuntu@172.0.0.1 연결 종료 exit SCP : 원격 호스트와 로컬 호스트 간 파일을 복사하기 위한 프로토콜 1. 원격 호스트 -> 로컬 호스트 원격 머신의 "/home/ubuntu/test.txt" 파일을 로컬 머신의 "/tmp/" 디렉토리로 복사 ssh 유저@호스트: scp ubuntu@example.com:/home/ubuntu/test.txt /tmp/ 2. 로컬 호스트 -> 원..
[Linux] 리눅스 파일 압축 tar Archiving : 원본의 속성을 그대로 보존하면서 여러개의 파일/디렉토리 묶어서 보존(Backup) tar 특정 디렉토리 안의 파일을 하나의 Archive 파일로 묶어 보관 tar -f file 새롭게 만들 아카이브 파일의 이름을 지정할 때 사용 (기본 옵션) -c create 새로운 아카이브를 생성, 기존 아카이브 덮어쓰기 (파일 묶을 때 사용) -t list 아카이브 파일에 포함된 내용 출력 -v verbose 처리되는 과정(파일 정보)를 자세히 나열 -x extract 아카이브 파일을 해제 zip Compression : 큰 사이즈의 파일을 작은 사이즈로 압축해서 보존 zip 하나의 파일로 묶어주고(Archiving) 무손실 압축(Compression)을 ..
[Linux] 리눅스 Crontab 크론탭 유닉스, 리눅스, 맥OS 등의 운영체제에서 사용되는 작업 예약 프로그램 일정 시간마다 실행 될 커맨드나 스크립트를 정의 할 수 있음 자동적으로 실행 될 작업을 관리할 수 있도록 도와줌 크론탭 구성 (리눅스의 시간) * * * * * 순서대로 분 시 일 월 요일 분 0~59 시 0~23 일 1~31 월 1~12 요일 0 1 2 3 4 5 6 7 (0과 7 둘다 일요일) ' * ' 는 해당 필드의 모든 시간을 의미 콤마(,) 로 구분하여 여러 시간대를 지정할 수 있음 하이픈(-) 으로 시간 범위를 지정 할 수 있음 (ex. * 2-10 * * *) 슬래쉬(/)로 시간 간격을 지정할 수 있음 (ex. */3 * * * *) 크론탭 기본 명령어 예약된 작업 리스트 출력..
리눅스 쉘 프로그래밍 (2) 1. 조건문 쉘 스크립트 조건문 if-then-fi 조건 명령어, command 실행 결과에 따른 서로 다른 command를 실행 if grep 계정명 /etc/passwd &> /dev/null then 계정이 존재합니다 else 계정 생성 fi case $var의 값에 따라 선택해서 명령어를 실행 echo -n "What do you want?" read answer case $answer in yes) echo "System restart.";; no) echo "shutdown the system.";; *) echo "entered incorrectly";; esac 2. 반복문 쉘 스크립트 반복문 while 다음의 command가 성공하는 동안 do~done 사이의..
리눅스 쉘 프로그래밍 1. 리눅스 Shell Script 리눅스 쉘 스크립트 리눅스 command들을 모아 놓은 ASCII Text 파일 실행 퍼미션을 할당해야 실행 가능 (chmod) Shell 구문은 기본 top-down 방식으로 해석해서 실행됨 ✔ #으로 시작하는 line은 comment (주석) ✔ #!/bin/bash를 최상단에 적어줘야지 bash로 실행 가능 위치 매개 변수 Positional Parameters $1, $2, $3와 같은 변수에 저장되어 Script에 전달 2. Input & Output echo 문자열이나 변수를 출력하는 명령어 echo 옵션 메세지 -n : 메시지 출력 후 newline 문자를 추가하지 않음 -e : backslash escape 문자를 해석하여 특별한 의..
리눅스 Shell 명령어 1. 리눅스 Shell Shell Shell 명령어 해석기 사용자가 프롬프트에 입력한 명령을 해석해서 운영체제에게 전달 Shell의 종류 Bourne shell (sh) AT&T 벨 연구소의 스티븐 본이 개발한 오리지널 셸 C Shell (csh, tcsh) Bill joy가 C언어의 기술을 넣어 만든 셸 C언어의 문법을 적용 Korn shell (ksh) David Kom이 기존 sh에 csh의 기능을 포함시켜 생성 Bourne-again shell (bash) GNU Project로 만들어 짐 csh, ksh이 가진 기능을 포함하면서 sh와 호환성을 많이 높임 사용 가능 한 Shell 리스트 확인하기 cat /etc/shells 현재 로그인 한 Shell 확인하기 echo $..
리눅스 프로세스 관리 1. 프로세스의 이해 프로세스 현재 메모리 위에서 동작하는 프로그램 => 프로그램마다 프로세스 ID (PID) 부여 동작 중인 프로세스는 ps 명령어로 확인 가능 프로세스는 강제 종료 (kill) 가능 프로세스를 강제종료 할 수 있는 권한은 root랑 프로세스 소유자만 가능 프로세스 명령어 프로세스 목록보기 (ps) 현재 실행중인 프로세스 목록 ps 옵션 -e : 시스템에서 실행중인 모든 프로세스의 정보를 출력 -f : 프로세스의 자세한 정보 출력 -u(uid) : 특정 사용자에 대한 모든 프로세스 정보를 출력 -p(pid) : pid로 지정한 특정 프로세스의 정보를 출력 -ef : 실행중인 모든 프로세스의 자세한 정보 출력 항목 의미 항목 의미 UID 프로세스를 실행한 사용자 ID..
리눅스 텍스트 처리 1. 리눅스 편집기 vi, vim 리눅스의 표준 Editor, 간편한 설치로 사용 가능 emacs nano Acsii test 편집을 위해 사용됨 2. vi 편집기 vi 실행 vi 파일이름 ^ : 문장의 시작으로 이동 $ : 문장의 끝으로 이동 w, b : 단어 단위로 이동 (앞, 뒤) . : 반복 실행 % : 짝이 맞는 괄호를 찾아줌 vi 입력 [ insert ] a(append), i(insert) : 입력 모드 [ command ] o : blackline 만들어줌 (한줄 띄우기) u : undo (되돌리기) [ delete ] x : 글자 삭제 dw : 단어 삭제 (#dw : #개 만큼 지움) d^ : 문장의 맨 앞 단어 지움 d$ : 문장의 맨 뒤 단어 지움 dd : 라인 전..
리눅스 기본 명령어2 1. 리눅스 디렉토리 리눅스는 Text Base 이기 때문에 디렉토리가 중요함 리눅스 디렉토리의 구조 🔎 현재 작업중인 디렉토리의 구조를 확인하려면 tree 명령어를 사용하면 됨 디렉토리 명 용도 / 최상위 디렉토리, root 디렉토리라 부름 /bin binaries의 약자로, 가장 필수적인 실행 파일(명령어)들을 모아두고 있음 ⇒ 바로가기로 사용됨 /boot 시스템 부팅과 관련된 파일들이 저장됨 /dev 디스크, 키보드, 터미널과 같은 디바이스 파일들이 저장됨 /ect 시스템에서 사용하는 여러가지 설정 파일(환경설정)들이 저장됨 /home 일반 사용자들의 홈 디렉토리 ex. unbuntu의 홈 디렉토리는 ubuntu /lib,/lib64 binary프로그램이 사용하는 library..
리눅스 기본 명령어 명령어와 옵션은 반드시 한 칸 이상 Blank를 두어야 함 1. 리눅스 로그인 리눅스는 일반유저와 root 사용자의 프롬프트가 틀림 ~ : 현재 작업 디렉토리 (Home directory) $ : 일반 유저의 프롬프트 모양 # : Root 유저의 프롬프트 모양 리눅스 계정 정보 확인 🔎 모든 유저는 id를 가지고 있고, 반드시 1개 이상의 그룹을 가지고 있음 whoami : 나 (1명)의 정보 확인 who : 로그인 한 유저와 시간대, ip 확인 가능 id : 0번은 root, 1~999번 까지는 system account, 1,000 ~ 60,000 까지는 local user users : user 정보 확인 가능, 시스템에 로그인 되어있는 유저 목록 확인 groups : group..