임베디드리눅스기초

Similar documents
Microsoft PowerPoint - 06_(Linux)_(Fundamental)_C_Programming

Microsoft PowerPoint - comp_prac_081223_2.pptx

01Àå

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

untitled

PowerPoint 프레젠테이션

[ 컴퓨터시스템 ] 3 주차 1 차시. 디렉토리사이의이동 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수


슬라이드 1

Microsoft PowerPoint - chap01-C언어개요.pptx

PowerPoint 프레젠테이션

Microsoft PowerPoint - System Programming Lab Week1.ppt [호환 모드]

Microsoft PowerPoint - u4.pptx

LXR 설치 및 사용법.doc

28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5]

Adobe Flash 취약점 분석 (CVE )

강의10

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

PowerPoint 프레젠테이션

Sena Technologies, Inc. HelloDevice Super 1.1.0

PowerPoint 프레젠테이션

작성자 : 기술지원부 김 삼 수

Microsoft PowerPoint APUE(Intro).ppt

슬라이드 1

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

/chroot/lib/ /chroot/etc/

Abstract View of System Components

MySQL-Ch10

C++-¿Ïº®Çؼ³10Àå

슬라이드 1

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

슬라이드 제목 없음

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap-02.pptx

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

untitled

Computer Programming (2008 Fall)

PowerPoint 프레젠테이션

Snort Install Manual Ad2m VMware libnet tar.gz DebianOS libpcap tar.gz Putty snort tar.gz WinSCP snort rules 1. 첫번째로네트워크설정 1) ifconf

소프트웨어설치 1. 소프트웨어설치및제거 ( 소스코드 ) 소스코드컴파일을이용한 S/W 설치 1. 소스코드다운로드 - 예 ) httpd tar.gz - 압축해제 : #tar xzvf httpd tar.gz - INSTALL 또는 README파일참조

지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함. 한번은 intel CPU를위한 gcc로, 한번은 ARM CPU를위한 gcc로. AR

vi 사용법

MPLAB C18 C

The Pocket Guide to TCP/IP Sockets: C Version

학번 : 이름 : 1. 다음파일트리구조를가진유닉스시스템이있다고가정하자. / /bin/ /home/ /home/taesoo/ /usr/ /usr/lib/ /usr/local/lib /media 모든폴더에파일이하나도없다고가정했을때사용자가터미널에서다음 ls 명령입력시화면출력

PowerPoint 프레젠테이션

Chap 1 리눅스설치및활용

PowerPoint 프레젠테이션

chap 5: Trees

초보자를 위한 C++

PowerPoint 프레젠테이션

Chapter 05. 파일접근권한관리하기

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인

학번 : 이름 : 1. 다음파일트리구조를가진유닉스시스템이있다. / /bin/ /home/ /home/taesoo/ /home/taesoo/downloads /usr/ /usr/lib/ /usr/local/lib /media 모든폴더에파일이하나도없다고가정했을때사용자 (t

C++ Programming

PowerPoint 프레젠테이션

gyuha.com/doku/doku.php?id=vim:vim_%EB%AA%85%EB%A0%B9%EC

PowerPoint 프레젠테이션

Lab 3. 실습문제 (Single linked list)_해답.hwp

PowerPoint 프레젠테이션

Microsoft PowerPoint - 08-C-App-19-Quick-Preprocessor

고급 프로그래밍 설계

PowerPoint 프레젠테이션

chap2

2008

Microsoft PowerPoint - lab14.pptx

Interstage5 SOAP서비스 설정 가이드

C 언어 프로그래밊 과제 풀이

CD-RW_Advanced.PDF

PowerPoint 프레젠테이션

1. exit logout 하는 command 는아주간단하다. exit 을커맨드에서입력하고 return 키를누르면 logout 된다. 2. ls & command option 현재 directory 에서 file 의 list 를보는명령어, 즉 DOS 에서의 dir 에해

PowerPoint 프레젠테이션

Lab 4. 실습문제 (Circular singly linked list)_해답.hwp

APOGEE Insight_KR_Base_3P11

Remote UI Guide

문서의 제목 나눔고딕B, 54pt

Orcad Capture 9.x

Microsoft PowerPoint oshw1.ppt [호환 모드]

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

PowerPoint 프레젠테이션

untitled

10X56_NWG_KOR.indd

Microsoft PowerPoint - u3.ppt [호환 모드]

歯9장.PDF

Microsoft PowerPoint - chap-02.pptx

Assign an IP Address and Access the Video Stream - Installation Guide

PowerPoint 프레젠테이션

K7VT2_QIG_v3

본 강의에 들어가기 전

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

6주차.key

Microsoft PowerPoint 통신 및 압축 명령어.ppt

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

Mango-AM335x LCD Type 커널 Module Parameter에서 변경하기

Microsoft PowerPoint - chap08-1 [호환 모드]

Microsoft PowerPoint - Chapter_01.pptx

MAX+plus II Getting Started - 무작정따라하기

Transcription:

Linux Basic Ø File and directories Ø Access Permissions Ø Links Ø Linux s Ø VI editor 147 File and directories Ø Linux File Name 명명규칙 Ø 256 characters 까지허용 Ø 공백사용허용 Ø 파일확장자와관련된규칙은없음. Ø 숨김파일 Ø 기본적으로 directory 리스트에서는보이지않음 Ø 파일이름은. 으로시작 Ø 파일을보기위해 ls a 커맨드를사용 148 1

File and directories Ø Directories 와 subdirectories 간의 Single tree 구조 Ø Root directory represented by slash ( / ) / Pathname : /tmp tmp Pathname : /home home etc alex jenny jimmy log Pathname : /home/jenny/log 149 File and directories Ø 절대경로 Ø 파일이름의경로를절대경로라고하며, root directory 로부터파일까지의경로를표시한다. Ø 상대경로 Ø 상대경로는 working directory 로부터파일까지의경로를표시한다. Ø Working Directory Ø 이 director 는사용자가현재위치한, 작업을하고있는곳이며 working directory 또는 current directory 라고한다. 150 2

Access Permissions Ø 3 가지형태의파일접근권한 Ø Owner: 해당파일의소유자 Ø Group: 소유자가속해있는그룹의멤버 Ø Other: 기타 Ø 사용자는아래의방법으로파일에접근을할수있다 Ø Read / write / execute Ø ls command 를 l 옵션과함께사용하면파일에관한정보를리스트화하여볼수있다. -g 옵션과함께사용하면정보에파일이어떤그룹에속해있는지를보여준다. 151 Access Permissions $ ls lg letter.0610 check_spell -rw-r--r-- 1 alex pubs 3355 may 2 10:52 letter.0610 -rwxr-xr-x 2 akex pubs 852 may 6 14:03 check_spell Ø Ø Ø Ø Ø Ø Ø Ø 파일의유형 : d(directory), l(symbolic link), -(file) 파일의접근권한파일에대한링크수파일의소유자이름파일에접근할수있는그룹의이름파일의바이트크기파일이생성되거나수정된날짜파일의이름 152 3

Links Ø 파일에대한포인터 Ø 이포인터는디스크상에위치한파일이름을가리킨다. 에서파일이름을사용하면, 디스크상에서포인팅된위치로이동하게된다. Ø 추가적인링크생성 Ø 다른사용자와파일을공유할때, 사용자에대해서파일의 read, write 권한을먼저부여해야한다. 권한이적절하게주어지면, 사용자는파일에대한링크를생성할수있게만들수있다. 153 Links Ø Symbolic (Soft) links Ø 물리적데이터의명시적위치. Ø Hard link 는 directories 를링크할수없다. Ø file system boundaries 를교차불가능. Ø Hard links Ø Directories 간링크생성. Ø file system boundaries 간교차가능. Ø 링크삭제 Ø unlink command 를사용하여링크삭제 Ø Symbolic links 는갱신되지않음. Ø Hard links 는항상원본이삭제되거나옮겨져도원본을나타낸다 154 4

Linux s Ø File and directory Ø cd: Change a directory. cd [Option] Destination Ø mkdir: Make a new directory. mkdir [Option] Target Ø rmdir: Remove a directory. Directory including file or sub-directory can not be deleted rmdir [Option] Target Ø cp: Copy one or more files to another location cp [Option] Source Destination Ø rm: Remove files and directories rm [Option] Target 155 Linux s Ø File and directory Ø ls: List information about file. ls [Option] [File] Ø du: Estimate file space usage du [Option] [File] Ø cat: Concatenate FILE(s), or standard input, to standard output. mkdir [Option] [Directory Name] Ø ln: Make links between files ln [Option] Target Link Name Ø df: Display free disk place df [Option] [File] 156 5

Linux s Ø File and directory Ø mount: Mount a file system mount [-lhv] mount -a [-ffnrsvw] [-t vfstype] [-O optlist] mount [-fnrsvw] [-o options [,...]] device dir mount [-fnrsvw] [-t vfstype] [-o options] device dir Ø diff: Display the differences between two files diff [options] from-file to-file Ø find: Search for files that meet a desired criteria find [-H] [-L] [-P] [path...] [expression] Ø tar: Tape archives file [OPTION...] [FILE...] 157 Linux s Ø Users and authorization Ø who: Print all usernames currently logged in. who [Option] [args files] Ø chown: Change the user and group ownership of files. diff [Option] [Owner][:[Group]] File Ø chmod: Change the access permissions of files and directories. chmod [Option] MODE... File Ø su: Substitute the user identify. file [OPTION...] [-User [args]...] 158 6

Linux s Ø Networks Ø ifconfig: Assign an address to a network interface and/or configure network interface parameters ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>] [add <address>[/<prefixlen>]] [del <address>[/<prefixlen>]] [[-]broadcast [<address>]] [[-]pointopoint [<address>]] [netmask <address>] [dstaddr <address>] [tunnel <address>] [outfill <NN>] [keepalive <NN>] [hw <HW> <address>] [metric <NN>] [mtu <NN>] [[-]trailers] [[-]arp] [[-]allmulti] [multicast] [[-]promisc] [mem_start <NN>] [io_addr <NN>] [irq <NN>] [media <type>] [txqueuelen <NN>] [[-]dynamic] [up down] 159 Linux s Ø Other commands Ø pwd: Path of current directory pwd [Option] Ø echo: Display message on screen echo [Option] [String] Ø grep: Search file(s) for lines that match a given pattern grep [options] PATTERN [FILE...] Ø man: Help manual man [-acdffhkktww] [--path] [-m system] [-p string] [-C config_file] [-M pathlist] [-P pager] [-B browser] [-H htmlpager] [-S section_list] [section] name... 160 7

VI editor Ø VI editor 란? Ø 대부분의 UNIX system 에서사용가능. Ø Linux System 에서사용하는가장오래된 text 기반 editor Ø Terminal 상태에서실행 Ø 커스터마이징가능한편집환경 Ø VI 는 VIM 으로발전 Ø Vi Improved www.vim.org Ø VI 는우분투설치시기본설치가아니기때문에추가적인설치가필요 <Host PC> root@virtualbox:/# apt-get install vim Ø VI editor 로존재하는파일열기또는새로만들기 <Host PC> root@virtualbox:/# vi filename 161 VI editor ØVI editor mode Ø mode Ø 키입력을통해 vi 에게명령을하는모드, 커서를이동, 복사, 삭제, 붙이기등 Ø Insert mode Ø 실제편집을하기위해입력할수있는모드로명령모드에서 i, a, o, s 키를눌러서진입한다 i, a, o, s mode ESC Insert mode 162 8

VI editor Ø mode Ø 파일저장열기닫기등에관련된명령어 :w 저장 :w file File 이름으로저장 :w >> file File 에붙여서저장 :q 종료 :wq! :o file File 열기 :e file File 열기 저장하고강제종료 Description :e 현재파일다시불러오기 :ZZ 저장하고종료 163 VI editor Ø mode Ø 입력모드진입에관련한명령어 a i o s A I O cc Description 커서위치다음칸부터입력커서위치부터입력커서의다음행부터입력커서위치의문자를지우고입력커서행의맨마지막부터입력커서행의맨앞부터입력커서이전행에입력커서위치의한행을지우고입력 164 9

VI editor Ø mode Ø 커서이동에관련한명령어 Description 왼쪽으로이동 오른쪽으로이동 위로이동 아래로이동 h 왼쪽으로이동 j 아래로이동 k 위로이동 l 오른쪽으로이동 w 단어의첫글자로이동 b 단어의마지막글자로이동 { 이전문단으로이동 } 다음문단으로이동 M 커서를화면중앙으로이동 :[n] N행으로이동 gg 문서의시작위치로이동 G 문서의끝위치로이동 165 VI editor Ø mode Ø 삭제, 복사, 붙여쓰기 x dl dw D dd yw yy [n]yy p [n]p dd 커서위치의글자삭제 커서위치의글자삭제 커서위치의한단어를삭제 Description 커서위치부터행의끝까지삭제 커서가있는행을삭제 한단어복사하기 한라인복사하기 N 라인수만큼복사하기 붙여넣기 N 만큼반복해서붙여넣기 Description 삭제명령이지만삭제시내용이버퍼에저장되므로 P 를이용하여이전에삭제된내용을붙여넣기할수있다. 레지스터에저장된내용을보려면 :reg 명령어를이용해서볼수있다. 166 10

VI editor Ø mode Ø 블록지정후의명령어 y 복사 d 삭제 > 행앞에탭삽입 < 행앞에탭제거 : Ex 명령어입력가능 Ø U재실행및실행취소대문자로치환 u 소문자로치환 Description ctrl + r U 재실행 실행취소 Description 167 VI editor Ø mode Ø 문자열찾기 b n Description 이전에매칭된문자혹은문자열 다음매칭될문자혹은문자열 Ø 문자열변경하기 :%s/windows/linux/g :-2.+5s/cat/dog/g :%s/hong/hong/gc Description 문서전체에서문자열 windows 를 linux 로변경 커서의현위치로부터위로 2 줄, 아래로 5 줄에포함된 cat 을 dog 로변경 문서전체에서 hong 을 HONG 으로변경. 단, 사용자에게교체여부를확인 168 11

gcc 기본개념및사용법 gcc 란? 원래는 GNU C Compiler 를의미 1999년부터 GNU Compiler Collection 을의미한다. 따라서 C 언어뿐아니라 C++, 오브젝티브 C, 포트란, 자바등의컴파일러를포함하는포괄적의미를가진다. 169 gcc 기본개념및사용법 (cont d) gcc 란? (cont d) 일반적으로 gcc를컴파일러라고하지만정확히말하면 gcc는소스파일을이용해실행파일을만들때까지필요한프로그램을차례로실행시키는툴이다. xxx.c 전처리 cpp xxx.i 컴파일 xxx.s 어셈블 xxx.o cc1 as 링크 ld a.out 소스파일전처리된파일어셈블리어파일오브젝트파일실행파일 170 12

gcc 기본개념및사용법 (cont d) gcc 기본사용법 gcc는파일확장자에따라처리방법을달리한다. 예 ) 대표적인확장자.c 인경우는 gcc로전처리기, 컴파일, 어셈블, 링크과정을거쳐 야실행파일이완성되는것이다. 확장자 종류 처리방법.c C 소스파일 gcc로전처리, 컴파일, 어셈블, 링크.c.cc C++ 소스파일 g++ 로전처리, 컴파일, 어셈블, 링크.i 전처리된 c 파일 gcc로컴파일, 어셈블, 링크.ii 전처리된 c++ 파일 g++ 로컴파일, 어셈블, 링크.s 어셈블리어로된파일 어셈블, 링크.S 어셈블리어로된파일 전처리, 어셈블, 링크.o 오브젝트파일 링크.a.so 컴파일된라이브러리파일 링크 171 gcc 기본개념및사용법 (cont d) 실습예제 [ 실습예제 ] file.c #include <stdio.h> int main() { printf ( Hello Linux\n ); } return 0; [clickseo@comlab /]$ gcc file.c [clickseo@comlab /]$./a.out 172 생성된실행파일 13

gcc 옵션 gcc 옵션 옵션 의미 -E 전처리를실행하고컴파일을중단하게한다. -c 소스파일을오브젝트파일로만컴파일하고링크하는과정을생략한다. -o 바이너리형식의출력파일이름을지정하는데, 지정하지않을시 a.out 이라고기본이름생성 -I 헤더파일을검색하는디렉토리목록을추가한다. -L 라이브러리파일을검색하는디렉토리목록을추가한다. -l 라이브러리파일을컴파일시링크한다. -g 바이너리파일에표준디버깅정보를포함한다. -ggdb 바이너리파일에 GNU 디버거인 gdb 만이이해할수있는많은디버깅정보를포함시킨다. -O 컴파일코드를최적화한다. -Olevel 최적한 level 단계를지정한다. -DFOO=RAR 명령라인에서 BAR 값을가지는 FOO 라는선행처리기매크로를정의한다. -static 정적라이브러리에링크한다. 173 gcc 옵션 (cont d) gcc 옵션 (cont d) -ansi 옵션 의미 표준과충돌하는 GNU 확장안을취소, ANSI/ISO C 표준을지원, ANSI 호환코드를보장안함 -traditional 과거스타일의함수정의형식과같이전통적인 K&R C 언어형식을지원한다. -MM make 호환의의존성목록을출력한다. -V 컴파일의각단계에서사용되는명령을보여준다. 174 14

gcc 옵션 (cont d) -o 옵션 생성되는출력파일이름을지정한다. Syntax gcc o 출력파일이름소스파일이름 gcc 소스파일이름 -o 출력파일이름 ( 출력파일과소스파일의순서는바뀌어도상관없다.) [clickseo@comlab /]$ gcc o file file.c file.c 소스파일에 file 이라는출력파일이름을지정해주어서 a.out 이라는기본파일 을생성하지않는다. 175 생성된실행파일 gcc 옵션 (cont d) -E 옵션 전처리까지만실행하고결과를화면에출력한다. Syntax gcc E 소스파일이름 176 15

gcc 옵션 (cont d) -c 옵션 소스를오브젝트파일로만컴파일하고링크하는과정을생략 Syntax gcc c 소스파일이름 오브젝트파일을이용해생성된실행파일 생성된오브젝트파일 오브젝트파일을이용해 file 이라는실행파일생성 177 gcc 옵션 (cont d) -c 옵션 (cont d) [ 예제 1] main.c extern void hi() ; main() { hi() ; } [ 예제 2] hi.c 분리컴파일 여러파일로분리작성된하나의프로그램을컴파일 #include <stdio.h> void hi() { printf ( Linux World \n ); } [clickseo@comlab /]$ gcc main.c hi.c -o test [clickseo@comlab /]$ gcc c main.c [clickseo@comlab /]$ gcc c hi.c [clickseo@comlab /]$ gcc main.o hi.o o test 178 16

gcc 옵션 (cont d) -I 옵션 표준디렉토리가아닌위치에있는헤더파일의디렉토리를지정한다. Syntax gcc 소스파일이름 I 디렉토리이름 [ 예제 1] age.c #include <stdio.h> #include myheader.h main() { } printf( %d\n, AGE); [clickseo@comlab /]$ gcc age.c I 헤더파일이있는디렉토리경로 [ 예제 2] myheader.h #define AGE 20 179 라이브러리지정옵션 라이브러리란? 자주사용되는유용한함수에대해오브젝트파일을모아둔것 시스템에서제공하는라이브러리디렉토리 /usr/lib lib 로시작하고 ar 명령어에의해생성, 확장자.a 180 17

라이브러리지정옵션 라이브러리생성절차 오브젝트파일생성 [clickseo@comlab /]$ gcc -c plus.c minus.c 라이브러리파일생성 [clickseo@comlab /]$ ar r libmy.a plus.o minus.o 라이브러리에자체에정보추가 [clickseo@comlab /]$ ranlib libmy.a [clickseo@comlab /]$ ar rs libmy.a 헤더파일생성 라이브러리옵션지정을포함한 gcc 컴파일 181 라이브러리지정옵션 (cont d) 라이브러리지정옵션 -I 옵션 표준라이브러리가헤더파일을찾는헤더경로를추가한다. -L 옵션 표준라이브러리가디렉토리를추가한다. -l 옵션 표준라이브러리이외의라이브러리를링크하려고할때사용 예 ) 수학라이브러리 (math.h) 를사용하려고한다면... gcc 명령행끝에 -lm을추가하여 libm 라이브러리를링크시켜야한다. 182 18

plus.c 라이브러리지정옵션 라이브러리생성예제 int plus (int x, int y) { return x+y; } minus.c int minus (int x, int y) { return x-y ; }./lib/libmy.h extern int plus(int, int); extern int minus (int, int); 183 19