SlideShare a Scribd company logo
1 of 47
Download to read offline
Linux 기초 & 장비 세팅
2021 AI+X SUMMER CAMP
1
2⃣ OS와 CLI, CLI 명령어, Vim 공부
1⃣ 장비 소개 및 카메라 연결 3⃣ SSH로 장비 상호 연결
강의 개요
2
Ubuntu CLI, Vim
Raspberry Pi NUC
Raspberry Pi Camera
SSH
강의 목표
•실험 동안 사용할 장비를 소개하고 세팅합니다
•운영체제와 CLI란 무엇인지 배웁니다
•Linux CLI 사용 방법을 익힙니다
•네트워크 개념과 원격 접속 (SSH) 방식을 공부하고 적용합니다
•장비 사이 연결 및 기본 세팅을 마칩니다
3
01. 장비 소개 & 카메
라 세팅
- Raspberry Pi & NUC
- 실험실 기본 세팅
- 라즈베리 파이 카메라 연결
4
라즈베리파이 (Raspberry Pi) 는 영국의 라즈베리 파이 재단에서 교육용
으로 만든 초소형, 초저가의 컴퓨터입니다. 싱글 보드 컴퓨터 (SBC)로, 기
능 구현을 위해 인쇄 회로 기판, PCB 위에 내장한 컴퓨터 시스템입니다.
메모리, 입출력 기능을 위한 최소 컴퓨터 요구 사항을 포함하고 있습니다
Raspberry Pi & NUC
5
Raspberry Pi
Pi Camera
라즈베리파이 전용 카메라입니다
인텔에서 출시한 미니 PC 플랫폼입니다. 작은 크기로, Raspberry Pi 보
다 더 좋은 성능을 지녔으며, 일반 PC로 사용되기도 합니다.
NUC
🖥 실험실의 인터넷 회선,
스위치와 Raspberry Pi, NUC이 연결되어 있습니다
*스위치는 자신에게 연결된 디바이스들의 맥 주소(기기 주소)와
포트가 기록된 표를 갖고 있고, 이 표를 사용해 데이터의 목적지를
파악해 해당하는 장치에 데이터를 보내줍니다.
*스위치를 사용해 RaspberryPi와 NUC이
네트워크에 연결될 수 있습니다
🖥 Raspberry Pi, NUC과 연결할
모니터, 키보드, 마우스 등이 준비되어 있습니다
실험실 기본 세팅
6
Raspberry Pi에 카메라 연결
7
라즈베리 파이의 전원을 끄고, 카메라 모듈을 연결합니다!!
영상으로 연결 방법 확인: https://projects.raspberrypi.org/en/projects/getting-started-with-picamera/2
1⃣
Pi에 모니터, 키보
드, 마우스를 연결해
주세요
- Raspberry PI 설정 확인
- Reboot Raspberry PI
8
라즈베리 파이에 모니터를 연결하고 GUI로 카메라 설정을 완료합니다
2⃣
Pi에 모니터, 키보
드, 마우스를 연결해
주세요
Raspberry Pi에 카메라 연결 (2)
Raspberry Pi에 카메라 연결 (3)
- 터미널 창을 열어 아래와 같은 명령어를 입력합니다
9
Pi에 모니터, 키보
드, 마우스를 연결해
주세요
카메라 연결 테스트 - Raspberry Pi 카메라로 사진 찍기
3⃣
📽 파이썬으로 라즈베리 파이 카메라의 영상 녹화하기
10
필요한 패키지를 설치합니다 - 편집기 vim, python 패키지 관리자
Vim 편집기를 엽니다
apt-get은 Advanced Packaging Tool의

약자입니다. Linux 시스템에서 필요한 패키
지를 설치하고 제거하는 데 사용됩니다.

apt-get update는 설치되어 있는 패키지들
의 새로운 버전이 있는지 확인할 때 쓰입니다

apt-get upgrade는 확인한 패키지들의 최
신 버전에 따라, 최신 버전으로 패키지를 업그
레이드 해주는 명령어입니다
Pi에 모니터, 키보
드, 마우스를 연결해
주세요
Raspberry Pi에 카메라 연결 (4)
📽 파이썬으로 라즈베리 파이 카메라의 영상 녹화하기
11
아래와 같이 코드를 작성합니다
Pi에 모니터, 키보
드, 마우스를 연결해
주세요
Raspberry Pi에 카메라 연결 (5)
필요한 모듈을 불러옵니다. PiCamera 라이브러리는 파이썬에
서 Raspberry Pi에 연결된 카메라에 접근하고, 다룰 수 있게 해
줍니다.
카메라에 접근할 수 있는 camera 변수를 생성합니다
5초 동안 다른 동작을 멈춥니다 (sleep)
이 부분을 수정해 비디오를 몇초 동안 녹화할지 정할 수 있습니다
sleep에서 정의된 시각이 흐른 뒤, 카메라 영상 녹화와
미리보기를 멈춥니다
현재 카메라에서 들어고 있는 영상 입력을 확인합니다
비디오 녹화를 시작하고, 비디오 코덱을 'rgba' 로 저장합니다
record_video.py
📽 파이썬으로 라즈베리 파이 카메라의 영상 녹화하기
12
파이썬 코드를 실행한 뒤, 녹화된 영상을 확인합니다
Pi에 모니터, 키보
드, 마우스를 연결해
주세요
Raspberry Pi에 카메라 연결 (6)
운영체제란?
- Raspberry Pi & NUC
- 운영체제
13
운영 체제 (OS)
14
운영체제란, 컴퓨터 시스템의 하드웨어 자원과 소프트웨어 자원을 효율적으로 관리하여 사용자
에게 편리함을 제공하는 프로그램입니다.
대표적으로 컴퓨터에는 Windows, Linux, UNIX 등의 운영체제가 있고, 모바일 (핸드폰) 에는 대
표적으로 iOS와 안드로이드 OS 가 있습니다
Windows iOS Android Linux
운영 체제 (OS)
15
운영체제는 프로그래머가 컴
퓨터 하드웨어를 모르더라
도, 소프트웨어를 쉽게 만들
수 있도록 해줍니다.
운영체제의 발전 목적은 아래
와 같습니다:
- 컴퓨터 처리 능력 증대
- 컴퓨터 응답 시간 단축
- 사용 가능도 증대
- 신뢰도 향상
운영체제는 여러 자원들을 제
어하고, 상태를 감시합니다
운영 체제 (OS)
16
Raspberry Pi OS. Raspberry Pi에는 자체적 운영체제가 있습니다. 라
즈베리 파이의 저성능 CPU에 최적화가 잘 되어 있는 운영체제입니다.
Ubuntu 운영체제는 Linux를 기반으로 만들어졌으며, 개인용 데스크
탑 환경에 최적화 되어 있습니다. 누구나 무료로 사용할 수 있습니다.
실습에서 사용할 Raspberry Pi에는 Raspberry Pi OS (구 Raspbian OS)와 Ubuntu 입니다. 모두
Linux라는 운영체제에 기반을 두어 만들어졌습니다.
Ubuntu
Bash 명령어
Raspberry Pi OS와 Ubuntu OS 터미널
은 모두 Linux에 기반을 두고 만들어졌고,
Bash CLI 셸을 사용합니다. CLI 환경이 무
엇인지 배우고 실험에서 사용될 기본적인
Linux CLI 명령어들을 배우도록 하겠습니
다
17
Raspberry Pi OS와 Ubuntu OS 는 모두 Linux 에 기반을 두고 만들어졌고, Bash CLI
셸을 사용합니다.
Bash 란?
이번 실험에서 사용할 Bash는 UNIX 운영체제의 셸 (Shell)에서 사용하는 CLI
(Command Line Interface) 이자, 컴퓨터 명령 언어를 가리킵니다
18
실험동안 Bash에서 사용할 명령어를 알아보
기 전에, 셸과 CLI에 대해 알아봅시다
셸(Shell)과 사용자 인터페이스
사용자가 컴퓨터로 어떤 작업을 수행할 때, 컴퓨터는 사용자가 입력한 명령어를 이해하고 알맞게 하
드웨어를 제어해 실제 동작해야 합니다. 이 때, 사용자의 입력을 이해해 주는 역할을 하는 부분이 셸
(Shell), 해석된 사용자 명령을 가지고 하드웨어를 동작 시키는 부분이 커널 (Kernel) 입니다
19
참고 자료: https://mjmjmj98.tistory.com/34
참고: Shell Script



텍스트 형식으로 저장되는 프로그램으로, 컴
퓨터는 shell script 파일에 저장되어 있는 명
령어를 한 줄씩 차례로 읽어서 실행합니다.
셸과 커널은 운영체제의 한 부분으로, 셸에서 상호자와 사용하는 부분을 사용자 인터페이스 (User
interface) 라고 합니다. 사용자 인터페이스는 크게 GUI (Graphic User Interface)와 CLI (Command
Line Interface)로 나눌 수 있습니다
CLI (Command Line Interface) 란?
명령 줄 인터페이스는 텍스트로, 터미널(Terminal)
을 통해 사용자와 컴퓨터가 상호작용하는 방식입니
다. 사용자는 컴퓨터 키보드 등을 통해 텍스트를 입
력하고, 컴퓨터 또한 문자열 형태로 결과를 보여줍
니다
20
현재는 거의 모든 운영체제에서 GUI
(Graphic User Interface)를 지원하고,
모니터에서 윈도우 창 등을 보며 대부분
의 컴퓨터 작업을 진행할 수 있습니다
CLI (Command Line Interface) GUI (Graphic User Interface)
CLI에서 폴더 내용을 확인하는 법과 다른 폴더로 이동하는 방법
ls: 현재 폴더의 내용을 확인하고 cd: 새로운 폴더 위치로 이동
GUI에서 폴더 내용을 확인하는 법과 다른 폴더로 이동하는 방법
클릭을 통해 폴더를 열어 내용을 확인하며 해당 폴더의 창으로 이동함
리눅스 명령어 - 파일시스템, 디렉토리
21
파일시스템(File System)은 운영체제가 저장되어 있는 파일과 폴더들을 효율적으로 관리하고 읽고 쓰기 위
한 체계입니다.
파일이란, 프로그램 또는 데이터 등과 같은 정보들의 집합입니다. 바이트의 연속적인 연결로, 디스크 등 기
억 장소에 저장되어 있습니다. 디스크의 여러 파일들은 각자의 고유한 이름을 가짐으로써 구별됩니다
디렉토리란 파일들을 보다 효율적으로 관리하는 방법으로, 서로 연관된 파일들을 한곳에 저장할 수 있도록
합니다. 서류함처럼 관련된 파일들이 저장되는 장소를 제공합니다. 디렉토리도 파일의 일종입니다
리눅스 명령어 - ls: 디렉토리 내 파일 목록 나열
22
숨김 파일 포함 파일 목록 조회
/etc/sysconfig 아래 디렉토리 조회
현재 디렉토리의 파일 목록
자세히 보기
확장자가 exe인 파일 목록 나열
디렉토리 안에 a로 시작하는 파일, 디렉토리 목록 조회
리눅스 명령어 - cd: 디렉토리 이동, 순회
23
/etc/sysconfig 디렉토리로 이동
상위 디렉토리로 이동
사용자의 홈 디렉토리로 이동. cd 뒤 "~" 를 적어도 동일
상대 경로로, 상위 디렉토리로 간 뒤, 상위 디렉토리 아래의
/etc/config로 이동. ".." 은 현재 디렉토리 바로 위를 가리킴
지금 있는 디렉토리(위치)를 출력함
리눅스 명령어 - mkdir, rmdir: 디렉토리 생성, 삭제
24
ab 디렉토리 아래 cde 디렉토리 생성,
ab가 없으면 ab도 생성
비어 있는 디렉토리 abc삭제
abc 라는 디렉토리 생성
디렉토리(폴더)를 생성하고, 삭제한 뒤의 모습입니다.
rmdir로 ab를 삭제하는 명령을 입력해도,
rmdir: failed to remove 'ab': Directory not empty
오류가 납니다. ab 아래에 cde라는 디렉토리가 있어 비어있지 않기 때문입니다
Vim(Vi improved)은 Unix CLI 환경에서 사용할 수 있는 메모장, 텍스트 편집기 입니다. 새로운
파일을 생성하고, 보고, 편집할 때 이용하기 때문에, 사용법을 필수적으로 알고 있어야 합니다
Vim에는 일반(Normal) 모드, 입력(Insert) 모드, 비주얼(Visual) 모드 세 가지 주요 모드가 있습
니다. Vim의 맨 아래에서 모드를 확인할 수 있습니다
파일 편집기: Vim 소개
25
•Normal Mode: Vim을 실행하면 기본적으로 들어가는 모드입니다. 다른 모드에서 "esc" 키를 누르면 돌아옵니다
•Insert Mode: 대표적으로 "i" 키를 누르면 입력 모드로 들어가, 일반적인 메모장처럼 글을 쓸 수 있게 됩니다
•Visual Mode: "v" 키를 누르면 들어갈 수 있습니다.
test.txt 파일이 없다면 생성하고, 있다면 편집합니다
파일 편집기: Vim의 단축키
26
$ sudo vim test.txt make a txt file named ‘test’ or edit a
txt file if it exists
<Inside VIM>
a add text
dd delete line
:w save file
:wq save file and quit
/{string} search for string
$ sudo vim test.py
print(“hello world”)
$ sudo python test.py
파일 편집기: Vim의 단축키, 노말모드에서의 명령어
27
이동 관련
파일 저장, 찾기
입력 관련
리눅스 명령어 - touch: 파일이 없다면 새로 생성
28
빈 test.txt 파일 생성, 이미 있을 시,
수정시간만 변경
리눅스 명령어 - cp,mv: 파일, 디렉토리 복사 및 이동
29
test.txt를 ab 디렉토리로 이동
ab 디렉토리를 ab2로 복사, 하위 파일 포함
test.txt 파일을 test2.txt로 복사
test.txt와 test2.txt를 ab로 이동
test3.txt를 practice.txt로 변경해
리눅스 명령어 - rm: 파일, 디렉토리 삭제
30
삭제여부를 묻지 않고 파일 삭제
파일을 삭제할 때 삭제할지 여부를 한 번 더 확인
test.txt 파일 삭제 == 기본적으로 rm -i
디렉토리 abc 삭제
디렉토리 abc와 하위 파일들 모두 삭제
리눅스 명령어 - cat,head,tail: 파일 미리보기
31
파일의 위부터 10줄을 보여줍니다. head -5 등
몇줄을 보일지 추가할 수 있습니다
test.txt 파일 미리보기
파일의 끝부터 10줄을 보여줍니다.
리눅스 명령어를 찾는 방법
32
리눅스에는 많은 명령어들이 있습니다
또다른 리눅스 명령어를 찾고 싶다면:
1. Linux command line cheat sheet
다양한 명령어들을 간략하게 모아두고, 기
능을 설명합니다
https://phoenixnap.com/kb/linux-
commands-cheat-sheet
2. "Linux 프로그램 설치 위치 확인명령어" 등
기능을 요약해 명령어를 검색합니다
02. 기기 상호 연결
- 상호 연결이란
- 네트워크 기초
- SSH 연결
33
•두 개의 장비의 IP 주소를 확인합니다
•서로의 IP 주소를 알고 있기 때문에, 이를 사용해
서 서로의 기기 CLI 환경에 접속할 수 있습니다
•SSH 연결로, 다른 기기의 CLI 환경에 원격으로
접속하여 다른 기기를 다뤄 봅시다
SSH를 통한 장비 연결
34
•Secure: 보안된 Shell: 셸 Protocol: 프로토콜
=> 컴퓨터 장비들이 인터넷을 통해 데이터를 전송하고, 원격에서 다른 컴퓨터를 제어하기 위해
만들어진 프로토콜
•프로토콜이란, 컴퓨터 등의 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙을 포함한 체계
입니다. 사람과 사람 사이 이야기를 주고 받을 때에도 서로 이해 가능한 언어가 있듯이 컴퓨터
또한 미리 약속되어 서로가 이해할 수 있는 형식으로 메시지를 주고 받아야 합니다
•즉, SSH는 보안적으로 안전하게, 다른 컴퓨터의 셸에 로그인할 수 있게 해주기 위한 통신 프로
토콜입니다. 일반적으로 원격 장비의 CLI에 접속하고, 로그인하고, 원격 장비에서 명령어를 실행
할 때 사용합니다
•SSH와 연결된 SFTP, SCP 프로토콜 등으로 파일을 송수신 할 때, X11 연결 (GUI) 등에도 사용
됩니다
SSH(Secure Shell Protocol)란?
35
참고 자료: X11 연결로 원격 장비의 GUI 사용하기
리눅스-리눅스: https://harryp.tistory.com/684
리눅스-윈도우: https://m.blog.naver.com/sunchan683/221465317759
36
Pi에 모니터, 키보
드, 마우스를 연결해
주세요
ip 주소 netmask
고정 IP 할당을 위해 확인해야 하는 정보
•기기가 할당 받은 IP 주소
•netmask
•gateway
gateway
Raspberry Pi IP 주소 확인
Raspberry Pi 고정 IP 주소 설정 (참고)
37
Pi에 모니터, 키보
드, 마우스를 연결해
주세요
•이번 실험에서는 라즈베리 파이에 고정 IP가 미리 세팅되어 있지만,
Raspberry Pi에 초기 IP를 고정하기 위해서는 따로 설정해 주어야 합니다
•기본적으로 DHCP라는 방식으로 할당을 받기 때문인데, 기기가 껐다 켜지는 등 인터넷과의 연
결이 끊겼다가 다시 연결되는 등의 상황에서 IP 주소를 새로 할당받고 바뀔 수 있습니다. 따라서
외부에서 Pi에 접근하려면 매번 변경된 주소를 파악하고 그에 맞추어 연결해야 한다는 어려움이
있습니다.
•DHCP란, Dynamic Host Configuration Protocol의 약자로, 인터넷을 사용할 때 받을 인터넷
주소, IP 주소를 기기가 인터넷에 접속할 때 동적(Dynamic)으로 할당해주는 프로토콜입니다. IP
주소를 임대해주는 식으로 기간 동안만 기기가 그 IP 주소를 사용하도록 합니다.
•dhcpcd 설정을 변경해, 고정된 ip를 할당 받을 수 있습니다
38
Pi에 모니터, 키보
드, 마우스를 연결해
주세요
Vim으로 파일을 편집합니다
Raspberry Pi 고정 IP 주소 설정 (참고)
Pi에 모니터, 키보
드, 마우스를 연결해
주세요
•Ping을 사용해 Pi가 인터넷과 잘 연결되었는지
확인합니다
•PING이란, Packet Internet Groper의 약자이
며, 컴퓨터 네트워크 상태를 점검하고 진단할
때 사용하는 명령어입니다
•"ping + 대상 컴퓨터의 IP 주소" 로 사용하며,
대상 컴퓨터를 향해 일정 크기의 패킷(packet,
네트워크 최소 전송 단위)을 보낸 후 대상 컴퓨
터가 이에 응답하는 메시지, ICMP를 보내면 이
를 수신하고 분석해 대상 컴퓨터가 작동중인지,
대상 컴퓨터에 도달하기 까지 네트워크 상태는
어떤 지 알 수 있습니다
Raspberry Pi 인터넷 연결 확인 - Ping
Raspberry Pi SSH 설정
Pi에 모니터, 키보
드, 마우스를 연결해
주세요
외부 기기에서 Raspberry Pi로 SSH 접속이 가능하도록 설정해 줍니다
이후 Pi에 모니터와 키보드, 마우스를 연결하지 않아도 Pi를 통제할 수 있게 됩니다
ssh 서비스를 사용할 수 있게 합니다
ssh 서비스를 시작합니다
설정이 적용되도록 Raspberry Pi를 재부팅합니다
- Pi로 ping을 보내 네트워크 상에서 Pi와 연결되어 있는지 확인합니다
- 아래와 같은 응답을 받는다면, Pi와 NUC이 잘 연결되어 있음을 알 수 있습니다
41
NUC에 모니터, 키
보드, 마우스를 연결
해주세요
NUC - Pi 연결 확인
입력한 Pi IP 주소
Pi IP 주소
Pi IP 주소
Pi IP 주소
Hostname 편집
- 새 터미널을 엽니다
$ sudo vim /etc/hosts
- 마지막 줄에, 아래와 같이 추가합니다
{라즈베리파이 ip 주소} {라즈베리파이 hostname}
NUC에 모니터, 키
보드, 마우스를 연결
해주세요
NUC - Pi 등록
openssh-server 패키지를 설치합니다
43
NUC에 모니터, 키
보드, 마우스를 연결
해주세요
NUC SSH 설정
sshd 서비스를 시작해 외부 기기가 NUC에 SSH로 접속할 수 있도록 합니다
NUC의 hostname과 IP 주소를 확인합니다
- hostname 확인
$ sudo hostname
- IP 주소 확인
$ sudo ifconfig
NUC에 모니터, 키
보드, 마우스를 연결
해주세요
NUC SSH 설정
- Raspberry Pi 에 SSH로 접근합니다
$ ssh {raspberry PI user name}@{raspberry PI IP address}
- 접속하기 위해, Raspberry Pi의 비밀번호를 입력합니다
45
NUC에 모니터, 키
보드, 마우스를 연결
해주세요
NUC -> Pi SSH 접속
Raspberry Pi - NUC IP 등록
SSH로 Pi 터미널
에 접속해 동일하게
설치해 주세요
Hostname 편집
- 새 터미널을 엽니다
$ sudo vim /etc/hosts
- 마지막 줄에, 아래와 같이 추가합니다
{NUC ip 주소} {NUC hostname}
47
SSH로 Pi 터미널
에 접속해 동일하게
설치해 주세요
Pi -> NUC SSH 접속
- NUC 에 SSH로 접근합니다
$ ssh {NUC user name}@{NUC IP address}
- 접속하기 위해, NUC의 비밀번호를 입력합니다
- 이제 Pi -> NUC, NUC -> Pi 양방향으로 SSH 접속이 가능합니다!

More Related Content

What's hot

17 Linux Basics #burningkeyboards
17 Linux Basics #burningkeyboards17 Linux Basics #burningkeyboards
17 Linux Basics #burningkeyboardsDenis Ristic
 
Linux basics part 1
Linux basics part 1Linux basics part 1
Linux basics part 1Lilesh Pathe
 
Useful Linux and Unix commands handbook
Useful Linux and Unix commands handbookUseful Linux and Unix commands handbook
Useful Linux and Unix commands handbookWave Digitech
 
Linux powerpoint
Linux powerpointLinux powerpoint
Linux powerpointbijanshr
 
Ubuntu 16.04 LTS Security Features
Ubuntu 16.04 LTS Security FeaturesUbuntu 16.04 LTS Security Features
Ubuntu 16.04 LTS Security FeaturesDustin Kirkland
 
Compression
CompressionCompression
Compressionaswathyu
 
Linux Network commands
Linux Network commandsLinux Network commands
Linux Network commandsHanan Nmr
 
Basic commands
Basic commandsBasic commands
Basic commandsambilivava
 
Compression Commands in Linux
Compression Commands in LinuxCompression Commands in Linux
Compression Commands in LinuxPegah Taheri
 
Advanced Level Training on Koha / TLS (ToT)
Advanced Level Training on Koha / TLS (ToT)Advanced Level Training on Koha / TLS (ToT)
Advanced Level Training on Koha / TLS (ToT)Ata Rehman
 

What's hot (20)

17 Linux Basics #burningkeyboards
17 Linux Basics #burningkeyboards17 Linux Basics #burningkeyboards
17 Linux Basics #burningkeyboards
 
Linuxppt
LinuxpptLinuxppt
Linuxppt
 
Linux Day2
Linux Day2Linux Day2
Linux Day2
 
Linux
Linux Linux
Linux
 
UNIX/Linux training
UNIX/Linux trainingUNIX/Linux training
UNIX/Linux training
 
Linux basics part 1
Linux basics part 1Linux basics part 1
Linux basics part 1
 
Useful Linux and Unix commands handbook
Useful Linux and Unix commands handbookUseful Linux and Unix commands handbook
Useful Linux and Unix commands handbook
 
Linux powerpoint
Linux powerpointLinux powerpoint
Linux powerpoint
 
Ubuntu 16.04 LTS Security Features
Ubuntu 16.04 LTS Security FeaturesUbuntu 16.04 LTS Security Features
Ubuntu 16.04 LTS Security Features
 
Compression
CompressionCompression
Compression
 
Basic 50 linus command
Basic 50 linus commandBasic 50 linus command
Basic 50 linus command
 
Linux Presentation
Linux PresentationLinux Presentation
Linux Presentation
 
Linux Network commands
Linux Network commandsLinux Network commands
Linux Network commands
 
Basic commands
Basic commandsBasic commands
Basic commands
 
Linux commands
Linux commandsLinux commands
Linux commands
 
Compression Commands in Linux
Compression Commands in LinuxCompression Commands in Linux
Compression Commands in Linux
 
Linux Fundamental
Linux FundamentalLinux Fundamental
Linux Fundamental
 
Advanced Level Training on Koha / TLS (ToT)
Advanced Level Training on Koha / TLS (ToT)Advanced Level Training on Koha / TLS (ToT)
Advanced Level Training on Koha / TLS (ToT)
 
Shell programming
Shell programmingShell programming
Shell programming
 
Ubuntu – Linux Useful Commands
Ubuntu – Linux Useful CommandsUbuntu – Linux Useful Commands
Ubuntu – Linux Useful Commands
 

Similar to [ 2021 AI + X 여름 캠프 ] 1. linux 기초 & 장비 세팅

Open Source Virtualization Hacks
Open Source Virtualization HacksOpen Source Virtualization Hacks
Open Source Virtualization HacksNiel Bornstein
 
Introduction to linux
Introduction to linuxIntroduction to linux
Introduction to linuxGourav Varma
 
Introduction to Linux | Big Data Hadoop Spark Tutorial | CloudxLab
Introduction to Linux | Big Data Hadoop Spark Tutorial | CloudxLabIntroduction to Linux | Big Data Hadoop Spark Tutorial | CloudxLab
Introduction to Linux | Big Data Hadoop Spark Tutorial | CloudxLabCloudxLab
 
Raspberry Pi (Introduction)
Raspberry Pi (Introduction)Raspberry Pi (Introduction)
Raspberry Pi (Introduction)Mandeesh Singh
 
Rasperry pi Part 12
Rasperry pi Part 12Rasperry pi Part 12
Rasperry pi Part 12Techvilla
 
Linux for beginners
Linux for beginnersLinux for beginners
Linux for beginnersNitesh Nayal
 
Linux host review
Linux host reviewLinux host review
Linux host reviewrglaal
 
I Am Linux-Introductory Module on Linux
I Am Linux-Introductory Module on LinuxI Am Linux-Introductory Module on Linux
I Am Linux-Introductory Module on LinuxSagar Kumar
 
Software Quality Assurance Tooling - Wintersession 2024
Software Quality Assurance Tooling - Wintersession 2024Software Quality Assurance Tooling - Wintersession 2024
Software Quality Assurance Tooling - Wintersession 2024Henry Schreiner
 
24HOP Introduction to Linux for SQL Server DBAs
24HOP Introduction to Linux for SQL Server DBAs24HOP Introduction to Linux for SQL Server DBAs
24HOP Introduction to Linux for SQL Server DBAsKellyn Pot'Vin-Gorman
 
Linux training
Linux trainingLinux training
Linux trainingartisriva
 
Practical Introduction To Linux
Practical Introduction To LinuxPractical Introduction To Linux
Practical Introduction To LinuxZeeshan Rizvi
 
Install websphere message broker 8 RHEL 6 64 bits
Install websphere message broker 8 RHEL 6 64 bitsInstall websphere message broker 8 RHEL 6 64 bits
Install websphere message broker 8 RHEL 6 64 bitsManuel Vega
 

Similar to [ 2021 AI + X 여름 캠프 ] 1. linux 기초 & 장비 세팅 (20)

Clustering manual
Clustering manualClustering manual
Clustering manual
 
Linux Workshop , Day 3
Linux Workshop , Day 3Linux Workshop , Day 3
Linux Workshop , Day 3
 
Open Source Virtualization Hacks
Open Source Virtualization HacksOpen Source Virtualization Hacks
Open Source Virtualization Hacks
 
Introduction to linux
Introduction to linuxIntroduction to linux
Introduction to linux
 
cisco
ciscocisco
cisco
 
Introduction to Linux | Big Data Hadoop Spark Tutorial | CloudxLab
Introduction to Linux | Big Data Hadoop Spark Tutorial | CloudxLabIntroduction to Linux | Big Data Hadoop Spark Tutorial | CloudxLab
Introduction to Linux | Big Data Hadoop Spark Tutorial | CloudxLab
 
Raspberry Pi (Introduction)
Raspberry Pi (Introduction)Raspberry Pi (Introduction)
Raspberry Pi (Introduction)
 
Linux Day1
Linux Day1Linux Day1
Linux Day1
 
3. intro
3. intro3. intro
3. intro
 
2.Accessing the Pi
2.Accessing the Pi2.Accessing the Pi
2.Accessing the Pi
 
Rasperry pi Part 12
Rasperry pi Part 12Rasperry pi Part 12
Rasperry pi Part 12
 
Linux for beginners
Linux for beginnersLinux for beginners
Linux for beginners
 
Linux host review
Linux host reviewLinux host review
Linux host review
 
I Am Linux-Introductory Module on Linux
I Am Linux-Introductory Module on LinuxI Am Linux-Introductory Module on Linux
I Am Linux-Introductory Module on Linux
 
Software Quality Assurance Tooling - Wintersession 2024
Software Quality Assurance Tooling - Wintersession 2024Software Quality Assurance Tooling - Wintersession 2024
Software Quality Assurance Tooling - Wintersession 2024
 
24HOP Introduction to Linux for SQL Server DBAs
24HOP Introduction to Linux for SQL Server DBAs24HOP Introduction to Linux for SQL Server DBAs
24HOP Introduction to Linux for SQL Server DBAs
 
Linux training
Linux trainingLinux training
Linux training
 
Practical Introduction To Linux
Practical Introduction To LinuxPractical Introduction To Linux
Practical Introduction To Linux
 
Install websphere message broker 8 RHEL 6 64 bits
Install websphere message broker 8 RHEL 6 64 bitsInstall websphere message broker 8 RHEL 6 64 bits
Install websphere message broker 8 RHEL 6 64 bits
 
Ch1 linux basics
Ch1 linux basicsCh1 linux basics
Ch1 linux basics
 

Recently uploaded

Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxRoyAbrique
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docxPoojaSen20
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptxPoojaSen20
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Micromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersMicromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersChitralekhaTherkar
 

Recently uploaded (20)

Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docx
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptx
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Micromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersMicromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of Powders
 

[ 2021 AI + X 여름 캠프 ] 1. linux 기초 & 장비 세팅

  • 1. Linux 기초 & 장비 세팅 2021 AI+X SUMMER CAMP 1
  • 2. 2⃣ OS와 CLI, CLI 명령어, Vim 공부 1⃣ 장비 소개 및 카메라 연결 3⃣ SSH로 장비 상호 연결 강의 개요 2 Ubuntu CLI, Vim Raspberry Pi NUC Raspberry Pi Camera SSH
  • 3. 강의 목표 •실험 동안 사용할 장비를 소개하고 세팅합니다 •운영체제와 CLI란 무엇인지 배웁니다 •Linux CLI 사용 방법을 익힙니다 •네트워크 개념과 원격 접속 (SSH) 방식을 공부하고 적용합니다 •장비 사이 연결 및 기본 세팅을 마칩니다 3
  • 4. 01. 장비 소개 & 카메 라 세팅 - Raspberry Pi & NUC - 실험실 기본 세팅 - 라즈베리 파이 카메라 연결 4
  • 5. 라즈베리파이 (Raspberry Pi) 는 영국의 라즈베리 파이 재단에서 교육용 으로 만든 초소형, 초저가의 컴퓨터입니다. 싱글 보드 컴퓨터 (SBC)로, 기 능 구현을 위해 인쇄 회로 기판, PCB 위에 내장한 컴퓨터 시스템입니다. 메모리, 입출력 기능을 위한 최소 컴퓨터 요구 사항을 포함하고 있습니다 Raspberry Pi & NUC 5 Raspberry Pi Pi Camera 라즈베리파이 전용 카메라입니다 인텔에서 출시한 미니 PC 플랫폼입니다. 작은 크기로, Raspberry Pi 보 다 더 좋은 성능을 지녔으며, 일반 PC로 사용되기도 합니다. NUC
  • 6. 🖥 실험실의 인터넷 회선, 스위치와 Raspberry Pi, NUC이 연결되어 있습니다 *스위치는 자신에게 연결된 디바이스들의 맥 주소(기기 주소)와 포트가 기록된 표를 갖고 있고, 이 표를 사용해 데이터의 목적지를 파악해 해당하는 장치에 데이터를 보내줍니다. *스위치를 사용해 RaspberryPi와 NUC이 네트워크에 연결될 수 있습니다 🖥 Raspberry Pi, NUC과 연결할 모니터, 키보드, 마우스 등이 준비되어 있습니다 실험실 기본 세팅 6
  • 7. Raspberry Pi에 카메라 연결 7 라즈베리 파이의 전원을 끄고, 카메라 모듈을 연결합니다!! 영상으로 연결 방법 확인: https://projects.raspberrypi.org/en/projects/getting-started-with-picamera/2 1⃣ Pi에 모니터, 키보 드, 마우스를 연결해 주세요
  • 8. - Raspberry PI 설정 확인 - Reboot Raspberry PI 8 라즈베리 파이에 모니터를 연결하고 GUI로 카메라 설정을 완료합니다 2⃣ Pi에 모니터, 키보 드, 마우스를 연결해 주세요 Raspberry Pi에 카메라 연결 (2)
  • 9. Raspberry Pi에 카메라 연결 (3) - 터미널 창을 열어 아래와 같은 명령어를 입력합니다 9 Pi에 모니터, 키보 드, 마우스를 연결해 주세요 카메라 연결 테스트 - Raspberry Pi 카메라로 사진 찍기 3⃣
  • 10. 📽 파이썬으로 라즈베리 파이 카메라의 영상 녹화하기 10 필요한 패키지를 설치합니다 - 편집기 vim, python 패키지 관리자 Vim 편집기를 엽니다 apt-get은 Advanced Packaging Tool의
 약자입니다. Linux 시스템에서 필요한 패키 지를 설치하고 제거하는 데 사용됩니다. apt-get update는 설치되어 있는 패키지들 의 새로운 버전이 있는지 확인할 때 쓰입니다 apt-get upgrade는 확인한 패키지들의 최 신 버전에 따라, 최신 버전으로 패키지를 업그 레이드 해주는 명령어입니다 Pi에 모니터, 키보 드, 마우스를 연결해 주세요 Raspberry Pi에 카메라 연결 (4)
  • 11. 📽 파이썬으로 라즈베리 파이 카메라의 영상 녹화하기 11 아래와 같이 코드를 작성합니다 Pi에 모니터, 키보 드, 마우스를 연결해 주세요 Raspberry Pi에 카메라 연결 (5) 필요한 모듈을 불러옵니다. PiCamera 라이브러리는 파이썬에 서 Raspberry Pi에 연결된 카메라에 접근하고, 다룰 수 있게 해 줍니다. 카메라에 접근할 수 있는 camera 변수를 생성합니다 5초 동안 다른 동작을 멈춥니다 (sleep) 이 부분을 수정해 비디오를 몇초 동안 녹화할지 정할 수 있습니다 sleep에서 정의된 시각이 흐른 뒤, 카메라 영상 녹화와 미리보기를 멈춥니다 현재 카메라에서 들어고 있는 영상 입력을 확인합니다 비디오 녹화를 시작하고, 비디오 코덱을 'rgba' 로 저장합니다 record_video.py
  • 12. 📽 파이썬으로 라즈베리 파이 카메라의 영상 녹화하기 12 파이썬 코드를 실행한 뒤, 녹화된 영상을 확인합니다 Pi에 모니터, 키보 드, 마우스를 연결해 주세요 Raspberry Pi에 카메라 연결 (6)
  • 13. 운영체제란? - Raspberry Pi & NUC - 운영체제 13
  • 14. 운영 체제 (OS) 14 운영체제란, 컴퓨터 시스템의 하드웨어 자원과 소프트웨어 자원을 효율적으로 관리하여 사용자 에게 편리함을 제공하는 프로그램입니다. 대표적으로 컴퓨터에는 Windows, Linux, UNIX 등의 운영체제가 있고, 모바일 (핸드폰) 에는 대 표적으로 iOS와 안드로이드 OS 가 있습니다 Windows iOS Android Linux
  • 15. 운영 체제 (OS) 15 운영체제는 프로그래머가 컴 퓨터 하드웨어를 모르더라 도, 소프트웨어를 쉽게 만들 수 있도록 해줍니다. 운영체제의 발전 목적은 아래 와 같습니다: - 컴퓨터 처리 능력 증대 - 컴퓨터 응답 시간 단축 - 사용 가능도 증대 - 신뢰도 향상 운영체제는 여러 자원들을 제 어하고, 상태를 감시합니다
  • 16. 운영 체제 (OS) 16 Raspberry Pi OS. Raspberry Pi에는 자체적 운영체제가 있습니다. 라 즈베리 파이의 저성능 CPU에 최적화가 잘 되어 있는 운영체제입니다. Ubuntu 운영체제는 Linux를 기반으로 만들어졌으며, 개인용 데스크 탑 환경에 최적화 되어 있습니다. 누구나 무료로 사용할 수 있습니다. 실습에서 사용할 Raspberry Pi에는 Raspberry Pi OS (구 Raspbian OS)와 Ubuntu 입니다. 모두 Linux라는 운영체제에 기반을 두어 만들어졌습니다. Ubuntu
  • 17. Bash 명령어 Raspberry Pi OS와 Ubuntu OS 터미널 은 모두 Linux에 기반을 두고 만들어졌고, Bash CLI 셸을 사용합니다. CLI 환경이 무 엇인지 배우고 실험에서 사용될 기본적인 Linux CLI 명령어들을 배우도록 하겠습니 다 17
  • 18. Raspberry Pi OS와 Ubuntu OS 는 모두 Linux 에 기반을 두고 만들어졌고, Bash CLI 셸을 사용합니다. Bash 란? 이번 실험에서 사용할 Bash는 UNIX 운영체제의 셸 (Shell)에서 사용하는 CLI (Command Line Interface) 이자, 컴퓨터 명령 언어를 가리킵니다 18 실험동안 Bash에서 사용할 명령어를 알아보 기 전에, 셸과 CLI에 대해 알아봅시다
  • 19. 셸(Shell)과 사용자 인터페이스 사용자가 컴퓨터로 어떤 작업을 수행할 때, 컴퓨터는 사용자가 입력한 명령어를 이해하고 알맞게 하 드웨어를 제어해 실제 동작해야 합니다. 이 때, 사용자의 입력을 이해해 주는 역할을 하는 부분이 셸 (Shell), 해석된 사용자 명령을 가지고 하드웨어를 동작 시키는 부분이 커널 (Kernel) 입니다 19 참고 자료: https://mjmjmj98.tistory.com/34 참고: Shell Script
 
 텍스트 형식으로 저장되는 프로그램으로, 컴 퓨터는 shell script 파일에 저장되어 있는 명 령어를 한 줄씩 차례로 읽어서 실행합니다. 셸과 커널은 운영체제의 한 부분으로, 셸에서 상호자와 사용하는 부분을 사용자 인터페이스 (User interface) 라고 합니다. 사용자 인터페이스는 크게 GUI (Graphic User Interface)와 CLI (Command Line Interface)로 나눌 수 있습니다
  • 20. CLI (Command Line Interface) 란? 명령 줄 인터페이스는 텍스트로, 터미널(Terminal) 을 통해 사용자와 컴퓨터가 상호작용하는 방식입니 다. 사용자는 컴퓨터 키보드 등을 통해 텍스트를 입 력하고, 컴퓨터 또한 문자열 형태로 결과를 보여줍 니다 20 현재는 거의 모든 운영체제에서 GUI (Graphic User Interface)를 지원하고, 모니터에서 윈도우 창 등을 보며 대부분 의 컴퓨터 작업을 진행할 수 있습니다 CLI (Command Line Interface) GUI (Graphic User Interface) CLI에서 폴더 내용을 확인하는 법과 다른 폴더로 이동하는 방법 ls: 현재 폴더의 내용을 확인하고 cd: 새로운 폴더 위치로 이동 GUI에서 폴더 내용을 확인하는 법과 다른 폴더로 이동하는 방법 클릭을 통해 폴더를 열어 내용을 확인하며 해당 폴더의 창으로 이동함
  • 21. 리눅스 명령어 - 파일시스템, 디렉토리 21 파일시스템(File System)은 운영체제가 저장되어 있는 파일과 폴더들을 효율적으로 관리하고 읽고 쓰기 위 한 체계입니다. 파일이란, 프로그램 또는 데이터 등과 같은 정보들의 집합입니다. 바이트의 연속적인 연결로, 디스크 등 기 억 장소에 저장되어 있습니다. 디스크의 여러 파일들은 각자의 고유한 이름을 가짐으로써 구별됩니다 디렉토리란 파일들을 보다 효율적으로 관리하는 방법으로, 서로 연관된 파일들을 한곳에 저장할 수 있도록 합니다. 서류함처럼 관련된 파일들이 저장되는 장소를 제공합니다. 디렉토리도 파일의 일종입니다
  • 22. 리눅스 명령어 - ls: 디렉토리 내 파일 목록 나열 22 숨김 파일 포함 파일 목록 조회 /etc/sysconfig 아래 디렉토리 조회 현재 디렉토리의 파일 목록 자세히 보기 확장자가 exe인 파일 목록 나열 디렉토리 안에 a로 시작하는 파일, 디렉토리 목록 조회
  • 23. 리눅스 명령어 - cd: 디렉토리 이동, 순회 23 /etc/sysconfig 디렉토리로 이동 상위 디렉토리로 이동 사용자의 홈 디렉토리로 이동. cd 뒤 "~" 를 적어도 동일 상대 경로로, 상위 디렉토리로 간 뒤, 상위 디렉토리 아래의 /etc/config로 이동. ".." 은 현재 디렉토리 바로 위를 가리킴 지금 있는 디렉토리(위치)를 출력함
  • 24. 리눅스 명령어 - mkdir, rmdir: 디렉토리 생성, 삭제 24 ab 디렉토리 아래 cde 디렉토리 생성, ab가 없으면 ab도 생성 비어 있는 디렉토리 abc삭제 abc 라는 디렉토리 생성 디렉토리(폴더)를 생성하고, 삭제한 뒤의 모습입니다. rmdir로 ab를 삭제하는 명령을 입력해도, rmdir: failed to remove 'ab': Directory not empty 오류가 납니다. ab 아래에 cde라는 디렉토리가 있어 비어있지 않기 때문입니다
  • 25. Vim(Vi improved)은 Unix CLI 환경에서 사용할 수 있는 메모장, 텍스트 편집기 입니다. 새로운 파일을 생성하고, 보고, 편집할 때 이용하기 때문에, 사용법을 필수적으로 알고 있어야 합니다 Vim에는 일반(Normal) 모드, 입력(Insert) 모드, 비주얼(Visual) 모드 세 가지 주요 모드가 있습 니다. Vim의 맨 아래에서 모드를 확인할 수 있습니다 파일 편집기: Vim 소개 25 •Normal Mode: Vim을 실행하면 기본적으로 들어가는 모드입니다. 다른 모드에서 "esc" 키를 누르면 돌아옵니다 •Insert Mode: 대표적으로 "i" 키를 누르면 입력 모드로 들어가, 일반적인 메모장처럼 글을 쓸 수 있게 됩니다 •Visual Mode: "v" 키를 누르면 들어갈 수 있습니다. test.txt 파일이 없다면 생성하고, 있다면 편집합니다
  • 26. 파일 편집기: Vim의 단축키 26 $ sudo vim test.txt make a txt file named ‘test’ or edit a txt file if it exists <Inside VIM> a add text dd delete line :w save file :wq save file and quit /{string} search for string $ sudo vim test.py print(“hello world”) $ sudo python test.py
  • 27. 파일 편집기: Vim의 단축키, 노말모드에서의 명령어 27 이동 관련 파일 저장, 찾기 입력 관련
  • 28. 리눅스 명령어 - touch: 파일이 없다면 새로 생성 28 빈 test.txt 파일 생성, 이미 있을 시, 수정시간만 변경
  • 29. 리눅스 명령어 - cp,mv: 파일, 디렉토리 복사 및 이동 29 test.txt를 ab 디렉토리로 이동 ab 디렉토리를 ab2로 복사, 하위 파일 포함 test.txt 파일을 test2.txt로 복사 test.txt와 test2.txt를 ab로 이동 test3.txt를 practice.txt로 변경해
  • 30. 리눅스 명령어 - rm: 파일, 디렉토리 삭제 30 삭제여부를 묻지 않고 파일 삭제 파일을 삭제할 때 삭제할지 여부를 한 번 더 확인 test.txt 파일 삭제 == 기본적으로 rm -i 디렉토리 abc 삭제 디렉토리 abc와 하위 파일들 모두 삭제
  • 31. 리눅스 명령어 - cat,head,tail: 파일 미리보기 31 파일의 위부터 10줄을 보여줍니다. head -5 등 몇줄을 보일지 추가할 수 있습니다 test.txt 파일 미리보기 파일의 끝부터 10줄을 보여줍니다.
  • 32. 리눅스 명령어를 찾는 방법 32 리눅스에는 많은 명령어들이 있습니다 또다른 리눅스 명령어를 찾고 싶다면: 1. Linux command line cheat sheet 다양한 명령어들을 간략하게 모아두고, 기 능을 설명합니다 https://phoenixnap.com/kb/linux- commands-cheat-sheet 2. "Linux 프로그램 설치 위치 확인명령어" 등 기능을 요약해 명령어를 검색합니다
  • 33. 02. 기기 상호 연결 - 상호 연결이란 - 네트워크 기초 - SSH 연결 33
  • 34. •두 개의 장비의 IP 주소를 확인합니다 •서로의 IP 주소를 알고 있기 때문에, 이를 사용해 서 서로의 기기 CLI 환경에 접속할 수 있습니다 •SSH 연결로, 다른 기기의 CLI 환경에 원격으로 접속하여 다른 기기를 다뤄 봅시다 SSH를 통한 장비 연결 34
  • 35. •Secure: 보안된 Shell: 셸 Protocol: 프로토콜 => 컴퓨터 장비들이 인터넷을 통해 데이터를 전송하고, 원격에서 다른 컴퓨터를 제어하기 위해 만들어진 프로토콜 •프로토콜이란, 컴퓨터 등의 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙을 포함한 체계 입니다. 사람과 사람 사이 이야기를 주고 받을 때에도 서로 이해 가능한 언어가 있듯이 컴퓨터 또한 미리 약속되어 서로가 이해할 수 있는 형식으로 메시지를 주고 받아야 합니다 •즉, SSH는 보안적으로 안전하게, 다른 컴퓨터의 셸에 로그인할 수 있게 해주기 위한 통신 프로 토콜입니다. 일반적으로 원격 장비의 CLI에 접속하고, 로그인하고, 원격 장비에서 명령어를 실행 할 때 사용합니다 •SSH와 연결된 SFTP, SCP 프로토콜 등으로 파일을 송수신 할 때, X11 연결 (GUI) 등에도 사용 됩니다 SSH(Secure Shell Protocol)란? 35 참고 자료: X11 연결로 원격 장비의 GUI 사용하기 리눅스-리눅스: https://harryp.tistory.com/684 리눅스-윈도우: https://m.blog.naver.com/sunchan683/221465317759
  • 36. 36 Pi에 모니터, 키보 드, 마우스를 연결해 주세요 ip 주소 netmask 고정 IP 할당을 위해 확인해야 하는 정보 •기기가 할당 받은 IP 주소 •netmask •gateway gateway Raspberry Pi IP 주소 확인
  • 37. Raspberry Pi 고정 IP 주소 설정 (참고) 37 Pi에 모니터, 키보 드, 마우스를 연결해 주세요 •이번 실험에서는 라즈베리 파이에 고정 IP가 미리 세팅되어 있지만, Raspberry Pi에 초기 IP를 고정하기 위해서는 따로 설정해 주어야 합니다 •기본적으로 DHCP라는 방식으로 할당을 받기 때문인데, 기기가 껐다 켜지는 등 인터넷과의 연 결이 끊겼다가 다시 연결되는 등의 상황에서 IP 주소를 새로 할당받고 바뀔 수 있습니다. 따라서 외부에서 Pi에 접근하려면 매번 변경된 주소를 파악하고 그에 맞추어 연결해야 한다는 어려움이 있습니다. •DHCP란, Dynamic Host Configuration Protocol의 약자로, 인터넷을 사용할 때 받을 인터넷 주소, IP 주소를 기기가 인터넷에 접속할 때 동적(Dynamic)으로 할당해주는 프로토콜입니다. IP 주소를 임대해주는 식으로 기간 동안만 기기가 그 IP 주소를 사용하도록 합니다. •dhcpcd 설정을 변경해, 고정된 ip를 할당 받을 수 있습니다
  • 38. 38 Pi에 모니터, 키보 드, 마우스를 연결해 주세요 Vim으로 파일을 편집합니다 Raspberry Pi 고정 IP 주소 설정 (참고)
  • 39. Pi에 모니터, 키보 드, 마우스를 연결해 주세요 •Ping을 사용해 Pi가 인터넷과 잘 연결되었는지 확인합니다 •PING이란, Packet Internet Groper의 약자이 며, 컴퓨터 네트워크 상태를 점검하고 진단할 때 사용하는 명령어입니다 •"ping + 대상 컴퓨터의 IP 주소" 로 사용하며, 대상 컴퓨터를 향해 일정 크기의 패킷(packet, 네트워크 최소 전송 단위)을 보낸 후 대상 컴퓨 터가 이에 응답하는 메시지, ICMP를 보내면 이 를 수신하고 분석해 대상 컴퓨터가 작동중인지, 대상 컴퓨터에 도달하기 까지 네트워크 상태는 어떤 지 알 수 있습니다 Raspberry Pi 인터넷 연결 확인 - Ping
  • 40. Raspberry Pi SSH 설정 Pi에 모니터, 키보 드, 마우스를 연결해 주세요 외부 기기에서 Raspberry Pi로 SSH 접속이 가능하도록 설정해 줍니다 이후 Pi에 모니터와 키보드, 마우스를 연결하지 않아도 Pi를 통제할 수 있게 됩니다 ssh 서비스를 사용할 수 있게 합니다 ssh 서비스를 시작합니다 설정이 적용되도록 Raspberry Pi를 재부팅합니다
  • 41. - Pi로 ping을 보내 네트워크 상에서 Pi와 연결되어 있는지 확인합니다 - 아래와 같은 응답을 받는다면, Pi와 NUC이 잘 연결되어 있음을 알 수 있습니다 41 NUC에 모니터, 키 보드, 마우스를 연결 해주세요 NUC - Pi 연결 확인 입력한 Pi IP 주소 Pi IP 주소 Pi IP 주소 Pi IP 주소
  • 42. Hostname 편집 - 새 터미널을 엽니다 $ sudo vim /etc/hosts - 마지막 줄에, 아래와 같이 추가합니다 {라즈베리파이 ip 주소} {라즈베리파이 hostname} NUC에 모니터, 키 보드, 마우스를 연결 해주세요 NUC - Pi 등록
  • 43. openssh-server 패키지를 설치합니다 43 NUC에 모니터, 키 보드, 마우스를 연결 해주세요 NUC SSH 설정 sshd 서비스를 시작해 외부 기기가 NUC에 SSH로 접속할 수 있도록 합니다
  • 44. NUC의 hostname과 IP 주소를 확인합니다 - hostname 확인 $ sudo hostname - IP 주소 확인 $ sudo ifconfig NUC에 모니터, 키 보드, 마우스를 연결 해주세요 NUC SSH 설정
  • 45. - Raspberry Pi 에 SSH로 접근합니다 $ ssh {raspberry PI user name}@{raspberry PI IP address} - 접속하기 위해, Raspberry Pi의 비밀번호를 입력합니다 45 NUC에 모니터, 키 보드, 마우스를 연결 해주세요 NUC -> Pi SSH 접속
  • 46. Raspberry Pi - NUC IP 등록 SSH로 Pi 터미널 에 접속해 동일하게 설치해 주세요 Hostname 편집 - 새 터미널을 엽니다 $ sudo vim /etc/hosts - 마지막 줄에, 아래와 같이 추가합니다 {NUC ip 주소} {NUC hostname}
  • 47. 47 SSH로 Pi 터미널 에 접속해 동일하게 설치해 주세요 Pi -> NUC SSH 접속 - NUC 에 SSH로 접근합니다 $ ssh {NUC user name}@{NUC IP address} - 접속하기 위해, NUC의 비밀번호를 입력합니다 - 이제 Pi -> NUC, NUC -> Pi 양방향으로 SSH 접속이 가능합니다!