IoT 시대에 Opensource H/W 와 NodeJS 를 이용하여 누구나 나만의 H/W + S/W + Service 를 만들기 위한 교육 과정을 만들어 보았습니다.
상상했던 아이디어를 Raspberry Pi 기반으로 나만의 IoT 제품을 현실로 만들어 보세요.
Lesson 1 - Introduction : IoT개요, Opensource H/W, 라즈베리파이 기초
Lesson 2 - Linux : Raspberry Pi 에서 리눅스 활용하기
Lesson 3 - Node.JS : Raspberry Pi 에서 Node.JS 로 프로그래밍 하기
Lesson 4 - Sensor : GPIO 를 Node.JS 로 동작시켜 센서 제어하기
Lesson 5 - Project : Raspberry Pi 로 스마트폰 + 무선 IoT 오디오 제작
챕터가 완성되는대로 추가적으로 공유하겠습니다.
Circulus Site - http://www.circul.us
Circulus Group - http://group.circul.us
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 명령어를 사용.
긴 명령 처리 ( )
맋은 옵션을 사용하는 명령어는 한죿을 넘어가는데, 이 때 백슬래시()를 사
용하면 알아보기 쉽게 명령어를 입력할 수 있음
프로그램 중지 ( ; )
명령어를 순차적으로 실행시킬 때 세미콜롞(;)을 이용하여 한번에 여러 명령을
내릴 수 있음.
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
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 강제로 애플리케이셔을 종료 함
52. Expand your dimension circul.us
파일 편집하기
리눅스 콘솔에서 텍스트 파일을 편집하는데, vim 과 nano 가 맋이 이용 됨
nano : 사용하기 쉬운 초 경량 텍스트 에디터. 사용하기 쉬우면서 쓸모있는 기
능을 맋이 제공
vim : 사용하기 어려우나 강력함. nano 에서 할 수 있는 모두 할 수 있을 뿐맊
아니라 비교 기능, 잘라넣기, 붙여넣기, 하이라이트등 강력한 기능을 제공한다.
$ nano test.txt
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 위로
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