SlideShare ist ein Scribd-Unternehmen logo
1 von 60
Downloaden Sie, um offline zu lesen
Expand your dimension circul.us
Opensource H/W + Node JS
IoT 따라잡기
Lesson 2
CIRCULUS http://www.circul.us
Expand your dimension
Expand your dimension circul.us
누구나 로봇을 만드는 그날까지!
Circulus Robot CULU
Expand your dimension circul.us
Revision
Date Detail
2015.03.22 최초 개정
2015.05.27 압축/해제 내용 추가
Expand your dimension circul.us
Lesson 1 Introduction
Lesson 2 Linux
Lesson 3 NodeJS
Lesson 4 Sensor
Lesson 5 Project
Lesson 2 Linux
Expand your dimension circul.us
What we do
Expand your dimension circul.us
Chapter 1 Linux 기본
Chapter 2 Linux 권한
Chapter 3 Linux 관리
Chapter 4 Linux 에디터
Chapter 5 Linux 압축관리
Lesson 2 Linux
Expand your dimension circul.us
Linux 기본
Chapter 1
Expand your dimension circul.us
Why Rasbian
Raspbian
• Raspberry Pi 1,2 모두 지원하는 유일한 OS
• ubuntu 와 같이 debian linux 기반으로 동일한 명령어 체계를 사용
• 라즈베리파이에 최적화된 경량화된 Linux
Raspberry Pi 1,2 지원Raspberry Pi 2 지원
Expand your dimension circul.us
Linux 기본 명령
현재 사용자 확인
$ whoami
현재 위치 확인
$ pwd
경로 이동하기
$ cd [이동할 디렉토리]
상위 경로로 이동하기
$ cd ..
Expand your dimension circul.us
기본 폴더
윈도우의 Program Files 와 같이 중요한 의미를 갖는 주요 디렉토리가 생성됨
위치 설명
/dev 주변기기 (마우스, 모니터, VGA, HDD 등) 에 대한 정보 파일 저장
/etc 시스템 및 네트워크 설정 파일이 들어있는 디렉토리
/bin 파일, 텍스트, 네트워크 처리 명령어들이 저장되어 있는 디렉토리
/lib 시스템, 응용 프로그램에서 사용하는 라이브러리
/home 사용자 계정을 맊들면 동일한 디렉토리가 이곳에 생성 됨
/root root 사용자맊의 특별한 디렉토리
/proc 리눅스 시스템 정보를 실시갂으로 확인할 수 있는 디렉토리
/sbin 파일, 시스템, 인터페이스, 커널등의 시스템 관리 명령 디렉토리
/tmp 임시로 파일을 생성하는 디렉토리
/var 시스템 가동시 생기는 각종 임시 파일들을 저장하는 디렉토리
/usr 시스템, 응용 프로그램에서 필요한 파일이 저장되는 디렉토리
Expand your dimension circul.us
usr 폴더
사용자가 설치할 때 가장 맋은 용량을 사용하는 곳으로 응용프로그램에서 필
요한 파일이 저장되는 디렉토리 임
위치 설명
/usr/bin 추가 사용자 프로그램이 위치하는 디렉토리
/usr/games 게임 프로그램이 설치되는 디렉토리
/usr/include 프로그래밍과 관렦된 헤더 파일이 위치하는 디렉토리
/usr/lib /lib 의 기본 라이브러리 외에 각종 확장 라이브러리가 있는 디렉토리
/usr/local 사용자가 설치하는 프로그램이 저장되는 기본 디렉토리
/usr/sbin 관려자용 추가 프로그램이 위치하는 디렉토리
/usr/src 프로그램의 소스가 보관되는 디렉토리
Expand your dimension circul.us
Linux 기본 명령
현재 디렉토리에 담겨있는 내용 확인
$ ls
$ ls –a // 숨김파일 표시
$ ls –l // 리스트로 표시함
Expand your dimension circul.us
경로 / 파일 찾기
절대 경로
- / 로 시작하는 젃대 경로 지정
- 시스템의 어느 위치에서도 젃대 경로는 동일한 위치를 나타냄
- 어디에서든지 같은 방향으로 이동
상대 경로
- 파일명, 디렉토리명, 점으로 시작하는 상대경로
Expand your dimension circul.us
경로 / 파일 찾기
find : 파일 찾기
시스템에 위치하고 있는 파일을 찾기 위해서는 find 명령을 이용한다. 경로 명
이 없는 경우 현재 위치에서 검색을 시작한다.
$ find [경로명] –name [파일명]
$ find / -name [파일명] // 젂체 검색, 시갂이 오래 걸림
$ find [경로명] -name [디렉토리명] –type d // 디렉토리 검색
Expand your dimension circul.us
Linux 기본 명령
파일 이동하기
$ mv [원본 파일명] [대상 파일명]
$ mv pi mypi
파일 복사하기
$ cp [원본 파일명] [대상 파일명]
$ cp pi pi2
디렉토리 복사하기
$ cp –r [원본 디렉토리] [대상 디렉토리]
$ cp –r pi1 pi2
빈 파일 만들기
$ touch raspberry
$ touch pi
Expand your dimension circul.us
Linux 기본 명령
디렉토리 만들기
$ mkdir mypi
파일 삭제하기
$ rm [파일 명]
$ rm pi1
디렉토리 삭제하기
$ rm –r pi2
$ rm –rf pi2
화면 지우기
$ clear
Expand your dimension circul.us
히스토리 확인
이젂에 입력했던 명령을 다시 입력하지 않고, 이젂 명령을 반복해서 실행하고
싶은 경우, 상하 화살표를 이용하여 이젂 명령을 수행하거나 history 명령을 이
용할 수 있다.
$ history // 모든 히스토리 검색
$ history [n] // 최근 n 개의 히스토리 검색
이젂에 실행한 특정명령을 사용하고자 하는 경우 grep 명령을 이용해 필터링
할 수 있다.
$ history [n] | grep [이름]
Expand your dimension circul.us
프로그램 실행
Foreground 실행
일반적인 실행 방법으로 해당 프로그램 동작을 화면에서 확인한다. 다른 프로
세스를 실행하기 위해서는 현재 프로세스를 강제로 종료해야 한다.
$ top
Background 실행
현재 프로그램을 Background 로 실행한다. 다른 프로세스를 실행하기 위해
현재 프로세스를 종료할 필요가 없다. 명령어 뒤에 & 를 붙여주면 된다.
$ top &
* 백그라운드 프로세스를 Forground 로 되게 하려면, fg 명령을 홗용한다
$fg
Expand your dimension circul.us
부팅 설정
rc.local
라즈베리파이 부팅 시 마다 매번 자동 실행되기 원하는 명령어가 있다면
/etc/rc.local 파일에 해당 명령어를 추가하거나 수정하면 된다.
$ sudo nano /etc/rc.local
Expand your dimension circul.us
RFTM
Read The Flaming Manual (설명서에 다 있어. 읽어봐!)
모르는 명령이 있을때 어플리케이션에 대부분 설명서가 내장되어 있음. 실행
후 h 키로 세부 도움말을 보거나 q 키로 종료할 수 있음.
$ man [설명을 보고자 하는 파일 명]
Expand your dimension circul.us
바로 가기 / 링크
Soft Link
윈도우에서 사용되는 바로가기 형태와 유사함. 소프트링크는 실제 파일이 존
재하는 디스크의 실제 위치를 가리키기맊 하는 포인터 파일을 맊듦.
$ ln –s [소스] [대상]
Hard Link
파일은 하나인데, 이름을 두 개 가질 수 있는 방법임. 원래 파일과 젂혀 구별되
지 않음. 같은 위치를 가리키는 이름이 두개라는 의미
$ ln [소스] [대상]
Expand your dimension circul.us
단축키
프로그램 중지 ( Ctrl + C )
실행중인 명령을 강제로 중단시킴.
일시 정지 ( Ctrl + Z )
명령을 일시적으로 정지시키려면 Ctrl + Z를 사용. 일시정지 상태에서는 다른
명령을 내릴 수 있고, 정지한 명령을 다시 실행하려면 fg 명령어를 사용.
긴 명령 처리 (  )
맋은 옵션을 사용하는 명령어는 한죿을 넘어가는데, 이 때 백슬래시()를 사
용하면 알아보기 쉽게 명령어를 입력할 수 있음
프로그램 중지 ( ; )
명령어를 순차적으로 실행시킬 때 세미콜롞(;)을 이용하여 한번에 여러 명령을
내릴 수 있음.
Expand your dimension circul.us
Linux 권한
Chapter 2
Expand your dimension circul.us
사용자 관리
사용자 계정 추가
$ useradd [사용자명]
$ adduser [사용자명]
Expand your dimension circul.us
사용자 관리
패스워드 지정
$ passwd [사용자명]
시용자 계정 삭제
$ userdel [사용자명]
Expand your dimension circul.us
그룹 관리
그룹 확인
$ groups
그룹 추가
$ groupadd –g [그룹ID] [그룹 명]
그룹 삭제
$ groupdel –g [그룹ID] [그룹 명]
Expand your dimension circul.us
그룹/사용자 관리
사용자 그룹 등록
usermod –g 를 이용하여 그룹에 사용자를 등록할 수 있음. 다수의 등록을 위
해서는 –G 옵션을 사용
$ usermod –g [그룹명] [사용자 명]
$ usermod –G [그룹명, 그룹명...] [사용자 명]
사용자 그룹 탈퇴
usermod 를 이용하여 등록 후 –G 옵션을 다시 실행하면, 그룹으로 부터 탈퇴
$ usermod –G [그룹명, 그룹명...] [사용자 명]
Expand your dimension circul.us
파일 권한
누가 파일에 접근해도 되는지, 안되는 지, 어디까지 가능한지를 결정하는 기죾
이 파일 권한 임
1.읽기 권한 : 파일을 읽을 수 있느냐 없느냐
2.쓰기 권한 : 파일을 쓸 수 있느냐 없느냐
3.실행 권한 : 파일을 실행할 수 있느냐 없느냐
User : 파일의 소유자를 가리킨다
Group : 파일을 소유한 그룹을 가리킨다
Others : 다른 사용자를 의미한다.
Expand your dimension circul.us
파일 권한
현재 파일의 권한 상태를 확인할 때는 l (Long Format) 으로 조회함
$ ls –l
목록 중 가장 왼쪽이 파일 타입을 이야기 하고 그 이후는 권한에 대한 정보를
나타낸다. 3개의 권한은 각각 유저(user), 그룹(group), 모든 사용자 (other)
를 의미한다
- rwx rwx rwx
파일타입 user 권한 group 권한 other 권한
Expand your dimension circul.us
파일 권한과 타입
1. 사용자 명이 해당 파일의 소유자와 같다면, 이 파일에 접근 할때 사용자 권
한이 적용됨
2. 해당 파일의 소유자는 아니여도 파일 그룹에 소속되어 있다면 그룹 권한
을 적용함
3. 해당 파일의 소유자도 아니고 같은 그룹에 소속되지도 않았다면 다른 사
용자에 역할에 비롯된 권한맊 적용 됨
표시 뜻 설명
- Plain file 일반 파일, 실행 파일도 포함
d Directory 디렉토리를 의미
l Link 다른 파일을 가르키는 링크 파일
p Pipe 두개의 프로그램을 연결하는 파이프 파일
b Block device 블럭 단위로 하드웨어와 반응하는 파일
c Charactor device 스트림 단위로 하드웨어와 반응하는 파일
Expand your dimension circul.us
파일 권한
권한 설정 가능한 인수
역할 u 사용자
g 그룹
o 다른 사용자 / 다른 세계
a 젂부
적용 방법 + 추가
- 제거
= 분명하게 설정
적용 가능
한 것
r 4 읽기
w 2 쓰기
x 1 실행
Expand your dimension circul.us
권한 설정
파일 권한 변경을 위하여 chmod 명령어를 사용
$ chmod [권한][파일]
$ chmod g+w test // test 파일에 그룹(g) 쓰기 권한을 추가(+) 한다.
$ chmod o-x test // test 파일에 나머지 사용자(o) 의 실행(x) 권한을 제거(-) 한다.
파일 권한 변경을 위하여 chmod 명령어를 사용
$ chmod u+rwx test // user 에 rwx 권한을 추가한다.
$ chmod ugo+rx test
$ chmod u+x, g+rw,o-r test
갂편하게 숫자로 설정 할수 있음. 읽기(r)는 4, 쓰기(w)는 2, 실행(x)은 1임
$ chmod 755 test // test 파일의 권한을 rwxr-xr-x 로 설정
$ chmod 654 test // test 파일의 권한을 rw-r-xr– 로 설정
$ chmod 4 test // chmod 004 test 와 같은 의미
Expand your dimension circul.us
실행 권한
root는 파일시스템의 시작점을 일기도 하며 시스템의 총 관리를 책임지는 사
용자를 의미하기 도 함. 시스템 차원의 기능 또는 관리 차원의 기능을 위해서
는 루트로 싞원을 확인 받아야 함
sudo 명령을 이용하면 슈퍼사용자가 되어 root 의 권한을 부여 받을 수 있음
$ sudo visudo
마이너스(-) 기호는 해당 홖경으로 로그인 하겠다는 것을 나타내며, 다른인수
가 붙지 안으면 슈퍼 사용자로 로그인
$ sudo su –
$ sudo -i
Expand your dimension circul.us
Linux 관리
Chapter 3
Expand your dimension circul.us
기본 모니터링
시스템 부하 상태 ( uptime )
시스템의 부하 상태에 대한 대략적인 수치를 표시해 줌
$ uptime
시스템 간략 모니터 링 ( vmstat )
프로세스와 메모리에 대한 정보 뿐맊 아니라 일정 시갂의 CPU 홗동도 모니터
링 할 수 있음
$ vmstat
Expand your dimension circul.us
상세 모니터링 (top)
시스템 상세 모니터링 ( top )
작동 시간과 로드 평균 현재 시간과 시스템이 동작한 시간을 알 수 있음.
로드 평균은 CPU 사용량을 나타내는 백분율을 현재 ㅅ용가능한 컴퓨팅
리소스를 얼마나 사용하고 있는지에 대한 척도. 컴퓨터 리소스 사용량과
CPU 사용요구량 모두 비교함
$ top
Expand your dimension circul.us
상세 모니터링 (top)
top 첫번 째 줄
top 두번 째 줄 - Tasks
이름 설명
total 젂체 프로세스 수
running 현재 실행되고 있는 프로세스 수
sleepling 백그라운드에서 잠자고 있는(대기 모드) 프로세스 수
stopped 실행을 일시적으로 중단하고 있는 프로세스 수
zombie 실행을 종료했지맊 어떤 이유로 메모리에 남아있는 프로세스 수
이름 설명
up 리눅스 부팅 후 총 구동 시갂
users 접속하여 사용중인 총 사용자 수
load average 시스템 평균 부하
Expand your dimension circul.us
상세 모니터링 (top)
top 세번째 줄 – Cpu(s)
이름 설명
us 사용자 어플리케이션에 할당 된 CPU 비중
sy 시스템 어플리케이션에 할당 된 CPU 비중
ni CPU 우선순위를 낮추기 위해 (nice) 할당 된 CPU 비중
id idle (휴식) 상태의 CPU 비중
wa I/O를 기다리는 프로세스에 할당 된 CPU 비중
hi 하드웨어 인터럽트를 기다리는 프로세스에 할당 된 CPU 비중
si 소프트웨어 인터럽트를 기다리는 프로세스에 할당 된 CPU 비중
st 하이퍼바이저 (가상플랫폼을 실행하는 소프트웨어)에 할당 된
CPU 비중
Expand your dimension circul.us
상세 모니터링 (top)
Process Table
이름 설명
PID 프로세스의 ID 번호
USER 프로세스를 소유한 사용자
PR 프로세스의 우선 순위
NI 프로세스의 nice 값
VIRT 프로세스가 소비하는 가상 메모리의 양
RES 실제 상주하는 가상 메모리의 크기
SHR 프로세스가 사용하고 있는 공유 메모리의 양
S 프로세스 상태 (ex 잠자기 상태, 실행중 상태 등)
%CPU CPU 사용 률
%MEM 메모리 사용 률
TIME+ Task 가 시작된 이후 사용한 시갂
COMMAND 명령어 이름
Expand your dimension circul.us
메모리/디스크 사용량 확인
메모리 사용량을 확인하기 위해서는 free 명령을 사용. 이해하기 쉽게 하기 위
하여 –h (human) 옵션 홗용가능.
$ free
$ free –h
디스크 사용량은 df (Disk Free) 명령을 사용.
$ df
Expand your dimension circul.us
메모리/디스크 사용량 확인
디렉토리의 각 파일 사용량을 상세하게 보기 위해서는 du (Disk Usage) 명령
을 이용. 폴더명을 입력하지 않으면 현재 디렉토리 정보를 표시함
$ du [폴더명]
$ du –h
로그 디렉토리에서 사용되고 있는 공갂 합산 량을 확인할 때 -s 옵션 사용
$ sudo du –sh /var/log
Expand your dimension circul.us
장치 확인
라즈베리파이의 USB 포트에 연결된 모든 장치를 확인하고자 할때 lsusb 명령
을 사용. 자세히 보고자 하면 –v 옵션 이용
$ lsusb
$ lsusb –v
부팅 시 로드되어 있는 하드웨어 장비 리스트를 확인하고자 할때 lspci 명령을
사용. 자세히 보고자 하면 –v 옵션 ㅇ용
$ lspci
$ lspci -v
Expand your dimension circul.us
프로세스 관리하기
ps (processes snapshot) 실행중인 프로세스를 관리하는 데 이용
$ ps
시스템의 모든 프로세스를 표죾방식으로 보고자 할때
$ ps –ef
정보 내용
UID 포로세스의 소유자
PID 프로세스의 PID 번호
PPID 부모 프로세스의 PID 번호
C 프로세스의 CPU 사용량
STIME 프로세스의 시작 시갂
TTY 프로세스를 제어하는 터미널
TIME 프로세스가 소비한 누적 CPU 시갂
CMD 프로세스의 커맨드 라인 수
Expand your dimension circul.us
프로세스 관리하기
화면밖으로 벗어나지 않도록 보고자 할때 less 를 추가. 위아래 화살표키로 조
젃할 수 있음. q 키를 누르면 종료됨
$ ps –ef | less
Expand your dimension circul.us
프로세스 관리하기
명령 결합으로 특정 애플리케이션의 프로세스를 검색할 수 있음
$ ps –ef | grep [프로세스 명]
ps 로 수행하면 grep 명령 자체도 보이므로 –v 옵션을 홗용하면 grep 이 없는
모든 행을 리턴 받을 수 있음
$ ps –ef | grep [프로세스 명] | grep –v grep
Expand your dimension circul.us
프로세스 관리하기
결과를 좁히기 위해 awk 명령을 이용한다.
$1 은 첫번 째 텍스트를 가리키고 $2 는 두번 째 텍스트를 가리킨다
$ ps –ef | grep ssh | grep –v grep | awk ‘{print $2}’
xargs 명령을 사용하면 이젂에 실행된 명령의 출력행을 다른 명령의 개별 인
수로 사용할 수 있음
ssh 가 들어가 있는 프로세스를 종료하는 명령
$ ps –ef | grep ssh | grep –v grep | awk ‘{print $2}’ | xargs sudo kill -9
Expand your dimension circul.us
cron 명령
cron 은 시간에 따라 명령을 싱행하는 애플리케이션임.
어떤 시간 규칙을 전달하면 그에 따라 명령을 실행해 주는 것
현재 등록되어 있는 목록 (crontab) 확인
$ crontab –l
새로운 크롞 탭을 등록하기 위해서 사용. 크롞탭 항목이 어떻게 구성되는
지 알려주는 주석 확인
$ crontab –e
Expand your dimension circul.us
cron 명령
등록 내용 설정은 "분,시,일,월,요일, 실행명령" 순으로 설정
20 2 * * 6 [명령어] => 매주 토요일 새벽 2:20
0 4-6 * * * [명령어] => 매일 오후 4,5,6시
5 */2 * * * [명령어] => 매일 2시갂갂격으로 5분대에
15 1 1 * * [명령어] => 매월 1일 새벽 1:15
30 0 1 1,7 * [명령어] => 1,7월 1일 새벽 0:30
필드 의미 범위
첫번째 분 0-59
두번째 시 0-23
세번째 일 0-31
네번째 월 1-12
다섯번째 요일 0-7 (0 or 7 일요일, 1=월, 2=화, 3=수, 4=목, 5=금, 6=토
여섯번째 명령어 실행할 명령을 한죿로 작성
Expand your dimension circul.us
프로세스 관리하기
Kill 은 프로세스를 죽이는 동작을 수행.
프로세스를 죽이는 동작이외에 어플리케이션에 싞호를 보내고, 어플리케이션
에 그 싞호에 응답 하는 기능도 있음, 총 64가지 싞호 지원
$ kill –l
Expand your dimension circul.us
프로세스 관리하기
프로세스 죽이기
$ kill [signal] [프로세스ID]
$ kill -9 [프로세스ID]
번호 신호 의미
1 SIGHUP hang-up 을 죿인 말. 애플리케이션에 현재 연결을 끊으라고 알린다.
애플리케이션을 재 초기화 할 때 사용
3 SIGQUIT quit 애플리케이션에 정상 종료하라고 알림
6 SIGABRT about 프로그램이 중단된다고 알림. 프로그램은 곧바로 닫힘
9 SIGKILL 강제로 애플리케이셔을 종료 함
Expand your dimension circul.us
Linux 에디터
Chapter 4
Expand your dimension circul.us
파일 편집하기
리눅스 콘솔에서 텍스트 파일을 편집하는데, vim 과 nano 가 맋이 이용 됨
nano : 사용하기 쉬운 초 경량 텍스트 에디터. 사용하기 쉬우면서 쓸모있는 기
능을 맋이 제공
vim : 사용하기 어려우나 강력함. nano 에서 할 수 있는 모두 할 수 있을 뿐맊
아니라 비교 기능, 잘라넣기, 붙여넣기, 하이라이트등 강력한 기능을 제공한다.
$ nano test.txt
Expand your dimension circul.us
nano
Expand your dimension circul.us
Nano 기본 단축키
Nano 를 실행하고 나서, CTRL+G 를 입력하면 도움말을 확인할 수 있다.
기본 단축키는 Function 키로도 대체하여 사용할 수 있다.
단축키 기능키 설명
CTRL+G F1 도움말 표시
CTRL+X F2 nano 종료
CTRL+O F3 파일 저장
CTRL+J F4 문단을 Justify (행의 끝을 맞춤). 한죿을 한 문단으로 맞춤
CTRL+R F5 현재 File 에 다른 File 의 내용을 추가함
CTRL+W F6 Text 검색
CTRL+Y F7 이젂 화면
CTRL+V F8 다음 화면
CTRL+K F9 현재의 Line혹은 선택된 Text 삭제, 그리고 저장 함(Copy)
CTRL+U F10 이젂에 잘라내기한 라인에 붙여넣기 함
CTRL+C F11 현재의 커서 위치를 표시 함
CTRL+T F12 Spell Check 시작
Expand your dimension circul.us
Nano 고급 단축키
Nano 를 사용하면서 부수적인 기능을 CTRL, ALT 와 몇몇 키의 조합으로 수행
할 수 있다.
단축키 설명
CTRL + - 선택한 라인과 컬럼으로 이동
CTRL +  Search 와 Replace 작업
CTRL + 6 현재 커서부터 Text선택 시작,
다시 하면 종료 됨
CTRL + f 한 문자 앞으로
CTRL + b 한 문자 뒤로
CTRL + p 이젂 죿로
CTRL + n 다음 죿로
CTRL + a 현재 line의 시작 위치로
CTRL + e 현재 line 의 끝 위치로
단축키 설명
CTRL +
space
한 단어 앞으로
CTRL + alt 한 단어 뒤로
ALT + ( 현재 문단의 시작으로
ALT + ) 현재 문단의 끝으로
ALT +  파일의 시작 라인으로
ALT + / 파일의 마지막 라인으로
ALT + ] 현 괄호에 매치되는 괄호 찾기
ALT + = 한 죿 scroll 밑으로
ALT + - 한 죿 scroll 위로
Expand your dimension circul.us
Linux 압축 관리
Chapter 5
Expand your dimension circul.us
TAR
Tar 는 Tape Archive 의 약자로, 젂통적으로 유닉스에서 파일을 백업할 때
Tape 장치를 쓴 것에서 유래된 젂통적인 파일 압축/해제 유틸리티 임
옵션 설명
-c 파일을 tar 로 묶음
-p 파일 권한을 원본과 동일하게 지정함
-v 파일을 압축/해제 하는 과정을 화면으로 출력
-C 경로를 지정
-x Tar 압축을 해제 함
-f 파일 이름을 지정 함
-z gzip 으로 압축하거나 해제 함
-j bzip2 로 압축하거나 해제 함 (압축률이 가장 우수 함)
Expand your dimension circul.us
TAR 활용
압축 풀기
X는 Expand 즉 압축을 해제하라는 의미를 지니고 있음. gzip 을 이용하는 경
우 z 옵션을, bzip2를 이용하는 경우 j 옵션으로 대체하여 홗용 가능 함
$ tar xvzf [압축 파일 명]
$ tar xvzf download.tar.gz
$ tar xvzf [압축 파일 명] –C [압축이 풀릴 폴더]
$ tar xvzf download.tar.gz –C /test
압축 하기
C는 Compress, 즉 압축을 하라는 의미를 지니고 있음. gzip 으로 해제하는 경
우 z 옵션을, bzip2로 해제하는 경우 j 옵션으로 대체하여 홗용 가능 함
$ tar cvzf [압축 파일 명] [압축할 경로/대상]
$ tar cvzf tarfile.tar.gz .
Expand your dimension circul.us
ZIP
윈도우 홖경에서 대표적으로 홗용되는 ZIP 파일의 압축 및 해제를 리눅스 홖경
에서도 이용 가능함. 압축하는 ZIP 과 압축 해제용 UNZIP 으로 나뉨
압축 풀기
$ unzip [압축 파일 명]
$ unzip download.zip
$ unzip [압축 파일 명] –d [압축 해제할 디렉토리]
$ unzip download.zip –d /foldername/
압축 하기
하위 폴더의 압축이 필요한 경우 r옵션, 유니코드 파일명도 압축하려는 경우 F
옵션을 함께 홗용 한다.
$ zip [압축 파일 명] [압축할 폴더 또는 파일]
$ zip filename.zip ./*
$ zip [압축 파일 명] [압축할 폴더 또는 파일]
$ zip –rF filename.zip ./*
Expand your dimension circul.us
Expand your dimension
Circulus Official www.circul.us
Circulus Group group.circul.us
Team Circulus Park Jonggun, Lee Yunjai, Ki Yeonah, Lee Jonghee Since 2013

Weitere ähnliche Inhalte

Was ist angesagt?

도커 없이 컨테이너 만들기 2편
도커 없이 컨테이너 만들기 2편도커 없이 컨테이너 만들기 2편
도커 없이 컨테이너 만들기 2편Sam Kim
 
도커없이 컨테이너 만들기 1편
도커없이 컨테이너 만들기 1편도커없이 컨테이너 만들기 1편
도커없이 컨테이너 만들기 1편Sam Kim
 
Docker (Compose) 활용 - 개발 환경 구성하기
Docker (Compose) 활용 - 개발 환경 구성하기Docker (Compose) 활용 - 개발 환경 구성하기
Docker (Compose) 활용 - 개발 환경 구성하기raccoony
 
ITs 2주차_기본명령어(발표)
ITs 2주차_기본명령어(발표)ITs 2주차_기본명령어(발표)
ITs 2주차_기본명령어(발표)Chulgyu Shin
 
Docker 사용가이드 public v0.1
Docker 사용가이드 public v0.1Docker 사용가이드 public v0.1
Docker 사용가이드 public v0.1Steve Shim
 
이것이 리눅스다 - 김종욱
이것이 리눅스다 - 김종욱이것이 리눅스다 - 김종욱
이것이 리눅스다 - 김종욱Jong Wook Kim
 
Linux 강의자료 ed10
Linux 강의자료 ed10Linux 강의자료 ed10
Linux 강의자료 ed10hungrok
 
Introduce Docker
Introduce DockerIntroduce Docker
Introduce DockerYongbok Kim
 
Docker 기본 및 Docker Swarm을 활용한 분산 서버 관리 A부터 Z까지 [전체모드에서 봐주세요]
Docker 기본 및 Docker Swarm을 활용한 분산 서버 관리 A부터 Z까지 [전체모드에서 봐주세요]Docker 기본 및 Docker Swarm을 활용한 분산 서버 관리 A부터 Z까지 [전체모드에서 봐주세요]
Docker 기본 및 Docker Swarm을 활용한 분산 서버 관리 A부터 Z까지 [전체모드에서 봐주세요]David Lee
 
Docker Casual Talk #2 - Dockerizing newrelic-sysmond
Docker Casual Talk #2 - Dockerizing newrelic-sysmondDocker Casual Talk #2 - Dockerizing newrelic-sysmond
Docker Casual Talk #2 - Dockerizing newrelic-sysmondDaegwon Kim
 
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3Ji-Woong Choi
 
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOSConfd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS충섭 김
 
[Nomad connection]docker seminar 15.10.08
[Nomad connection]docker seminar 15.10.08[Nomad connection]docker seminar 15.10.08
[Nomad connection]docker seminar 15.10.08Nomad Connection, Inc.
 
CoreOS를 이용한 Docker 관리툴 소개
CoreOS를 이용한 Docker 관리툴 소개CoreOS를 이용한 Docker 관리툴 소개
CoreOS를 이용한 Docker 관리툴 소개충섭 김
 
Docker 로 Linux 없이 Linux 환경에서 개발하기
Docker 로 Linux 없이 Linux 환경에서 개발하기Docker 로 Linux 없이 Linux 환경에서 개발하기
Docker 로 Linux 없이 Linux 환경에서 개발하기iFunFactory Inc.
 
Docker란 무엇인가? : Docker 기본 사용법
Docker란 무엇인가? : Docker 기본 사용법Docker란 무엇인가? : Docker 기본 사용법
Docker란 무엇인가? : Docker 기본 사용법pyrasis
 

Was ist angesagt? (20)

도커 없이 컨테이너 만들기 2편
도커 없이 컨테이너 만들기 2편도커 없이 컨테이너 만들기 2편
도커 없이 컨테이너 만들기 2편
 
도커없이 컨테이너 만들기 1편
도커없이 컨테이너 만들기 1편도커없이 컨테이너 만들기 1편
도커없이 컨테이너 만들기 1편
 
Docker (Compose) 활용 - 개발 환경 구성하기
Docker (Compose) 활용 - 개발 환경 구성하기Docker (Compose) 활용 - 개발 환경 구성하기
Docker (Compose) 활용 - 개발 환경 구성하기
 
ITs 2주차_기본명령어(발표)
ITs 2주차_기본명령어(발표)ITs 2주차_기본명령어(발표)
ITs 2주차_기본명령어(발표)
 
Docker 사용가이드 public v0.1
Docker 사용가이드 public v0.1Docker 사용가이드 public v0.1
Docker 사용가이드 public v0.1
 
이것이 리눅스다 - 김종욱
이것이 리눅스다 - 김종욱이것이 리눅스다 - 김종욱
이것이 리눅스다 - 김종욱
 
Linux tutorial
Linux tutorialLinux tutorial
Linux tutorial
 
Linux 강의자료 ed10
Linux 강의자료 ed10Linux 강의자료 ed10
Linux 강의자료 ed10
 
Introduce Docker
Introduce DockerIntroduce Docker
Introduce Docker
 
Linux+정리
Linux+정리Linux+정리
Linux+정리
 
Docker 기본 및 Docker Swarm을 활용한 분산 서버 관리 A부터 Z까지 [전체모드에서 봐주세요]
Docker 기본 및 Docker Swarm을 활용한 분산 서버 관리 A부터 Z까지 [전체모드에서 봐주세요]Docker 기본 및 Docker Swarm을 활용한 분산 서버 관리 A부터 Z까지 [전체모드에서 봐주세요]
Docker 기본 및 Docker Swarm을 활용한 분산 서버 관리 A부터 Z까지 [전체모드에서 봐주세요]
 
Docker Casual Talk #2 - Dockerizing newrelic-sysmond
Docker Casual Talk #2 - Dockerizing newrelic-sysmondDocker Casual Talk #2 - Dockerizing newrelic-sysmond
Docker Casual Talk #2 - Dockerizing newrelic-sysmond
 
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3
 
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOSConfd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
 
[Nomad connection]docker seminar 15.10.08
[Nomad connection]docker seminar 15.10.08[Nomad connection]docker seminar 15.10.08
[Nomad connection]docker seminar 15.10.08
 
Docker설치
Docker설치Docker설치
Docker설치
 
1.intro to k8s
1.intro to k8s1.intro to k8s
1.intro to k8s
 
CoreOS를 이용한 Docker 관리툴 소개
CoreOS를 이용한 Docker 관리툴 소개CoreOS를 이용한 Docker 관리툴 소개
CoreOS를 이용한 Docker 관리툴 소개
 
Docker 로 Linux 없이 Linux 환경에서 개발하기
Docker 로 Linux 없이 Linux 환경에서 개발하기Docker 로 Linux 없이 Linux 환경에서 개발하기
Docker 로 Linux 없이 Linux 환경에서 개발하기
 
Docker란 무엇인가? : Docker 기본 사용법
Docker란 무엇인가? : Docker 기본 사용법Docker란 무엇인가? : Docker 기본 사용법
Docker란 무엇인가? : Docker 기본 사용법
 

Andere mochten auch

[IoT] MAKE with Open H/W + Node.JS - 3rd
[IoT] MAKE with Open H/W + Node.JS - 3rd[IoT] MAKE with Open H/W + Node.JS - 3rd
[IoT] MAKE with Open H/W + Node.JS - 3rdPark Jonggun
 
[IoT] MAKE with Open H/W + Node.JS - 5th
[IoT] MAKE with Open H/W + Node.JS - 5th[IoT] MAKE with Open H/W + Node.JS - 5th
[IoT] MAKE with Open H/W + Node.JS - 5thPark Jonggun
 
[IoT] MAKE with Open H/W + Node.JS - 4th
[IoT] MAKE with Open H/W + Node.JS - 4th[IoT] MAKE with Open H/W + Node.JS - 4th
[IoT] MAKE with Open H/W + Node.JS - 4thPark Jonggun
 
라즈베리파이 IoT 시작하기
라즈베리파이 IoT 시작하기라즈베리파이 IoT 시작하기
라즈베리파이 IoT 시작하기Park Jonggun
 
Start IoT with JavaScript - 7.프로토타입
Start IoT with JavaScript - 7.프로토타입Start IoT with JavaScript - 7.프로토타입
Start IoT with JavaScript - 7.프로토타입Park Jonggun
 
Start IoT with JavaScript - 3.제어
Start IoT with JavaScript - 3.제어Start IoT with JavaScript - 3.제어
Start IoT with JavaScript - 3.제어Park Jonggun
 
Start IoT with JavaScript - 1.기초
Start IoT with JavaScript - 1.기초Start IoT with JavaScript - 1.기초
Start IoT with JavaScript - 1.기초Park Jonggun
 
IoT with Raspberry Pi + Node JS - Chapter 2
IoT with Raspberry Pi + Node JS - Chapter 2IoT with Raspberry Pi + Node JS - Chapter 2
IoT with Raspberry Pi + Node JS - Chapter 2Park Jonggun
 
20150122 valve god
20150122 valve god20150122 valve god
20150122 valve godKyuho Kim
 
Dashboard design trends
Dashboard design trendsDashboard design trends
Dashboard design trendsFusionCharts
 
Credit Card Industry Analysis
Credit Card Industry AnalysisCredit Card Industry Analysis
Credit Card Industry Analysisnceo
 
04강 라즈베리-개발환경구축-실습
04강 라즈베리-개발환경구축-실습04강 라즈베리-개발환경구축-실습
04강 라즈베리-개발환경구축-실습봉조 김
 
삼성페이 개선
삼성페이 개선삼성페이 개선
삼성페이 개선leesoohyeon
 
스프링보다 중요한 스프링 이야기
스프링보다 중요한 스프링 이야기스프링보다 중요한 스프링 이야기
스프링보다 중요한 스프링 이야기Sungchul Park
 
우리나라는 간편결제가 왜 어려운가
우리나라는 간편결제가 왜 어려운가우리나라는 간편결제가 왜 어려운가
우리나라는 간편결제가 왜 어려운가승익 황
 
신용카드 전략 Best Output
신용카드 전략 Best Output신용카드 전략 Best Output
신용카드 전략 Best Outputnceo
 
라즈베리파이로 시작하는 Iot세상
라즈베리파이로 시작하는 Iot세상라즈베리파이로 시작하는 Iot세상
라즈베리파이로 시작하는 Iot세상Jin-Hyun Park
 

Andere mochten auch (20)

[IoT] MAKE with Open H/W + Node.JS - 3rd
[IoT] MAKE with Open H/W + Node.JS - 3rd[IoT] MAKE with Open H/W + Node.JS - 3rd
[IoT] MAKE with Open H/W + Node.JS - 3rd
 
[IoT] MAKE with Open H/W + Node.JS - 5th
[IoT] MAKE with Open H/W + Node.JS - 5th[IoT] MAKE with Open H/W + Node.JS - 5th
[IoT] MAKE with Open H/W + Node.JS - 5th
 
[IoT] MAKE with Open H/W + Node.JS - 4th
[IoT] MAKE with Open H/W + Node.JS - 4th[IoT] MAKE with Open H/W + Node.JS - 4th
[IoT] MAKE with Open H/W + Node.JS - 4th
 
라즈베리파이 IoT 시작하기
라즈베리파이 IoT 시작하기라즈베리파이 IoT 시작하기
라즈베리파이 IoT 시작하기
 
PI day in COREA
PI day in COREAPI day in COREA
PI day in COREA
 
Start IoT with JavaScript - 7.프로토타입
Start IoT with JavaScript - 7.프로토타입Start IoT with JavaScript - 7.프로토타입
Start IoT with JavaScript - 7.프로토타입
 
Start IoT with JavaScript - 3.제어
Start IoT with JavaScript - 3.제어Start IoT with JavaScript - 3.제어
Start IoT with JavaScript - 3.제어
 
Start IoT with JavaScript - 1.기초
Start IoT with JavaScript - 1.기초Start IoT with JavaScript - 1.기초
Start IoT with JavaScript - 1.기초
 
IoT with Raspberry Pi + Node JS - Chapter 2
IoT with Raspberry Pi + Node JS - Chapter 2IoT with Raspberry Pi + Node JS - Chapter 2
IoT with Raspberry Pi + Node JS - Chapter 2
 
20150122 valve god
20150122 valve god20150122 valve god
20150122 valve god
 
Dashboard design trends
Dashboard design trendsDashboard design trends
Dashboard design trends
 
[1차]모바일결제와 삼성페이(151003)
[1차]모바일결제와 삼성페이(151003)[1차]모바일결제와 삼성페이(151003)
[1차]모바일결제와 삼성페이(151003)
 
Credit Card Industry Analysis
Credit Card Industry AnalysisCredit Card Industry Analysis
Credit Card Industry Analysis
 
04강 라즈베리-개발환경구축-실습
04강 라즈베리-개발환경구축-실습04강 라즈베리-개발환경구축-실습
04강 라즈베리-개발환경구축-실습
 
삼성페이 개선
삼성페이 개선삼성페이 개선
삼성페이 개선
 
스프링보다 중요한 스프링 이야기
스프링보다 중요한 스프링 이야기스프링보다 중요한 스프링 이야기
스프링보다 중요한 스프링 이야기
 
우리나라는 간편결제가 왜 어려운가
우리나라는 간편결제가 왜 어려운가우리나라는 간편결제가 왜 어려운가
우리나라는 간편결제가 왜 어려운가
 
간편결제 시스템 구상
간편결제 시스템 구상간편결제 시스템 구상
간편결제 시스템 구상
 
신용카드 전략 Best Output
신용카드 전략 Best Output신용카드 전략 Best Output
신용카드 전략 Best Output
 
라즈베리파이로 시작하는 Iot세상
라즈베리파이로 시작하는 Iot세상라즈베리파이로 시작하는 Iot세상
라즈베리파이로 시작하는 Iot세상
 

Ähnlich wie [IoT] MAKE with Open H/W + Node.JS - 2nd

Introduction to Linux #1
Introduction to Linux #1Introduction to Linux #1
Introduction to Linux #1UNIST
 
Linux programming study
Linux programming studyLinux programming study
Linux programming studyYunseok Lee
 
실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장
실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장
실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장Sunggon Song
 
리눅스 시작하기
리눅스 시작하기리눅스 시작하기
리눅스 시작하기Pete Lee
 
[강릉원주대 대기환경과학과] 대기과학전산입문 설명서
[강릉원주대 대기환경과학과] 대기과학전산입문 설명서[강릉원주대 대기환경과학과] 대기과학전산입문 설명서
[강릉원주대 대기환경과학과] 대기과학전산입문 설명서Lee Sang-Ho
 
Laravel 로 배우는 서버사이드 #2
Laravel 로 배우는 서버사이드 #2Laravel 로 배우는 서버사이드 #2
Laravel 로 배우는 서버사이드 #2성일 한
 
Fluentd with MySQL
Fluentd with MySQLFluentd with MySQL
Fluentd with MySQLI Goo Lee
 
루팅(Rooting)에 관해
루팅(Rooting)에 관해루팅(Rooting)에 관해
루팅(Rooting)에 관해Youngbin Han
 
[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래NAVER D2
 
RHive tutorial 1: RHive 튜토리얼 1 - 설치 및 설정
RHive tutorial 1: RHive 튜토리얼 1 - 설치 및 설정RHive tutorial 1: RHive 튜토리얼 1 - 설치 및 설정
RHive tutorial 1: RHive 튜토리얼 1 - 설치 및 설정Aiden Seonghak Hong
 
Puppet과 자동화된 시스템 관리
Puppet과 자동화된 시스템 관리Puppet과 자동화된 시스템 관리
Puppet과 자동화된 시스템 관리Keon Ahn
 
클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기YoungSu Son
 
실용주의 프로그래머를 위한 개발환경 만들기
실용주의 프로그래머를 위한 개발환경 만들기실용주의 프로그래머를 위한 개발환경 만들기
실용주의 프로그래머를 위한 개발환경 만들기Mickey SJ Lee
 
KhuHub student guideline
KhuHub student guidelineKhuHub student guideline
KhuHub student guidelinesangyun han
 
Grunt 사용법 간단정리
Grunt 사용법 간단정리Grunt 사용법 간단정리
Grunt 사용법 간단정리SuHyun Jeon
 
Perl Script Document
Perl Script DocumentPerl Script Document
Perl Script Document오석 한
 

Ähnlich wie [IoT] MAKE with Open H/W + Node.JS - 2nd (20)

shell and process
shell and processshell and process
shell and process
 
Introduction to Linux #1
Introduction to Linux #1Introduction to Linux #1
Introduction to Linux #1
 
Linux programming study
Linux programming studyLinux programming study
Linux programming study
 
실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장
실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장
실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장
 
리눅스 시작하기
리눅스 시작하기리눅스 시작하기
리눅스 시작하기
 
[강릉원주대 대기환경과학과] 대기과학전산입문 설명서
[강릉원주대 대기환경과학과] 대기과학전산입문 설명서[강릉원주대 대기환경과학과] 대기과학전산입문 설명서
[강릉원주대 대기환경과학과] 대기과학전산입문 설명서
 
Laravel 로 배우는 서버사이드 #2
Laravel 로 배우는 서버사이드 #2Laravel 로 배우는 서버사이드 #2
Laravel 로 배우는 서버사이드 #2
 
Fluentd with MySQL
Fluentd with MySQLFluentd with MySQL
Fluentd with MySQL
 
루팅(Rooting)에 관해
루팅(Rooting)에 관해루팅(Rooting)에 관해
루팅(Rooting)에 관해
 
linux1
linux1linux1
linux1
 
[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래
 
R hive tutorial 1
R hive tutorial 1R hive tutorial 1
R hive tutorial 1
 
RHive tutorial 1: RHive 튜토리얼 1 - 설치 및 설정
RHive tutorial 1: RHive 튜토리얼 1 - 설치 및 설정RHive tutorial 1: RHive 튜토리얼 1 - 설치 및 설정
RHive tutorial 1: RHive 튜토리얼 1 - 설치 및 설정
 
Puppet과 자동화된 시스템 관리
Puppet과 자동화된 시스템 관리Puppet과 자동화된 시스템 관리
Puppet과 자동화된 시스템 관리
 
클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기
 
실용주의 프로그래머를 위한 개발환경 만들기
실용주의 프로그래머를 위한 개발환경 만들기실용주의 프로그래머를 위한 개발환경 만들기
실용주의 프로그래머를 위한 개발환경 만들기
 
KhuHub student guideline
KhuHub student guidelineKhuHub student guideline
KhuHub student guideline
 
Grunt 사용법 간단정리
Grunt 사용법 간단정리Grunt 사용법 간단정리
Grunt 사용법 간단정리
 
Perl Script Document
Perl Script DocumentPerl Script Document
Perl Script Document
 
03.Ansible 소개
03.Ansible 소개03.Ansible 소개
03.Ansible 소개
 

Mehr von Park Jonggun

Start IoT with jQueryMobile - 기초6
Start IoT with jQueryMobile - 기초6Start IoT with jQueryMobile - 기초6
Start IoT with jQueryMobile - 기초6Park Jonggun
 
Start IoT with jQueryMobile - 기초5
Start IoT with jQueryMobile - 기초5Start IoT with jQueryMobile - 기초5
Start IoT with jQueryMobile - 기초5Park Jonggun
 
Start IoT with jQueryMobile - 기초4
Start IoT with jQueryMobile - 기초4Start IoT with jQueryMobile - 기초4
Start IoT with jQueryMobile - 기초4Park Jonggun
 
Start IoT with jQueryMobile - 기초3
Start IoT with jQueryMobile - 기초3Start IoT with jQueryMobile - 기초3
Start IoT with jQueryMobile - 기초3Park Jonggun
 
Start IoT with jQueryMobile - 기초2
Start IoT with jQueryMobile - 기초2Start IoT with jQueryMobile - 기초2
Start IoT with jQueryMobile - 기초2Park Jonggun
 
Start IoT with jQueryMobile - 기초1
Start IoT with jQueryMobile - 기초1Start IoT with jQueryMobile - 기초1
Start IoT with jQueryMobile - 기초1Park Jonggun
 
Start IoT with JavaScript - 6.함수
Start IoT with JavaScript - 6.함수Start IoT with JavaScript - 6.함수
Start IoT with JavaScript - 6.함수Park Jonggun
 
Start IoT with JavaScript - 5.객체2
Start IoT with JavaScript - 5.객체2Start IoT with JavaScript - 5.객체2
Start IoT with JavaScript - 5.객체2Park Jonggun
 
Start IoT with JavaScript - 4.객체1
Start IoT with JavaScript - 4.객체1Start IoT with JavaScript - 4.객체1
Start IoT with JavaScript - 4.객체1Park Jonggun
 
Start IoT with JavaScript - 2.연산자
Start IoT with JavaScript - 2.연산자Start IoT with JavaScript - 2.연산자
Start IoT with JavaScript - 2.연산자Park Jonggun
 
[SCSA] Thinker 에서 Maker 로
[SCSA] Thinker 에서 Maker 로[SCSA] Thinker 에서 Maker 로
[SCSA] Thinker 에서 Maker 로Park Jonggun
 
누구나코딩을 V0.04
누구나코딩을 V0.04누구나코딩을 V0.04
누구나코딩을 V0.04Park Jonggun
 
Circulus Introduction
Circulus IntroductionCirculus Introduction
Circulus IntroductionPark Jonggun
 

Mehr von Park Jonggun (13)

Start IoT with jQueryMobile - 기초6
Start IoT with jQueryMobile - 기초6Start IoT with jQueryMobile - 기초6
Start IoT with jQueryMobile - 기초6
 
Start IoT with jQueryMobile - 기초5
Start IoT with jQueryMobile - 기초5Start IoT with jQueryMobile - 기초5
Start IoT with jQueryMobile - 기초5
 
Start IoT with jQueryMobile - 기초4
Start IoT with jQueryMobile - 기초4Start IoT with jQueryMobile - 기초4
Start IoT with jQueryMobile - 기초4
 
Start IoT with jQueryMobile - 기초3
Start IoT with jQueryMobile - 기초3Start IoT with jQueryMobile - 기초3
Start IoT with jQueryMobile - 기초3
 
Start IoT with jQueryMobile - 기초2
Start IoT with jQueryMobile - 기초2Start IoT with jQueryMobile - 기초2
Start IoT with jQueryMobile - 기초2
 
Start IoT with jQueryMobile - 기초1
Start IoT with jQueryMobile - 기초1Start IoT with jQueryMobile - 기초1
Start IoT with jQueryMobile - 기초1
 
Start IoT with JavaScript - 6.함수
Start IoT with JavaScript - 6.함수Start IoT with JavaScript - 6.함수
Start IoT with JavaScript - 6.함수
 
Start IoT with JavaScript - 5.객체2
Start IoT with JavaScript - 5.객체2Start IoT with JavaScript - 5.객체2
Start IoT with JavaScript - 5.객체2
 
Start IoT with JavaScript - 4.객체1
Start IoT with JavaScript - 4.객체1Start IoT with JavaScript - 4.객체1
Start IoT with JavaScript - 4.객체1
 
Start IoT with JavaScript - 2.연산자
Start IoT with JavaScript - 2.연산자Start IoT with JavaScript - 2.연산자
Start IoT with JavaScript - 2.연산자
 
[SCSA] Thinker 에서 Maker 로
[SCSA] Thinker 에서 Maker 로[SCSA] Thinker 에서 Maker 로
[SCSA] Thinker 에서 Maker 로
 
누구나코딩을 V0.04
누구나코딩을 V0.04누구나코딩을 V0.04
누구나코딩을 V0.04
 
Circulus Introduction
Circulus IntroductionCirculus Introduction
Circulus Introduction
 

[IoT] MAKE with Open H/W + Node.JS - 2nd

  • 1. Expand your dimension circul.us Opensource H/W + Node JS IoT 따라잡기 Lesson 2 CIRCULUS http://www.circul.us Expand your dimension
  • 2. Expand your dimension circul.us 누구나 로봇을 만드는 그날까지! Circulus Robot CULU
  • 3. Expand your dimension circul.us Revision Date Detail 2015.03.22 최초 개정 2015.05.27 압축/해제 내용 추가
  • 4. Expand your dimension circul.us Lesson 1 Introduction Lesson 2 Linux Lesson 3 NodeJS Lesson 4 Sensor Lesson 5 Project Lesson 2 Linux
  • 5. Expand your dimension circul.us What we do
  • 6. Expand your dimension circul.us Chapter 1 Linux 기본 Chapter 2 Linux 권한 Chapter 3 Linux 관리 Chapter 4 Linux 에디터 Chapter 5 Linux 압축관리 Lesson 2 Linux
  • 7. Expand your dimension circul.us Linux 기본 Chapter 1
  • 8. Expand your dimension circul.us Why Rasbian Raspbian • Raspberry Pi 1,2 모두 지원하는 유일한 OS • ubuntu 와 같이 debian linux 기반으로 동일한 명령어 체계를 사용 • 라즈베리파이에 최적화된 경량화된 Linux Raspberry Pi 1,2 지원Raspberry Pi 2 지원
  • 9. Expand your dimension circul.us Linux 기본 명령 현재 사용자 확인 $ whoami 현재 위치 확인 $ pwd 경로 이동하기 $ cd [이동할 디렉토리] 상위 경로로 이동하기 $ cd ..
  • 10. Expand your dimension circul.us 기본 폴더 윈도우의 Program Files 와 같이 중요한 의미를 갖는 주요 디렉토리가 생성됨 위치 설명 /dev 주변기기 (마우스, 모니터, VGA, HDD 등) 에 대한 정보 파일 저장 /etc 시스템 및 네트워크 설정 파일이 들어있는 디렉토리 /bin 파일, 텍스트, 네트워크 처리 명령어들이 저장되어 있는 디렉토리 /lib 시스템, 응용 프로그램에서 사용하는 라이브러리 /home 사용자 계정을 맊들면 동일한 디렉토리가 이곳에 생성 됨 /root root 사용자맊의 특별한 디렉토리 /proc 리눅스 시스템 정보를 실시갂으로 확인할 수 있는 디렉토리 /sbin 파일, 시스템, 인터페이스, 커널등의 시스템 관리 명령 디렉토리 /tmp 임시로 파일을 생성하는 디렉토리 /var 시스템 가동시 생기는 각종 임시 파일들을 저장하는 디렉토리 /usr 시스템, 응용 프로그램에서 필요한 파일이 저장되는 디렉토리
  • 11. Expand your dimension circul.us usr 폴더 사용자가 설치할 때 가장 맋은 용량을 사용하는 곳으로 응용프로그램에서 필 요한 파일이 저장되는 디렉토리 임 위치 설명 /usr/bin 추가 사용자 프로그램이 위치하는 디렉토리 /usr/games 게임 프로그램이 설치되는 디렉토리 /usr/include 프로그래밍과 관렦된 헤더 파일이 위치하는 디렉토리 /usr/lib /lib 의 기본 라이브러리 외에 각종 확장 라이브러리가 있는 디렉토리 /usr/local 사용자가 설치하는 프로그램이 저장되는 기본 디렉토리 /usr/sbin 관려자용 추가 프로그램이 위치하는 디렉토리 /usr/src 프로그램의 소스가 보관되는 디렉토리
  • 12. Expand your dimension circul.us Linux 기본 명령 현재 디렉토리에 담겨있는 내용 확인 $ ls $ ls –a // 숨김파일 표시 $ ls –l // 리스트로 표시함
  • 13. Expand your dimension circul.us 경로 / 파일 찾기 절대 경로 - / 로 시작하는 젃대 경로 지정 - 시스템의 어느 위치에서도 젃대 경로는 동일한 위치를 나타냄 - 어디에서든지 같은 방향으로 이동 상대 경로 - 파일명, 디렉토리명, 점으로 시작하는 상대경로
  • 14. Expand your dimension circul.us 경로 / 파일 찾기 find : 파일 찾기 시스템에 위치하고 있는 파일을 찾기 위해서는 find 명령을 이용한다. 경로 명 이 없는 경우 현재 위치에서 검색을 시작한다. $ find [경로명] –name [파일명] $ find / -name [파일명] // 젂체 검색, 시갂이 오래 걸림 $ find [경로명] -name [디렉토리명] –type d // 디렉토리 검색
  • 15. Expand your dimension circul.us Linux 기본 명령 파일 이동하기 $ mv [원본 파일명] [대상 파일명] $ mv pi mypi 파일 복사하기 $ cp [원본 파일명] [대상 파일명] $ cp pi pi2 디렉토리 복사하기 $ cp –r [원본 디렉토리] [대상 디렉토리] $ cp –r pi1 pi2 빈 파일 만들기 $ touch raspberry $ touch pi
  • 16. Expand your dimension circul.us Linux 기본 명령 디렉토리 만들기 $ mkdir mypi 파일 삭제하기 $ rm [파일 명] $ rm pi1 디렉토리 삭제하기 $ rm –r pi2 $ rm –rf pi2 화면 지우기 $ clear
  • 17. Expand your dimension circul.us 히스토리 확인 이젂에 입력했던 명령을 다시 입력하지 않고, 이젂 명령을 반복해서 실행하고 싶은 경우, 상하 화살표를 이용하여 이젂 명령을 수행하거나 history 명령을 이 용할 수 있다. $ history // 모든 히스토리 검색 $ history [n] // 최근 n 개의 히스토리 검색 이젂에 실행한 특정명령을 사용하고자 하는 경우 grep 명령을 이용해 필터링 할 수 있다. $ history [n] | grep [이름]
  • 18. Expand your dimension circul.us 프로그램 실행 Foreground 실행 일반적인 실행 방법으로 해당 프로그램 동작을 화면에서 확인한다. 다른 프로 세스를 실행하기 위해서는 현재 프로세스를 강제로 종료해야 한다. $ top Background 실행 현재 프로그램을 Background 로 실행한다. 다른 프로세스를 실행하기 위해 현재 프로세스를 종료할 필요가 없다. 명령어 뒤에 & 를 붙여주면 된다. $ top & * 백그라운드 프로세스를 Forground 로 되게 하려면, fg 명령을 홗용한다 $fg
  • 19. Expand your dimension circul.us 부팅 설정 rc.local 라즈베리파이 부팅 시 마다 매번 자동 실행되기 원하는 명령어가 있다면 /etc/rc.local 파일에 해당 명령어를 추가하거나 수정하면 된다. $ sudo nano /etc/rc.local
  • 20. Expand your dimension circul.us RFTM Read The Flaming Manual (설명서에 다 있어. 읽어봐!) 모르는 명령이 있을때 어플리케이션에 대부분 설명서가 내장되어 있음. 실행 후 h 키로 세부 도움말을 보거나 q 키로 종료할 수 있음. $ man [설명을 보고자 하는 파일 명]
  • 21. Expand your dimension circul.us 바로 가기 / 링크 Soft Link 윈도우에서 사용되는 바로가기 형태와 유사함. 소프트링크는 실제 파일이 존 재하는 디스크의 실제 위치를 가리키기맊 하는 포인터 파일을 맊듦. $ ln –s [소스] [대상] Hard Link 파일은 하나인데, 이름을 두 개 가질 수 있는 방법임. 원래 파일과 젂혀 구별되 지 않음. 같은 위치를 가리키는 이름이 두개라는 의미 $ ln [소스] [대상]
  • 22. Expand your dimension circul.us 단축키 프로그램 중지 ( Ctrl + C ) 실행중인 명령을 강제로 중단시킴. 일시 정지 ( Ctrl + Z ) 명령을 일시적으로 정지시키려면 Ctrl + Z를 사용. 일시정지 상태에서는 다른 명령을 내릴 수 있고, 정지한 명령을 다시 실행하려면 fg 명령어를 사용. 긴 명령 처리 ( ) 맋은 옵션을 사용하는 명령어는 한죿을 넘어가는데, 이 때 백슬래시()를 사 용하면 알아보기 쉽게 명령어를 입력할 수 있음 프로그램 중지 ( ; ) 명령어를 순차적으로 실행시킬 때 세미콜롞(;)을 이용하여 한번에 여러 명령을 내릴 수 있음.
  • 23. Expand your dimension circul.us Linux 권한 Chapter 2
  • 24. Expand your dimension circul.us 사용자 관리 사용자 계정 추가 $ useradd [사용자명] $ adduser [사용자명]
  • 25. Expand your dimension circul.us 사용자 관리 패스워드 지정 $ passwd [사용자명] 시용자 계정 삭제 $ userdel [사용자명]
  • 26. Expand your dimension circul.us 그룹 관리 그룹 확인 $ groups 그룹 추가 $ groupadd –g [그룹ID] [그룹 명] 그룹 삭제 $ groupdel –g [그룹ID] [그룹 명]
  • 27. Expand your dimension circul.us 그룹/사용자 관리 사용자 그룹 등록 usermod –g 를 이용하여 그룹에 사용자를 등록할 수 있음. 다수의 등록을 위 해서는 –G 옵션을 사용 $ usermod –g [그룹명] [사용자 명] $ usermod –G [그룹명, 그룹명...] [사용자 명] 사용자 그룹 탈퇴 usermod 를 이용하여 등록 후 –G 옵션을 다시 실행하면, 그룹으로 부터 탈퇴 $ usermod –G [그룹명, 그룹명...] [사용자 명]
  • 28. Expand your dimension circul.us 파일 권한 누가 파일에 접근해도 되는지, 안되는 지, 어디까지 가능한지를 결정하는 기죾 이 파일 권한 임 1.읽기 권한 : 파일을 읽을 수 있느냐 없느냐 2.쓰기 권한 : 파일을 쓸 수 있느냐 없느냐 3.실행 권한 : 파일을 실행할 수 있느냐 없느냐 User : 파일의 소유자를 가리킨다 Group : 파일을 소유한 그룹을 가리킨다 Others : 다른 사용자를 의미한다.
  • 29. Expand your dimension circul.us 파일 권한 현재 파일의 권한 상태를 확인할 때는 l (Long Format) 으로 조회함 $ ls –l 목록 중 가장 왼쪽이 파일 타입을 이야기 하고 그 이후는 권한에 대한 정보를 나타낸다. 3개의 권한은 각각 유저(user), 그룹(group), 모든 사용자 (other) 를 의미한다 - rwx rwx rwx 파일타입 user 권한 group 권한 other 권한
  • 30. Expand your dimension circul.us 파일 권한과 타입 1. 사용자 명이 해당 파일의 소유자와 같다면, 이 파일에 접근 할때 사용자 권 한이 적용됨 2. 해당 파일의 소유자는 아니여도 파일 그룹에 소속되어 있다면 그룹 권한 을 적용함 3. 해당 파일의 소유자도 아니고 같은 그룹에 소속되지도 않았다면 다른 사 용자에 역할에 비롯된 권한맊 적용 됨 표시 뜻 설명 - Plain file 일반 파일, 실행 파일도 포함 d Directory 디렉토리를 의미 l Link 다른 파일을 가르키는 링크 파일 p Pipe 두개의 프로그램을 연결하는 파이프 파일 b Block device 블럭 단위로 하드웨어와 반응하는 파일 c Charactor device 스트림 단위로 하드웨어와 반응하는 파일
  • 31. Expand your dimension circul.us 파일 권한 권한 설정 가능한 인수 역할 u 사용자 g 그룹 o 다른 사용자 / 다른 세계 a 젂부 적용 방법 + 추가 - 제거 = 분명하게 설정 적용 가능 한 것 r 4 읽기 w 2 쓰기 x 1 실행
  • 32. Expand your dimension circul.us 권한 설정 파일 권한 변경을 위하여 chmod 명령어를 사용 $ chmod [권한][파일] $ chmod g+w test // test 파일에 그룹(g) 쓰기 권한을 추가(+) 한다. $ chmod o-x test // test 파일에 나머지 사용자(o) 의 실행(x) 권한을 제거(-) 한다. 파일 권한 변경을 위하여 chmod 명령어를 사용 $ chmod u+rwx test // user 에 rwx 권한을 추가한다. $ chmod ugo+rx test $ chmod u+x, g+rw,o-r test 갂편하게 숫자로 설정 할수 있음. 읽기(r)는 4, 쓰기(w)는 2, 실행(x)은 1임 $ chmod 755 test // test 파일의 권한을 rwxr-xr-x 로 설정 $ chmod 654 test // test 파일의 권한을 rw-r-xr– 로 설정 $ chmod 4 test // chmod 004 test 와 같은 의미
  • 33. Expand your dimension circul.us 실행 권한 root는 파일시스템의 시작점을 일기도 하며 시스템의 총 관리를 책임지는 사 용자를 의미하기 도 함. 시스템 차원의 기능 또는 관리 차원의 기능을 위해서 는 루트로 싞원을 확인 받아야 함 sudo 명령을 이용하면 슈퍼사용자가 되어 root 의 권한을 부여 받을 수 있음 $ sudo visudo 마이너스(-) 기호는 해당 홖경으로 로그인 하겠다는 것을 나타내며, 다른인수 가 붙지 안으면 슈퍼 사용자로 로그인 $ sudo su – $ sudo -i
  • 34. Expand your dimension circul.us Linux 관리 Chapter 3
  • 35. Expand your dimension circul.us 기본 모니터링 시스템 부하 상태 ( uptime ) 시스템의 부하 상태에 대한 대략적인 수치를 표시해 줌 $ uptime 시스템 간략 모니터 링 ( vmstat ) 프로세스와 메모리에 대한 정보 뿐맊 아니라 일정 시갂의 CPU 홗동도 모니터 링 할 수 있음 $ vmstat
  • 36. Expand your dimension circul.us 상세 모니터링 (top) 시스템 상세 모니터링 ( top ) 작동 시간과 로드 평균 현재 시간과 시스템이 동작한 시간을 알 수 있음. 로드 평균은 CPU 사용량을 나타내는 백분율을 현재 ㅅ용가능한 컴퓨팅 리소스를 얼마나 사용하고 있는지에 대한 척도. 컴퓨터 리소스 사용량과 CPU 사용요구량 모두 비교함 $ top
  • 37. Expand your dimension circul.us 상세 모니터링 (top) top 첫번 째 줄 top 두번 째 줄 - Tasks 이름 설명 total 젂체 프로세스 수 running 현재 실행되고 있는 프로세스 수 sleepling 백그라운드에서 잠자고 있는(대기 모드) 프로세스 수 stopped 실행을 일시적으로 중단하고 있는 프로세스 수 zombie 실행을 종료했지맊 어떤 이유로 메모리에 남아있는 프로세스 수 이름 설명 up 리눅스 부팅 후 총 구동 시갂 users 접속하여 사용중인 총 사용자 수 load average 시스템 평균 부하
  • 38. Expand your dimension circul.us 상세 모니터링 (top) top 세번째 줄 – Cpu(s) 이름 설명 us 사용자 어플리케이션에 할당 된 CPU 비중 sy 시스템 어플리케이션에 할당 된 CPU 비중 ni CPU 우선순위를 낮추기 위해 (nice) 할당 된 CPU 비중 id idle (휴식) 상태의 CPU 비중 wa I/O를 기다리는 프로세스에 할당 된 CPU 비중 hi 하드웨어 인터럽트를 기다리는 프로세스에 할당 된 CPU 비중 si 소프트웨어 인터럽트를 기다리는 프로세스에 할당 된 CPU 비중 st 하이퍼바이저 (가상플랫폼을 실행하는 소프트웨어)에 할당 된 CPU 비중
  • 39. Expand your dimension circul.us 상세 모니터링 (top) Process Table 이름 설명 PID 프로세스의 ID 번호 USER 프로세스를 소유한 사용자 PR 프로세스의 우선 순위 NI 프로세스의 nice 값 VIRT 프로세스가 소비하는 가상 메모리의 양 RES 실제 상주하는 가상 메모리의 크기 SHR 프로세스가 사용하고 있는 공유 메모리의 양 S 프로세스 상태 (ex 잠자기 상태, 실행중 상태 등) %CPU CPU 사용 률 %MEM 메모리 사용 률 TIME+ Task 가 시작된 이후 사용한 시갂 COMMAND 명령어 이름
  • 40. Expand your dimension circul.us 메모리/디스크 사용량 확인 메모리 사용량을 확인하기 위해서는 free 명령을 사용. 이해하기 쉽게 하기 위 하여 –h (human) 옵션 홗용가능. $ free $ free –h 디스크 사용량은 df (Disk Free) 명령을 사용. $ df
  • 41. Expand your dimension circul.us 메모리/디스크 사용량 확인 디렉토리의 각 파일 사용량을 상세하게 보기 위해서는 du (Disk Usage) 명령 을 이용. 폴더명을 입력하지 않으면 현재 디렉토리 정보를 표시함 $ du [폴더명] $ du –h 로그 디렉토리에서 사용되고 있는 공갂 합산 량을 확인할 때 -s 옵션 사용 $ sudo du –sh /var/log
  • 42. Expand your dimension circul.us 장치 확인 라즈베리파이의 USB 포트에 연결된 모든 장치를 확인하고자 할때 lsusb 명령 을 사용. 자세히 보고자 하면 –v 옵션 이용 $ lsusb $ lsusb –v 부팅 시 로드되어 있는 하드웨어 장비 리스트를 확인하고자 할때 lspci 명령을 사용. 자세히 보고자 하면 –v 옵션 ㅇ용 $ lspci $ lspci -v
  • 43. Expand your dimension circul.us 프로세스 관리하기 ps (processes snapshot) 실행중인 프로세스를 관리하는 데 이용 $ ps 시스템의 모든 프로세스를 표죾방식으로 보고자 할때 $ ps –ef 정보 내용 UID 포로세스의 소유자 PID 프로세스의 PID 번호 PPID 부모 프로세스의 PID 번호 C 프로세스의 CPU 사용량 STIME 프로세스의 시작 시갂 TTY 프로세스를 제어하는 터미널 TIME 프로세스가 소비한 누적 CPU 시갂 CMD 프로세스의 커맨드 라인 수
  • 44. Expand your dimension circul.us 프로세스 관리하기 화면밖으로 벗어나지 않도록 보고자 할때 less 를 추가. 위아래 화살표키로 조 젃할 수 있음. q 키를 누르면 종료됨 $ ps –ef | less
  • 45. Expand your dimension circul.us 프로세스 관리하기 명령 결합으로 특정 애플리케이션의 프로세스를 검색할 수 있음 $ ps –ef | grep [프로세스 명] ps 로 수행하면 grep 명령 자체도 보이므로 –v 옵션을 홗용하면 grep 이 없는 모든 행을 리턴 받을 수 있음 $ ps –ef | grep [프로세스 명] | grep –v grep
  • 46. Expand your dimension circul.us 프로세스 관리하기 결과를 좁히기 위해 awk 명령을 이용한다. $1 은 첫번 째 텍스트를 가리키고 $2 는 두번 째 텍스트를 가리킨다 $ ps –ef | grep ssh | grep –v grep | awk ‘{print $2}’ xargs 명령을 사용하면 이젂에 실행된 명령의 출력행을 다른 명령의 개별 인 수로 사용할 수 있음 ssh 가 들어가 있는 프로세스를 종료하는 명령 $ ps –ef | grep ssh | grep –v grep | awk ‘{print $2}’ | xargs sudo kill -9
  • 47. Expand your dimension circul.us cron 명령 cron 은 시간에 따라 명령을 싱행하는 애플리케이션임. 어떤 시간 규칙을 전달하면 그에 따라 명령을 실행해 주는 것 현재 등록되어 있는 목록 (crontab) 확인 $ crontab –l 새로운 크롞 탭을 등록하기 위해서 사용. 크롞탭 항목이 어떻게 구성되는 지 알려주는 주석 확인 $ crontab –e
  • 48. Expand your dimension circul.us cron 명령 등록 내용 설정은 "분,시,일,월,요일, 실행명령" 순으로 설정 20 2 * * 6 [명령어] => 매주 토요일 새벽 2:20 0 4-6 * * * [명령어] => 매일 오후 4,5,6시 5 */2 * * * [명령어] => 매일 2시갂갂격으로 5분대에 15 1 1 * * [명령어] => 매월 1일 새벽 1:15 30 0 1 1,7 * [명령어] => 1,7월 1일 새벽 0:30 필드 의미 범위 첫번째 분 0-59 두번째 시 0-23 세번째 일 0-31 네번째 월 1-12 다섯번째 요일 0-7 (0 or 7 일요일, 1=월, 2=화, 3=수, 4=목, 5=금, 6=토 여섯번째 명령어 실행할 명령을 한죿로 작성
  • 49. Expand your dimension circul.us 프로세스 관리하기 Kill 은 프로세스를 죽이는 동작을 수행. 프로세스를 죽이는 동작이외에 어플리케이션에 싞호를 보내고, 어플리케이션 에 그 싞호에 응답 하는 기능도 있음, 총 64가지 싞호 지원 $ kill –l
  • 50. Expand your dimension circul.us 프로세스 관리하기 프로세스 죽이기 $ kill [signal] [프로세스ID] $ kill -9 [프로세스ID] 번호 신호 의미 1 SIGHUP hang-up 을 죿인 말. 애플리케이션에 현재 연결을 끊으라고 알린다. 애플리케이션을 재 초기화 할 때 사용 3 SIGQUIT quit 애플리케이션에 정상 종료하라고 알림 6 SIGABRT about 프로그램이 중단된다고 알림. 프로그램은 곧바로 닫힘 9 SIGKILL 강제로 애플리케이셔을 종료 함
  • 51. Expand your dimension circul.us Linux 에디터 Chapter 4
  • 52. Expand your dimension circul.us 파일 편집하기 리눅스 콘솔에서 텍스트 파일을 편집하는데, vim 과 nano 가 맋이 이용 됨 nano : 사용하기 쉬운 초 경량 텍스트 에디터. 사용하기 쉬우면서 쓸모있는 기 능을 맋이 제공 vim : 사용하기 어려우나 강력함. nano 에서 할 수 있는 모두 할 수 있을 뿐맊 아니라 비교 기능, 잘라넣기, 붙여넣기, 하이라이트등 강력한 기능을 제공한다. $ nano test.txt
  • 53. Expand your dimension circul.us nano
  • 54. Expand your dimension circul.us Nano 기본 단축키 Nano 를 실행하고 나서, CTRL+G 를 입력하면 도움말을 확인할 수 있다. 기본 단축키는 Function 키로도 대체하여 사용할 수 있다. 단축키 기능키 설명 CTRL+G F1 도움말 표시 CTRL+X F2 nano 종료 CTRL+O F3 파일 저장 CTRL+J F4 문단을 Justify (행의 끝을 맞춤). 한죿을 한 문단으로 맞춤 CTRL+R F5 현재 File 에 다른 File 의 내용을 추가함 CTRL+W F6 Text 검색 CTRL+Y F7 이젂 화면 CTRL+V F8 다음 화면 CTRL+K F9 현재의 Line혹은 선택된 Text 삭제, 그리고 저장 함(Copy) CTRL+U F10 이젂에 잘라내기한 라인에 붙여넣기 함 CTRL+C F11 현재의 커서 위치를 표시 함 CTRL+T F12 Spell Check 시작
  • 55. Expand your dimension circul.us Nano 고급 단축키 Nano 를 사용하면서 부수적인 기능을 CTRL, ALT 와 몇몇 키의 조합으로 수행 할 수 있다. 단축키 설명 CTRL + - 선택한 라인과 컬럼으로 이동 CTRL + Search 와 Replace 작업 CTRL + 6 현재 커서부터 Text선택 시작, 다시 하면 종료 됨 CTRL + f 한 문자 앞으로 CTRL + b 한 문자 뒤로 CTRL + p 이젂 죿로 CTRL + n 다음 죿로 CTRL + a 현재 line의 시작 위치로 CTRL + e 현재 line 의 끝 위치로 단축키 설명 CTRL + space 한 단어 앞으로 CTRL + alt 한 단어 뒤로 ALT + ( 현재 문단의 시작으로 ALT + ) 현재 문단의 끝으로 ALT + 파일의 시작 라인으로 ALT + / 파일의 마지막 라인으로 ALT + ] 현 괄호에 매치되는 괄호 찾기 ALT + = 한 죿 scroll 밑으로 ALT + - 한 죿 scroll 위로
  • 56. Expand your dimension circul.us Linux 압축 관리 Chapter 5
  • 57. Expand your dimension circul.us TAR Tar 는 Tape Archive 의 약자로, 젂통적으로 유닉스에서 파일을 백업할 때 Tape 장치를 쓴 것에서 유래된 젂통적인 파일 압축/해제 유틸리티 임 옵션 설명 -c 파일을 tar 로 묶음 -p 파일 권한을 원본과 동일하게 지정함 -v 파일을 압축/해제 하는 과정을 화면으로 출력 -C 경로를 지정 -x Tar 압축을 해제 함 -f 파일 이름을 지정 함 -z gzip 으로 압축하거나 해제 함 -j bzip2 로 압축하거나 해제 함 (압축률이 가장 우수 함)
  • 58. Expand your dimension circul.us TAR 활용 압축 풀기 X는 Expand 즉 압축을 해제하라는 의미를 지니고 있음. gzip 을 이용하는 경 우 z 옵션을, bzip2를 이용하는 경우 j 옵션으로 대체하여 홗용 가능 함 $ tar xvzf [압축 파일 명] $ tar xvzf download.tar.gz $ tar xvzf [압축 파일 명] –C [압축이 풀릴 폴더] $ tar xvzf download.tar.gz –C /test 압축 하기 C는 Compress, 즉 압축을 하라는 의미를 지니고 있음. gzip 으로 해제하는 경 우 z 옵션을, bzip2로 해제하는 경우 j 옵션으로 대체하여 홗용 가능 함 $ tar cvzf [압축 파일 명] [압축할 경로/대상] $ tar cvzf tarfile.tar.gz .
  • 59. Expand your dimension circul.us ZIP 윈도우 홖경에서 대표적으로 홗용되는 ZIP 파일의 압축 및 해제를 리눅스 홖경 에서도 이용 가능함. 압축하는 ZIP 과 압축 해제용 UNZIP 으로 나뉨 압축 풀기 $ unzip [압축 파일 명] $ unzip download.zip $ unzip [압축 파일 명] –d [압축 해제할 디렉토리] $ unzip download.zip –d /foldername/ 압축 하기 하위 폴더의 압축이 필요한 경우 r옵션, 유니코드 파일명도 압축하려는 경우 F 옵션을 함께 홗용 한다. $ zip [압축 파일 명] [압축할 폴더 또는 파일] $ zip filename.zip ./* $ zip [압축 파일 명] [압축할 폴더 또는 파일] $ zip –rF filename.zip ./*
  • 60. Expand your dimension circul.us Expand your dimension Circulus Official www.circul.us Circulus Group group.circul.us Team Circulus Park Jonggun, Lee Yunjai, Ki Yeonah, Lee Jonghee Since 2013