실습을 위해서 설치가 필요없는 클라우드 환경을 이용하도록 하겠습니다. 우리는 구름IDE라는 클라우드 서비스를 이용하여 Linux가 설치된 컴퓨터를 무료로 빌려서 실습할 수 있습니다.

<aside> 💡 클라우드 서비스란 무엇인가를 빌려쓰는 것이라고 생각하시면 됩니다. google docs, 네이버 클라우드, 구글 클라우드 등을 생각해보시면, 내 컴퓨터에 없는 SW를, 내 컴퓨터에 없는 HW를 빌려쓰고 있죠.

</aside>

IaaS, PaaS 및 SaaS 비교

  1. SaaS(Software as a Serviece)

    SaaS는 가장 사용자 단에 친밀한 서비스이며 네트워크를 통해 애플리케이션 기능을 이용할 수 있는 서비스입니다. 드롭박스, 구글 클라우드 등의 서비스가 여기에 속하죠.

  2. PaaS(Platform as a Service)

    PaaS는 빠르게 어플리케이션을 개발하고 서비스할 수 있도록 고안된 것입니다. 예를 들어 서버에는 이미 Node와 같은 런타임이 깔려있고 우리는 javascript 파일 빌드만 하면 되는 것이죠.

  3. IaaS(infrastructure as a Service)

    IaaS는 인프라를 제공하는 클라우드 서비스입니다. 기업에서 특히 많이 쓰입니다. AWS의 EC2가 여기에 속하죠.

# shell창은 새로운 창으로

mkdir leehojun
# mkdir -p a/{b,c}
# mkdir a b

cd leehojun

pwd
# print working directory

ls

ls -al

ll

touch test.py

ls

clear

vi test.py

# i
# print('hello world')
# ESC
# :
# wq!
#        ESC       a, i, o
# 편집모드 - **명령모드** - 입력모드
#         :        ESC
# 명령모드에서 아래 명령어 실행
# dd :삭제
# 2dd : 2줄 삭제
# 6x : 6개 char 삭제
# yy : 복사 (아래 붙여넣기를 해야합니다.)
# p오른쪽 붙여넣기, P위에 붙여넣기
# i : 입력모드
# o : 커서가 있는 한 칸 아래
# a : 커서 다음으로 추가
# Shift + i : 현재 있는 라인 가장 앞에서 추가
# Shift + a : 현재 있는 라인 가장 뒤에서 추가
# Shift + v : 여러줄 선택(y 눌러서 복사 후 p 누르면 붙여넣기, 또는 d(삭제), 또는 =(정렬))
# Shift + ^, Shift + $ : 처음과 마지막
# hjkl : 방항키 대용
# Ctrl + f, Ctrl + b : 이후와 이전 페이지 보기
# u는 실행 취소
# /python으로 python이라는 단어를 찾을 수 있음, n이면 이후, N이면 이전

python test.py
# Tab - 자동완성
# History - 화살표 위, 아래

cat test.py
# 양이 많으면 more를 사용
# q : 종료
# enter : 1행 아래로
# z 또는 스페이스바 : 1페이지 다음페이지
# b : 이전페이지
# = : 현재 행번호 표시
# /문자열 : 문자열 검색 (구름에서 제대로 하이라이팅이 되지 않음)
# v : 현재 열려있는 위치에서 vi 실행
# ls -al | more

echo "hello world" > hello.txt

cp test.py test2.py

ls

ls -al > result.txt

mv test2.py ../

mv result.txt ../

ls

rm test.py

cd ..

rmdir leehojun
# 파일있는 폴더 지울 때에는 rm -r leehojun/
# -r는 recursive 재귀적으로 파일 지움

mkdir one/two/three
# error

mkdir -p one/two/three/four
# 남은 폴더는 클릭으로 지웁니다.
# --parents 옵션으로도 가능

mkdir one;cd one
# 동시 실행

touch sample.txt
# 안에 위키백과(python에 대해)에서 가지고 온 문구를 넣습니다.

cat sample.txt | grep "python"
# touch test{3..5}.txt
# touch test6.txt test7.txt

wget <http://www.paullab.co.kr/images/ceo.png>
# Web에서 get한다!

cd ..
# 남은 폴더는 클릭으로 지웁니다.

sudo apt-get install git
#sudo는 Super User Do
#apt-get은 패키지 매니저! 앱을 다운로드하는 google studio와 같은 역활!

git clone <https://github.com/paullabkorea/10000hour.git>

sudo apt-get update

sudo apt-get install nginx

vi /etc/nginx/sites-available/default
# root /var/www/html; 을 root /workspace/컨테이너이름/web; 으로 고치세요.
# :set number
# :41

sudo service nginx start
# server 확인
# sudo service nginx stop

top
# 작업관리자
# q를 누르면 빠져나감

ps
# 현재 프로세스 상태

ps aux

kill 22131
# 22131이라는 PID(프로세스아이디)를 가진 프로세스 종료

cd ~
cd /

find / -name 'test2.py'
find / -name '*.py'
sudo find / -name '*.py'
# 현재 폴더면 .

cd 위에서 찾은 폴더로 이동

chmod 700 test.py
# chmod(Change Mode)
# 파일의 종류 / 소유자 / 그룹 사용자 / 기타 사용자
# rwx - 읽기(4), 쓰기(2), 실행(1)

ls -al

chmod ugo+x test.py
# 사용자 카테고리 u(파일 소유자), g(그룹), o(기타 사용자)
# +권한 부여, -권한 제거

ls -al

# 압축파일 올리고
unzip test.zip

mkdir leehojun;touch test.py;touch testTwo.py

zip -r leehojun.zip ./leehojun

읽어볼만한 글


[Linux] 리눅스 vi 에디터 스왑파일(swp) 생성시 해결방법

Ubuntu에서 apt-get 명령어 사용하기