1 / 45

리눅스 설치 및 명령어

Embedded System Development Environment I. 리눅스 설치 및 명령어. Embedded System Development Environment I. 리눅스 설치 임베디드 시스템은 키보드와 모니터같은 표준 입출력장치를 기본적으로 채용하지 않음 . 호스트 시스템에서 개발한 다음 결과물을 툴체인을 통해 컴파일 한 다음 보드로 보내어져 보드에서 실행 -> 임베디드 시스템을 이용하기 위해서는 임베디드 시스템을 개발할 수 있는 기본 환경이 있어야 함 .

kert
Download Presentation

리눅스 설치 및 명령어

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Embedded System Development Environment I 리눅스설치 및 명령어

  2. Embedded System Development Environment I • 리눅스설치 임베디드 시스템은 키보드와 모니터같은 표준 입출력장치를 기본적으로채용하지 않음. 호스트 시스템에서 개발한 다음 결과물을 툴체인을 통해 컴파일 한 다음 보드로 보내어져 보드에서 실행 -> 임베디드 시스템을 이용하기 위해서는 임베디드 시스템을 개발할 수 있는 기본 환경이 있어야 함. • Virtual Machine • 기본 운영체제 위에 가상의 소프트웨어 머신을 이용하여 다양한 O/S를 설치 • 하드웨어와 가상 머신간의 하드웨어 자원 공유 • 하나 이상의 운영체제가 구동되므로, CPU나 메모리에 비례하여 구동속도가 차이남. • 기존에 리눅스가 설치된 호스트인 경우를 제외하고 개발을 위해서 가상머신등을 이용 • 일반적으로많이 사용되는 가상 머신 • Virtual PC – Microsoft • Virtual Box – Oracle • Virtual Machine - Vmware • 가상머신 소프트웨어를 사용할 경우 주의 사항 • 기본 운영체제의 종류와 운용 방식에 따라 설치할 수 있는 가상머신 소프트웨어가 다름 Windows, Linux, MacOS기반의 각각의 버추얼머신을확인후 사용 32bit 운영체제 혹은 64비트 운영체제에 따라서 설치 가능한 버추얼머신의 버전도 다를 수 있음 • 가상 머신의 이미지 크기에 따른 기본 시스템의 저장영역 확보가 필요 가상 머신의 이미지는 사용할 수록 커지기 때문에 그에 맞는 여분의 자료공간이 필요함

  3. Embedded System Development Environment I • Vmware Download를 위한 운영체제 정보 확인 • 32비트이면 32Bit VM Player를 다운로드 • 64비트이면 64BitVM Player를 다운로드

  4. Embedded System Development Environment I • Vmware Download

  5. Embedded System Development Environment I • Vmware Install • License 시스템 상태에 따라 리부팅 될 수 있다. 사용 라이선스에 동의 하여야 한다

  6. Embedded System Development Environment I • 호스트리눅스 설치 • Ubuntu 10.04 • 데비안계열의 오픈소스기반 운영체제 • 일반 데스크탑 운영체제로 안드로이드 개발에 편리한 환경 제공 • Ubuntu Download • 문서에서는 32비트 우분투 이용

  7. Embedded System Development Environment I • Ubuntu지원 기간

  8. Embedded System Development Environment I • Vmware Player에서 해당 이미지 파일을 가상 CD로 연결 • VMware Player에서 Create a New Virtual Machine를 선택 • New Virtual Machine Wizard에서 Installer disk나 Image file

  9. Embedded System Development Environment I • Vmware정보 입력 • 가상머신의 이름을 입력하고, 설치될 장소를 결정 • 만들어질 가상머신의 이미지 파일크기를 결정하고, 단일 파일로 생성한다.

  10. Embedded System Development Environment I • 하드웨어 설정 변경 • 메모리는 시스템 메모리에서 사용가능한 범위만큼 설정 • 네트워크는 외부포워딩시에는NAT, 내부 연결시에는Brdige로 설정

  11. Embedded System Development Environment I • 시리얼포트 설정 • 시리얼 포트 추가 • 물리 포트를 선택하고, 시스템에 부착된 COM 포트를 선택후Finish

  12. Embedded System Development Environment I • 하드웨어 설정 마무리 • 추가할 내용이 없으면 Finish를 눌러 설치를 시작

  13. Embedded System Development Environment I • 리눅스 설치를 시작 • 앞서 설정한 사용자와 패스워드를 통해 자동 설치됨

  14. Embedded System Development Environment I • root 사용자로그인 • 개발시에 불편함을 덜기 위해서 root 사용자로 로그인을 할 수 있도록 설정 • 터미널실행 (Application > 보조프로그램 > 터미널) • 패스워드를 입력 및 확인 • 메뉴의 로그아웃 버튼을 이용하여 root 사용자로 로그인

  15. Embedded System Development Environment I • VMware tools 설치 • VMware툴을 설치하면, 좀더 편리하게 VMware를 이용할 수 있다. • 화면에 설치 메시지를 클릭하여 설치 • Vmware메뉴에서 선택하여 설치

  16. Android Development Environment • 설치후마운트되면VMwareTools.tar.gz압축파일을 /root로 복사

  17. Embedded System Development Environment I • 프로그램 설치에 관련된 설정 물음에 모두 엔터키를 입력

  18. Embedded System Development Environment I • VMshare Folder 설정 • 연결된 디렉터리 확인

  19. Embedded System Development Environment I • 설치 화면에서 장치 등록을 못한 경우

  20. Embedded System Development Environment I • USB Serial Convertor를 사용하는 경우 • VMware의 호스트에서 시리얼 연결 상태확인

  21. Embedded System Development Environment I • Linux 명령어 실습 • adduser / useradd 리눅스 시스템에 사용자를 추가할 경우 사용하는 명령 • passwd 용자 계정에 패스워드를 만들거나, 변경하는 명령 adduser [option] [id] passwd [option] 사용자ID

  22. Embedded System Development Environment I • mkdir 디렉터리를 생성할 경우 사용 ex) mkdir test • cd 디렉터리를 변경할 때 사용 ex) # cd /root : 절대 경로를 통한 이동 # cd test : 상대 경로를 통한 이동 mkdir [Option] [Directory Name] 절대경로 : 리눅스 시스템의 최상위 디렉터리로 부터 표현하는 경로 ex) mkdir /root/test : 최상위 디렉터리에 있는 root디렉터리에 test라는 디렉터리를 생성 상대경로 : 사용자가 이동한 현재의 위치에서부터 표현하는 경로 ex) cd /etc mkdir ./../root/test : 현재 최상위 디렉터리 /etc 디렉터리로부터 상위 디렉터리(..)의 root 디렉터리에 test 디렉터리 생성 cd [Option] [Directory Name]

  23. Embedded System Development Environment I • rmdir (remove directory) 디렉터리를 삭제 하는 명령, 파일이 있거나 서브 디렉터리가 존재하면 삭제되지 않음 ex) rmdir /root/test • alias 자주 사용하는 명령에 별명을 부여. 자주 사용하는 명령이 명령어 길이가 길어서 불편한 경우 alias를 설정해 주면 설정한 alias를 이용하여 해당 명령을 실행할 수 있다 ex) alias 현재 등록된 alias 확인 ex) alias cpf=‘cp –rf’ : cpf만 입력하면 cp –rf옵션이 적용되어 사용할 수 있다. mkdir [Option] [Directory Name] rmdir [Option] [Directory Name] alias [Option] [name=[value] …]

  24. Embedded System Development Environment I • cat (conCATenate) 옵션인 리다이렉션을 이용하여 표준 출력 혹은 표준 입력기로부터 데이터를 입력 받거나 출력 할 수 있다. ex) # cat > test.txt : 키보드로 데이터를 입력받아 파일에 저장한다. (완료 : Ctrl + D) ex) # cat < test.txt : 위에서 저장한 test.txt 파일을 표준 출력을 통해 출력한다. ex) # cat test1.txt test2.txt > test12.txt : text1.txt의 내용과 test2.txt의 내용을 test12.txt로 병합 cat [option] [file(s)]

  25. Embedded System Development Environment I • df 파일 시스템의 구조와 용량을 표시해주는 명령. 임베디드 시스템처럼 저장 공간이 적은 경우 수시 로 확인해 주어야 할 필요가 있다. • dmesg 리눅스 시스템에서 발생하는 디바이스 메시지를 보여주는 명령이다. 일반적인 디바이스 메시지 는 세부정보들 까지 모두 콘솔에 출력되지 않는 경우가 있는데, 이 경우 dmesg를 이용하여 확인 할 수 있다. ex) # dmesg # dmesg | grepusb : 디바이스 메시지중usb라는 단어가 포함된 것만 출력 df [옵션]... [파일] dmesg [-c] [-n level] [-s bufsize]

  26. Embedded System Development Environment I • du 리눅스 시스템 내에 있는 디렉터리와 파일개수를 출력 ex) # du dmesg [-c] [-n level] [-s bufsize]

  27. Embedded System Development Environment I • echo 인자(argument) 문장 혹은 시스템 환경 변수를 출력해주는 명령 ex) # echo Hello~ world ex) echo $PATH : 시스템에 설정된 패스 경로 확인 • free 시스템의 메모리, 사용된 물리적인 메모리와 스왑(swap)메모리의 상태를 출력 echo [-ne] [문자열 ...] free [-b | -k | -m] [-o] [-s delay] [-t] [-V]

  28. Embedded System Development Environment I • grep 인자(argument) 문장 혹은 시스템 환경 변수를 출력해주는 명령 ex) grep PATH /root/.bash_profile : bash_profile을 열어서 PATH라는 문자열이 매치되는 라인 출력 grep [option] PATTERN [File..]

  29. Embedded System Development Environment I • history 기존에 실행했던 명령어를 보여준다. ex) # history 5 : 최근 실행한 멸영부터 그 이전 5개 까지 실행했던 명령을 보여준다 ex) # history | grep cp • ps 현재 구동되고 있는 프로세스 리스트를 보여준다. 일반적으로 시그널 -9(SIGKILL)을 이용한다. ex) # ps history [-c] [-d offset] [n ps [options]

  30. Embedded System Development Environment I ex) # ps –ax : 서비스및 백그라운드에 구동중인 프로세스를 확인할 수 있다. # ps –ax | less : 리스트가 한 페이지를 넘는경우한페이지 부분에서 정지, q는 종료 # ps –ax | grepxinet : 출력 리스트중xinet이 포함된 프로세스만 출력 • Kill 현재 구동되고 있는 프로세스를 종료(제거)한다. ex) # kill –9 8785 : 운용되는 프로세스중8785 프로세스를 강제종료 한다. kill -signal pid

  31. Embedded System Development Environment I • pwd 현재 자신이 있는 디렉터리(위치)를 확인한다. ex) # pwd • rm remove 명령으로, 파일 및 디렉터리를 삭제할 경우 사용되나, 수퍼유저 권한이라면 사용에 있어 신중함을 기해야 한다. ex) rm test ex) ex_ rm –r mydirectory pwd [-LP] rm [options] file(s)

  32. Embedded System Development Environment I • su 사용자를 전환하여 쉘을 실행한다. 일반적으로 일반계정의 사용자가 특정 권한을 얻기 위해서 사용하는 것이 일반적이다. ex) # su kittens : 수퍼유저에서 일반사용자로의 전환에는 해당 계정의 패스워드가 필요없다. ex) # su root : 일반 사용자에서 수퍼유저로 계정전환을 하려면, 수퍼유저의 패스워드가 필요. 사용이 완료되면 exit 명령을 통해서 변경된 계정의 사용을 종료할 수 있다. • tar 리눅스에서 압축 혹은 패키징을 할 경우 사용되는 명령이다. su [UserID] tar [option] [archive-file] [files or directories]

  33. Embedded System Development Environment I ex) # tar zxvftest.tar.gz : 압축파일인 test.tar.gz의 압축을 해제 한다. ex) # tar jxvf test.tar.bz2 : bz2 필터를 사용한 압축파일인 test.tar.bz2의 압축을 해제 ex) # tar cvzftest_dir.tar.gzmydirectory : 디렉터리를 gzip필터를 이용하여 압축

  34. Embedded System Development Environment I • w 리눅스는 멀티유저 시스템이므로, 하나의 시스템여어러 사용자가 접속할 수 있다. 그 경우 각 사용자가 어떤 작업을 하고 있는지 확인한다. ex) # w : 전체 보기 ex) # w kittens : 특정 사용자만 확인 • ln 특정 명령어를 다른 이름으로 접근할 수 있도록 해준다.(단축 이름) ex) ln –s /usr/bin/dir ls_dir : /usr/bin의 dir명령을 현재디렉터리에서 ls_dir이름으로 링크 • ping (packet internet gopher) 자신의 네트워크 혹은 외부 네트워크와 통신이 정상적으로 이루어져 있는지 확인한다. ex) # ping 168.126.63.1 w - [husfV] [user] ln [Option] [Source file] [Target file] ping [hostname or ip]

  35. Embedded System Development Environment I • ping (packet internet gopher) 자신의 네트워크 혹은 외부 네트워크와 통신이 정상적으로 이루어져 있는지 확인한다. ex) # ping 168.126.63.1 ping [hostname or ip]

  36. Embedded System Development Environment I • ifconfig 시스템에 부착된 이더넷 디바이스의 ip를 확인 및 변경한다. ex) ifconfig eth0 192.168.1.100 : 시스템의 이더넷IP를 192.168.1.100으로 변경한다. ex) ifconfig eth0 down : 이더넷의 사용을 중지할 때 사용한다.

  37. Embedded System Development Environment I • 호스트 우분투에서 시스템 아이피 설정 우분투의 경우 네트워크 설정은 윈도우에서 해주는 것이 일반적이다. .

  38. Embedded System Development Environment I • iwconfig 무선 연결을 위해서 사용한다. 무선랜 장치가 장착된 경우 해당 장치를 ifconfig를 통해 ip를 설정 한 다음, iwconfig명령을 통해 무선 AP와 연결을 할 수 있다. ex) ifconfig rausb0 192.168.1.101 up ex) iwconfig rausb0 essidlinksys mode managed rate 54M channel 11 - rausb0 : 장착된 무선랜 장치 이름 - essid : 무선 AP의 ssid명 - managed : 연결공유 방식 - rate : 연결 통신 속도 - channel : 연결 채널 essid및 통신속도, 모드는 공유기에서 제공해주는 기본적인 설정을 통해서 확인이 가능 연결 하고자 하는 AP의 essid및 보안설정을 확인하려면, 아래의 명령을 이용한다. ex) # iwlistrausb scanning iwconfig interface [essid X] [nwid N] [mode M] [freq F] [channel C] [sens S] [nick NN] [rate R] [rts RT] [frag FT] [txpower T] [enc E] [ket K] [power P] [retry R] [commint]

  39. Embedded System Development Environment I • VI / Vim Editor 리눅스 시스템에서 가장 오래된 텍스트 기반 에디터로서, 윈도우 기반의 에디터와 동일한 정도의 강력 한 편집기능을 제공한다. 또한, 별도의 툴을 이용하여 소스트리 추적, 코드 영역등을 쉽게 추적 또는 표시할 수 있다. 일반적으로 공용 개발 시스템에서 소스의 일부수정 및 환경 설정등에 많이 이용된다. • vim 에디터의 모드 - 명령모드 : 키 입력을 통해 vi에게 명령을 하는 모드, 커서를 이동, 복사, 삭제, 붙이기등 - 입력모드 : 실제 편집을 하기 위한 모드로 명령모드에서 i, a, o, s키를 눌러서 진입한다. - EX모드 : 라인에디터 기능으로, 패턴을 찾거나, 문자열 대체, 파일 열기 및 닫기등에 사용

  40. Embedded System Development Environment I • 파일 열기 파일명을 입력하여 해당 파일을 연다. 만약, 입력한 파일이 없는 경우에는 생성을 하게 된다. ex) # vim HelloWorld.c 기존에 있는 Helloworld.c파일을 열게되면 아래와 같이 해당 내용이 출력이된다. 이 상태는 명령모드 상태이다. • 파일을 열지 않고 실행 파일을 열지 않고 에디터를 실행하면, 간단한 설명과 함께 시작된다. 입력기능으로 전환하면 설명이 없어지고, 편집을 수행할 수 있다. 파일 이름이 없이 vi에디터를 시작한 경우에는 파일 - 내용 입력 후 저장을 위해서 w옵션과 함께 파일이름을 지정해서 저장할 수 있다. :w test.c - 기존 파일을 열기 위해서는 o 명령을 이용하여 열수 있다. :o ./test.c

  41. Embedded System Development Environment I - 기존 파일을 열어서 다른 파일로 저장 해야할 경우도 w 명령을 이용한다. :w test.c - 수정을 종료하는 경우 q 명령을 이용한다. 만약 수정한 내용이 있으면 q명령 만으로는 종료 할 수 없다. 저장을 하지 않고 끝내야 한다면 강제 옵션인 !를 이용한다. :q (수정한 내용이 없을 경우) :wq (수정한 내용을 저장하고 종료할 경우) :q! (저장하지 않고 종료할 경우) • Ex 모드 명령어 위에서 언급한 내용중 저장, 파일 열기, 종료등은ex명령어이다. 일반적으로 많이 사용하는 ex 명령어는 다음과 같다.

  42. Embedded System Development Environment I • 명령 모드 명령어 일반적인 vi에디터의 명령어는 다음과 같다. [입력 모드 진입] [커서이동]

  43. Embedded System Development Environment I [삭제명령] [복사 및 붙이기]

  44. Embedded System Development Environment I [블럭지정] : 명령모드에서 v명령 이용한 다음의 명령 [되살리기와 되 돌리기] [문자열 찾기] : EX모드에서 /{찾을 문자열}을 이용하여 원하는 내용을 찾을 수 있다.

  45. Embedded System Development Environment I [문자열 치환] : EX명령을 이용하여 문자열 치환을 할 수 있다.

More Related