Chap 1 리눅스설치및활용

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

PowerPoint 프레젠테이션

사용자계정관리 1. 사용자계정관리 사용자 (user), 그룹 (group) u 다중사용자시스템 (Multi-User System) - 1 대의시스템을동시에여러사람이접속하여쓸수있게하는시스템 u 사용자 (user) - 시스템관리자 : root (=Super user) -

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft PowerPoint - 5. 사용자 계정관리-1(2016-1학기).ppt [호환 모드]

PowerPoint 프레젠테이션

Microsoft PowerPoint - comp_prac_081223_2.pptx

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

Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로 SD 카드리더기 HDM I 케이블모니터

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

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

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

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

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

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

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

Microsoft PowerPoint - u4.pptx

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Abstract View of System Components

Discrete Mathematics

chap2

PowerPoint 프레젠테이션

Chap 2 임베디드시스템 개발환경구성

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

RaspberryPi 개발환경구축 I 1 제 01 강 실습일정및가상머신구축 교과소개및실습일정 실습실안전교육 가상머신환경구축 (VMware Player, VM(Ubuntu), VMTools, 폴더공유 ) 참고 )

제2장 리눅스 사용

특징 찾아보기 열쇠 없이 문을 열 수 있어요! 비밀번호 및 RF카드로도 문을 열 수 있습니다. 또한 비밀번호가 외부인에게 알려질 위험에 대비, 통제번호까지 입력해 둘 수 있어 더욱 안심하고 사용할 수 있습니다. 나만의 비밀번호 및 RF카드를 가질 수 있어요! 다수의 가

PowerPoint 프레젠테이션

ADP-2480

PowerPoint 프레젠테이션

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

PowerPoint 프레젠테이션

vi 사용법

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

벤처연구사업(전동휠체어) 평가

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

벤처연구사업(전동휠체어) 평가

Install stm32cubemx and st-link utility

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

임베디드리눅스기초

리눅스 프로세스 관리

Windows 8에서 BioStar 1 설치하기

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

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

JDK이클립스

The Pocket Guide to TCP/IP Sockets: C Version

제2장 유닉스 사용

고객 카드

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

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

Secure Programming Lecture1 : Introduction

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

SBR-100S User Manual

Microsoft PowerPoint - 03-Development-Environment-2.ppt

Computer Programming (2008 Fall)

tiawPlot ac 사용방법

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

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

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

3) MySQL data 백업백업방법 : dump 파일로저장저장위치 : /backup/mysqldump 백업주기 : 시간별 (/etc/cron.hourly) 또는일별 (/etc/cron.daily) 보관기간 : 7 일백업스크립트 : 아래예제 6-1). 참조 4) 웹데이

교육지원 IT시스템 선진화

PowerPoint 프레젠테이션

Microsoft PowerPoint UNIX Shell.ppt

본교재는수업용으로제작된게시물입니다. 영리목적으로사용할경우저작권법제 30 조항에의거법적처벌을받을수있습니다. [ 실습 ] 스위치장비초기화 1. NVRAM 에저장되어있는 'startup-config' 파일이있다면, 삭제를실시한다. SWx>enable SWx#erase sta

Webtob( 멀티도메인 ) SSL 인증서갱신설치가이드 본문서는주식회사한국기업보안에서 SSL 보안서버인증서설치를위해작성된문서로 주식회사한국기업보안의동의없이무단으로사용하실수없습니다. [ 고객센터 ] 한국기업보안. 유서트기술팀 Copyright 201

아래 항목은 최신( ) 이미지를 모두 제대로 설치하였을 때를 가정한다

RedHat Linux Fedora Core 4 + APM 소스컴파일설치 김희균 [ 사전준비 : 리눅스시디, 리눅스설치공간준비와컴퓨터의 IP 주소와넷마스크, 게이트웨이주소기록 1. Linux 시디로부팅을한다. 2. Gra

YUM(Yellowdog Updater,Modified) : RPM 패키지가저장된서버 ( 저장소 ) 로부터원하는패키지를자동으로설치한다. : YUM 도구는 RPM 의패키지의존성문제를해결

Microsoft PowerPoint UNIX Shell.pptx

untitled

/chroot/lib/ /chroot/etc/

Microsoft PowerPoint - 01_1_Linux_Unix_기초.ppt [호환 모드]

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

Slide 1

Contributors: Myung Su Seok and SeokJae Yoo Last Update: 09/25/ Introduction 2015년 8월현재전자기학분야에서가장많이쓰이고있는 simulation software는다음과같은알고리즘을사용하고있다.

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

운영체제실습_명령어

PowerPoint 프레젠테이션

Mango220 Android How to compile and Transfer image to Target

고급 프로그래밍 설계

1

Microsoft PowerPoint 웹 연동 기술.pptx

네이버블로그 :: 포스트내용 Print VMw are 에서 Linux 설치하기 (Centos 6.3, 리눅스 ) Linux 2013/02/23 22:52 /carrena/ VMware 에서 l

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기

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

PowerPoint 프레젠테이션

ActFax 4.31 Local Privilege Escalation Exploit

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

System Recovery 사용자 매뉴얼

Abstract View of System Components

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

Adobe Flash 취약점 분석 (CVE )

Microsoft PowerPoint - 03_(Linux)_(Fundamental)_File_Directory

페도라 코어 5 설치 가이드

Transcription:

Chap 1 리눅스설치및활용

1. 리눅스설치 1.1. 리눅스설치 1.1.1. 호스트시스템슈퍼유저사용설정리눅스는멀티유저시스템이다. 그러므로하나의시스템에여러사용자가로긴해서사용할수있다. 그중에서시스템을관리하는사용자를일반적으로슈퍼유저혹은어드민이라고한다. 슈퍼유저권한을갖게되면시스템의모든영역을마음대로수정, 편집할수있다. 우분투에서는슈퍼유저권한의사용에대해서기본설정하지않는다. 일반적으로개발환경을구축하는데있어서슈퍼유저의권한이있다면, 명령을실행할때마다 sudo 명령을사용하지않아도되므로편리하다. 다만, rm과같은파일삭제명령을수행할때, 잘못된판단으로시스템을모두를지워운영체제조차구동되지않을수있다는점을인지하고진행해야한다. 터미널 (Application메뉴 - 보조프로그램Accessories - 터미널Terminal을실행하여, root 계정패스워드를생성한다.( 또는 Ctrl + Alt + T를누르면 Terminal을켤수있으며 Ctrl + Shift + T를누르면 Terminal Tab을추가할수있다.) huins@ubuntu:/$ sudo passwd root 입력을마치면현재시스템사용자패스워드, 새로운 root 사용자패스워드, 새로운 root 사용자패스워드확인절차를거친다음에 root 사용자계정으로로긴할수있다. root 사용자계정으로의로그인을위해서현재우분투를로그아웃시킨다. 로그인메뉴에서 other를선택하고 root 사용자를선택한다음, 이전에입력했던 root 사용자의패스워드를입력해준다. 다시한번언급하지만, root 권한은시스템에서사용되는모든권한을획득한상태이므로, 파일삭제등과같은명령을쓸때에는신중하게고려하고사용하여야한다. 최소한 root 사용자로로긴하였을때에는삭제명령 (rm) 에서가급적강제삭제옵션 (-rf) 와같은옵션을사용하지말아야한다. 교재에서개발환경설치및파일시스템빌드부분은 root계정을사용한다. 일반사용자계정으로아래교육내용을진행할때에는명령어앞에 sudo를붙여서해당명령에대해슈퍼유저권한을획들할수있다. 본교재에서는시스템환경구성, 파일시스템포팅등과같은내용에서슈퍼유저권한으로실행하도록구성되었다. 2

따라서다음부터의작업은모두관리자계정으로접속해서진행하도록하겠다. 아래처럼 sudo su 명령어를입력해주고로그인계정비밀번호를입력하면된다. 이때입력시보이지않으므로잘못입력하였을시엔터를치고다시시도하면된다. huins@ubuntu:/$ sudo su [sudo] password for huins: root@ubuntu:/home/huins# 1.1.2. 라이브러리설치 32bit 호환라이브러리설치 64bit의호스트를설치한경우 CD에포함된툴체인이나기타바이너리들은 32bit용으로배포가되므로사용하지못한다. 따라서 64bit 환경에서 32bit 라이브러리및바이너리를사용할수있도록호환해주는라이브러리를별도로설치해주도록한다. root@ubuntu:/# dpkg --add-architecture i386 && apt-get update root@ubuntu:/# apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 Build-essential 패키지설치 개발에필요한기본라이브러리들과헤더파일등이포함되어있는패키지이다. root@ubuntu:/# apt-get install build-essential 3

2. 리눅스호스트활용 2.1. 리눅스명령 리눅스시스템을사용시, 사용빈도가높은기본적인명령어들을소개하고사용 법을설명하겠다. 2.1.1. adduser / useradd 리눅스시스템에사용자를추가해주는명령이다. 리눅스시스템에아이디를추가해주려면, 슈퍼유저권한으로로그인을해야한다. 1 명령어기본형식 adduser와 useradd의기본형식은아래와같다. adduser [option] [ 만들 ID] 2 전형적인사용예시아래의예시는 kittens라는사용자를만들어주는예시이다. 별도의옵션을등록하지않으면, 사용자 kitten은자신의그룹을별도로만들고, 홈디렉터리는 /home/kittens가된다. 아래와같은명령으로사용자를등록하게되면, 사용할패스워드를물어오게되는데, 패스워드를입력하여사용자등록을완료한다. root@ubuntu:/# adduser kittens 4

2.1.2. deluser 리눅스시스템에등록된사용자를삭제하는명령이다. 1 명령어기본형식 deluser [option] 사용자ID 2 전형적인사용방법 사용자를만들때와마찬가지로명령뒤에삭제하려는사용자 ID 를붙여주면된다. deluser kittens 2.1.3. passwd 사용자의패스워드를만들거나변경해주는명령어이다. 만들어진패스워드는암호화되어 /etc/passwd파일에저장된다. 암호는최소한 6자이상이어야하며, 8자이상을권고하고있으며, 대문자및소문자등을구분하기때문에신중하게결정해야한다. 1 명령어기본형식 passwd [option] 사용자 ID 2 일반유저가자신의패스워드변경시자신의패스워드를바꿀경우에는 passwd만입력해도되고, 슈퍼유저가일반사용자의패스워드를변경해줄경우사용자 ID까지입력해주면된다. 예를들면사용자가자신의패스워드를변경하려면아래와같이하면된다. kittens $ passwd Changing password for user kittens (current) UNIX password: New UNIX password: 3 슈퍼유저가일반사용자의비밀번호를변경할경우 만약, 슈퍼유저의권한으로로그인했을경우, 다른사용자의 passwd 바꾸려면 아래와같이할수있다. 5

# passwd kittens Changing password for user kittens New UINX password: retype new UNIX password: 2.1.4. mkdir 디렉터리를만드는명령이다. 디렉터리및파일테스트는 /root 사용자디렉터리에서테스트를하는것이안전하다. 슈퍼유저권한인경우삭제명령을잘못사용하게되면시스템이지워질수도있기때문이다. 1 명령어기본형식 mkdir [option] [Directory Name] 2 전형적인사용예시아래의명령이실행되면, 현재자신이위치한디렉터리에서브디렉터리로 cmd_test라는디렉터리가생성된다. root@ubuntu:/# mkdir cmd_test 3 상대경로를이용한디렉터리만들기현재위치한경로에서부터디렉터리를따라간뒤해당디렉터리를만들게된다. 아래의예시를보면, 위에서이미만든 cmd_test라는디렉터리내부에 md라는디렉터리를만들게된다. root@ubuntu:/# mkdir./cmd_test/md 4 절대경로를이용한디렉터리만들기 6

절대경로를이용하는경우에는, 리눅스의최상위시스템부터경로를따라가서디렉터리를만들게된다. 즉, 최상위디렉터리인 / 를기준으로디렉터리경로를따라가서디렉터리를만들게된다. 아래의명령이수행되면, 최상위디렉터리에서부터 /cmd_test 디렉터리의서브디렉터리인 md 디렉터리에서서브디렉터리 abs_md디렉터리를만들게된다. root@ubuntu:/# mkdir /root/cmd_test/md/abs_md 지금까지사용했던명령이최상위디렉터리 (/) 에서부터수행하였다면, 아래와같 은형태의디렉터리가생성이되었을것이다. 2.1.5. cd (chdir) 디렉터리를이동하는명령 1 명령어기본형식 cd [-L -P] [directory name] 2 전형적인사용예시앞에서만들었던디렉터리를사용할경우의예시는아래와같다. 우선, 현재디렉터리 ( 최상위디렉터리 ) 내에있는서브디렉터리로이동 (cmd_test) 한다. root@ubuntu:/# cd /root root@ubuntu:/root# cd cmd_test 3 상대경로를이용한디렉터리이동위의명령으로슈퍼유저의홈디렉터리인 /root로이동한다음 cmd_test 디렉터리로이동되었고, 아래의명령이수행되면, cmd_test 디렉터리의서브디렉터리인 md 그리고그리고 md 디렉터리의서브디렉터리인 abs_md 디렉터리로이동한다. 7

root@ubuntu:/# cd./md/abs_md 4 절대경로를이용한디렉터리이동우선최상위디렉터리로재이동한뒤, 절대경로를이용해서, abs_md까지이동하기위해서는아래와같이하면된다. 이전디렉터리만들기의만들어진디렉터리구조를이동하는방법이다. 본페이지가장위의그림을참고하도록하자 root@ubuntu:/# cd /root root@ubuntu:/root# cd /cmd_test/md/abs_md 2.1.6. rmdir 디렉터리관련명령에는 mkdir, chdir(cd), rmdir이있지만, rmdir은일반적으로잘사용되지않는다. 그이유는 rmdir 명령은해당디렉터리에파일이존재하는경우삭제할수없지만, rm은디렉터리뿐만아니라삭제하려는디렉터리내부에파일이존재하는경우에도삭제가가능하기때문에 rmdir명령보다 rm 명령을통한디렉터리삭제가더빈번하게사용된다. 1 명령어기본형식 rmdir [Option] [Directory Name] rmdir 의경우에디렉터리내에서브디렉터리혹은파일이있다면, 삭제되지않는다. 그렇기때문에예시를기존과다르게역순으로해보려한다. 2 절대경로를이용한디렉터리삭제 root@ubuntu:/# rmdir /root/cmd_test/md/abs_md 3 상대경로를이용한디렉터리삭제 root@ubuntu:/# rmdir./cmd_test/md 8

4 현재디렉터리에있는서브디렉터리삭제 root@ubuntu:/# rmdir cmd_test 2.1.7. cat cat(concatenate) 는파일의내용을표준출력으로보내기때문에파일내용을알아보거나여러파일을하나의파일로병합하는경우에사용된다. 표준입력으로부터값을입력받아파일로만들수도있으며파일이름을사용하지않으면표준입력으로부터입력받는다. 1 명령어기본형식 cat [option] [file(s)] 2 표준입력으로데이터받기예시표준입력으로부터값을받아출력방향 (Re-Direction) 을이용하여 test.txt 파일을생성한다. 사용자가 Ctrl + D 를입력할때까지데이터를입력할수있다. root@ubuntu:/# cat > test.txt 3 파일내용확인리다이렉션의방향을바꿈으로써파일내용을확인할수있다. root@ubuntu:/# cat < test.txt 4 파일병합 9

파일 test.txt 와 test2.txt 파일을병합하여, test12.txt 파일로생성 root@ubuntu:/# cat test.txt test2.txt > test12.txt 2.1.8. dmesg 리눅스시스템에서발생하는메시지를보여주는명령이다. 일반적으로임베디드사용자라면더욱많이사용하게되는명령어이다. 새로운장치를연결하거나, 디바이스드라이버내에서 printk등을이용해출력한메시지들을확인하는경우에사용된다. grep 명령어와 pipe를이용해연결하여사용하는경우가일반적이다. 1 명령어기본형식 dmesg [-c] [-n level] [-s bufsize] 2 장치메시지전체출력예시스템이부팅되면서부터, dmesg 명령이수행되기이전까지발생한메시지를출력. root@ubuntu:/# dmesg 3 원하는메시지출력 시스템이부팅되면서부터아래의 dmesg 명령이수행되기이전까지발생한메시 지중에서 usb 라는단어를포함한메시지만화면에출력한다. 10

root@ubuntu:/# dmesg grep usb 2.1.9. rm remove 명령으로, 파일을삭제할경우사용하는명령이다. 파일과디렉터리삭제가가능하므로사용시에신중을기해야한다. 리눅스에서는한번지운파일은복구하기가힘들기때문이다. 1 명령어기본형식 rm [options] file(s) 2 옵션 options 설 명 -f 물어보지않고강제로지운다. -i 각파일에대하여지울것인지묻는다. -r 서브디렉터리를포함한모든내용을재귀적으로지운다. -v 지워지는파일명을출력한다. 3 파일삭제예시 아래명령이수행되면 test.txt 파일을삭제한다. 하지만 rm 의경우일반적으로 rm i' alias 로묶여있다. 그래서아래명령을실행하면삭제할것인지를물어볼 11

수있다. root@ubuntu:/# rm test.txt 4 디렉터리삭제아래명령이수행되면 mydirectory라는디렉터리가삭제된다. 마찬가지로 alias에의해서삭제할것인지를물어볼수있다. root@ubuntu:/# rm r mydirectory 5 무조건삭제아래명령은디렉터리든파일이던상관하지않고모두지우는명령이다. -f 옵션을사용했기때문에물어보지않고지우게되는것이다. 만약, 아래명령이사용자의실수로최상위디렉터리에서수행되었다고생각해보자. 끔찍한일이아닐수없다. 아래의명령어는예시이므로절대실행하지말것 root@ubuntu:/# rm rf * 6 주의사항 rm과 mv는사용시항상주의해야한다. 이유는 -f 옵션때문이다. 가급적이면 -f 옵션은사용하지않는것이좋다. 굳이사용해야한다면실수가없도록반드시미리확인해야한다. 특히, rm의경우파일을연속으로기재하여여러파일들을지우는경우가있다. 이때이런상황을맞이할수있으니조심하기바란다. 필자의경우예전에 test.c 파일과 test.o 파일을삭제하려다두번타이핑하는것이귀찮아서, 와일드카드인 * 를사용하려했다. 그런데키보드상태가좋지않아, 확장자구분인. 가입력되지않은것이다. 아래의명령어는절대실행하지말것 root@ubuntu:/# rm rf test * 12

위의명령을실행하는위치가마침파일시스템의최상위디렉터리였다면어떤일이발생할것으로예상이되는가? 위의명령이실행되는순간리눅스시스템이모두지워져버린다. 위명령은결국 test라는파일과모든파일을다지우라는명령이되어버린것이다. 최상위디렉터리에서위의명령이실행된다는것은수퍼유저권한이므로, 파일뿐만아니라하위디렉터리를포함해서 (-r) 묻지도말고 (-f) 지워라. 라는의미가된다. 귀찮더라도확인하며삭제하는습관을기르는것이좋다. 2.1.10. su 사용자와그룹 ID 를교체하여쉘을실행한다. 즉, 로그인중필요에의해서다른사 용자계정으로변경하는것을말한다. 1 명령어기본형식 su [UserID] 2 사용자변경예시아래는수퍼유저 (root) 가 kittens 사용자계정으로전환하는예제이다. 이경우에는수퍼유저가일반사용자계정으로전환하는것이므로패스워드입력없이바로변경이된다. root@ubuntu:/# su kittens 하지만아래와같이수퍼유저로계정전환을하려면, 패스워드를입력해주어야 한다. 13

kitten@ubuntu:/$ su root Password: 루트권한으로로그인해서 kittens 사용자로변경한뒤에더이상 kittens 계정을사용할필요가없으면, exit를입력해서사용을그만두고계정변경전권한으로되돌아간다. root@ubuntu:/# exit 2.1.11. tar 윈도우즈에서는 zip 형식의파일압축과해제를많이사용하고여러가지편리한툴도많다. 그러나리눅스에서많이배포되는소스들은대부분 bzip 혹은 tar.gz 파일들이다. XWindow를사용하지않는한, 별도로유용한툴이제공되지않기때문에 tar을이용해서압축을하거나해제할수있다. (tar의경우아주많은옵션들을가지고있지만본교재에서는압축을풀고해제하는것과관련된몇가지옵션만을다룬다. tar은패키지로묶을뿐, 압축이라하기에는조금문제가있다. 파일이가지는용량까지줄이는압축을해야하는경우라면 bzip 혹은 zip을이용한다 ) 1 명령어기본형식 tar [option] [archive-file] [files or directories] 2 옵션 14

주요동작모드에서의옵션은다음과같다. options 설명 -t 압축파일의내용을출력 -x 압축파일에서원본내용을추출 ( 압축해제 ) -c 새로운압축파일을생성 -d 압축파일과파일시스템간의차이점을비교 -r 압축파일에다른파일을추가 -u 압축파일안에있는가보다최신의파일만추가 -A 압축파일에다른압축파일을추가 --delete 압축파일로부터제거 -v 처리되는파일을순서대로출력 -f 압축파일혹은압축장치를사용 -z gzip 필터 3 압축해제예시 압축파일이 test.tar.gz면다음과같이압축을해제하면된다. 디렉터리까지통째 로압축하였다면, 현재위치에서해당디렉터리가확인이될것이고, 파일만압축했 다면, 해당위치에압축해제된파일들이생성된다. root@ubuntu:/# tar zxvf test.tar.gz 압축파일이 tar.bz2 면다음과같이압축을해제하면된다. root@ubuntu:/# tar jxvf test.tar.bz2 4 압축을할때 tar.gz로압축을할경우에는다음과같이한다. 아래의명령이수행되면현재위치의디렉터리에서 test_dir.tar.gz 파일을만들고그내용은 mydirectory가된다는이야기이다. 즉, mydirectory가통째로 test_dir.tar.gz라는파일이름으로압축된다. root@ubuntu:/# tar zcvf test_dir.tar.gz mydirectory 파일만압축할경우에는파일이름을넣어주면된다. 15

root@ubuntu:/# tar zcvf test_file.tar.gz test.c 디렉터리내부에있는모든파일및디렉터리를압축하려면와일드카드를이용. root@ubuntu:/# tar zcvf test_file.tar.gz * 2.1.12. ping ping(packet internet gopher) 은자신의네트워크나다른네트워크가통신이잘되고 있는지점검한다. 1 명령어기본형식 ping [hostname or ip] 2 사용예아래의명령이수행되면, KT에서운영하는 DNS로 ping 메세지를보내게된다. 인터넷이연결되었다면, 당연히응답이올것이다. root@ubuntu:/# ping 168.126.63.1 인터넷이아니라, Achro-i.MX6Q 개발보드혹은다른 PC와의통신을확인하려면, 동일네트워크에연결된해당장치의 ip를넣어주면된다. root@ubuntu:/# ping 192.168.1.57 16

2.1.13. apt-get 데비안계열의우분투의패키지관리자이다. 1 명령어기본형식 apt-get [option] [command] 2 사용커맨드일반적으로사용하는것들만소개를하겠다. update : 새로패키지들의리스트를확인 install : 패키지설치 remove : 패키지제거 3 옵션 -h : Help -d : 다운로드만할경우 -u : 업그레이드패키지리스트출력 4 일반적인사용예시 다운로드경로를추가한다음갱신할경우갱신된다운로드경로내용은 /etc/apt/source.list 파일에적용된다. root@ubuntu:/# apt-get update 패키지를다운로드하여설치할경우 root@ubuntu:/# apt-get install vim 설치된패키지를삭제할경우 root@ubuntu:/# apt-get remove vim 2.1.14. dd dd명령은디스크로부터데이터를덤프할경우사용한다. 뿐만아니라덤프된데이터를기록하는경우에도종종이용된다. 본교재에서는환경설정부분에서플래시메모리를초기화하는데사용할것이므로, 지금은명령의내용과사용방법만확인 17

하도록한다. 1 명령어기본형식 dd [Operand]... 2 오퍼랜드일반적인명령에대해서설명한다. bs=byte : 읽거나쓸때한번에기록하는 Byte 크기 (bs=ibs, obs) if=file : 읽어올파일명 of=file : 기록할파일명 seek=blocks : 선택된파일에서찾을위치 skip=blocks : 입력에서지정된 BLOCKS 만큼 ibs 건너뛰고입력을시작 count=block : 복사할블록카운트 3 일반적인사용아래의명령은 u-boot.bin라는파일을입력으로 /dev/sdb라는저장매체의시작부터 512바이트떨어진곳에서부터 1 블록씩기록하되, 8192 블록까지만기록을한다. root@ubuntu:/# dd if=u-boot.bin of=/dev/sdb bs=1 seek=512 count=8192 18

1. 리눅스설치및활용 2.2. vi에디터학습 vi는리눅스에서기본적으로제공되는에디터이다. vi는텍스트기반의에디터로서, 강력하지만처음접하여서사용할때에는그사용법이다소어렵고불편하다고느끼게된다. 하지만, 제공되는기능들을모두익혔을때에는다른어떤그래픽기반에디터에뒤지지않을만큼편리하고강력함을느끼게된다. 뿐만아니라, 리눅스에서기본적으로제공되는만큼, XWindow가아닌텍스트기반환경에서도충분히활용할수있는유틸리티이다. 그리고교재에서다루고있는 vi는기존 vi의기능확장버전인 vim을사용한다. 2.2.1. vim 다운로드및설치리눅스에서가장오래된텍스트에디터중하나이다. 우분투에서는기본에디터로 vi가설치가되어있으며고전적인터페이스를가진다. 우리는확장된 vi인 vim에디터를다운로드하여사용한다. 아래와같이입력해주고설치여부를물어보면 Y를눌러준다. # apt-get install vim 2.2.2. vim의모드 1 명령모드명령모드는키입력을통해 vi에게명령을하는모드로서커서를이동하거나, 삭제복사, 붙이기등의작업을수행한다. 19

1. 리눅스설치및활용 2 입력모드입력모드는실제로편집을하기위한상태이다. 입력모드에서글자를타이핑하게되면, 타이핑한글자가실제로입력된다. 명령모드에서입력모드로진입하기위해서는 i, a, o, 또는 s키를누르면가능하다. 일반적으로명령모드에서 i키는 input기능키이다. 3 ex모드라인에디터인 ex에디터의기능을사용하는모드이다. vi는 ex에디터를기반으로만들어진에디터이기때문에 ex 에디터의기능을그대로사용할수있다. ex모드를사용할경우, 특정패턴들을특정문자열로대체하는것과같이일괄처리작업에효율적이다. 2.2.3. 파일컨트롤 1 파일열기 수정할파일과함께파일열기 # ls # vim HelloWorld.c 면 파일을열게되면, 파일내용이출력되면서명령모드상태가된다. 종료를하려 :q! 입력하면 vim 에디터가종료된다. 20

1. 리눅스설치및활용 파일을열지않고, vim 실행 # ls # vim vim 명령만입력했을경우에는위와같이간단한사용메시지를볼수있다. 현재바탕에있는글자들은명령모드가아닌, 다른모드에서입력이발생되면사라진다. i 키를눌러서입력모드로바꾸고키보드에서문자를입력하는순간화면이사라지고, 키보드에서입력한글자가출력되는것을확인할수있다. 파일을열지않고 vim실행시파일열기파일을열지않고, vim을실행하게된후에, 편집할파일을열기위해서는 'e' 혹은 'o' 명령을사용하면된다. 아래에서는 o 명령으로 HelloWorld.c를열고자할경우이다. 21

1. 리눅스설치및활용 2 파일저장 편집후파일저장 HelloWorld.c 파일을열어서아래의그림과같이 Hello Earth부분을추가해주었다. 편집된내용을저장하려면 ESC키를눌러서명령모드로바꾸고, ':' 를눌러서 ex 모드로바꾼뒤 w명령을입력하여저장 ("ESC" + ":" +"w") 할수있다. 모드를전환하여저장한다. 다른이름으로저장 22

1. 리눅스설치및활용 다른이름으로내용을저장할경우에는 w명령뒤에파일명을입력해주면된다. 입력모드에서명령모드로이동하기위해서 ESC키를누르고, ex모드로변경하기위해서 ":" 를누른후사용하여야한다. ("ESC" + ":" +"w" + " 파일명 ") 3 vi종료 VI를종료하기전에수정을한파일에대해서처리를결정해주어야한다. 저장하고나가던지 (wq), 아니면그냥종료하던지 (q), 저장않고강제로종료하던지 (q!) 에대해서결정해주어야한다. q명령을통해서종료할경우에는소스의수정이가해지지않은상태에서만가능하다. 즉, 저장을한뒤에만 q 명령을통해서종료할수있는것이다. 저장없이종료를해야한다면 q! 를이용해서강제로종료해주어야한다. 수정한파일저장후 vi 종료 수정한파일저장하지않고종료 23

1. 리눅스설치및활용 2.2.4. ex 모드명령어 1 저장및종료 저장하기위해서는 ex모드로전환해야한다. ESC 키를먼저눌러주고, : 를눌 러서 ex모드로전환한다. command 설 명 : w 저장 : w file file 이름으로저장 : w >> file file에붙여서저장 : q 종료 ( 바뀐부분이있으면, 종료되지않고경고가출력됨 ) : wq! 저장하고강제종료 : o file file을불러옴 : e file file을불러옴 : e 현재열었던파일을다시불러옴 : wq 저장하고종료 2.2.5. 입력모드명령어명령모드에서입력모드로전환하기위한명령어는아래와같다. 일반적으로가장많이사용하는명령어는 i 이다. command 설명 a i o s A I O 커서위치다음칸부터입력커서의위치에입력커서의다음행에입력커서위치의한글자를지우고입력커서행의맨마지막부터입력커서행의맨앞부터입력커서의이전행에입력 cc 커서위치의한행을지우고입력 1 이동 - 명령모드에서커서이동 24

1. 리눅스설치및활용 command 설명 h j k l w b 좌측이동우측이동위로이동아래로이동좌측이동아래로이동위로이동우측으로이동단어의첫글자로이동단어의마지막글자로이동 { 이전문단으로이동 } 다음문단으로이동 M :[n] gg G 커서를화면중앙으로이동 n행으로이동문서의시작위치로이동문서의끝위치로이동 - 입력모드에서의커서이동 command 설명 좌측이동우측이동위로이동아래로이동 25

1. 리눅스설치및활용 2.2.6. 명령모드 1 삭제 명령모드에서삭제에관련된명령어들은아래와같다. command 설명 x dl dw D dd 커서위치의글자삭제커서위치의글자삭제커서위치의한단어를삭제커서위치부터행의끝까지삭제커서가있는행을삭제 2 복사및붙이기명령 command 설명 yw yy [n]yy p [n]p dd 한단어복사하기한라인복사하기 n의상수값만큼라인을복사하기붙이기 n의상수값만큼붙이기반복삭제명령이지만, 삭제시내용이버퍼에저장되므로 p를이용하여이전에삭제된내용을붙일수있다. 레지스터에저장된내용을보려면 :reg 명령을이용해서볼수있다. 26

1. 리눅스설치및활용 3 블록지정 명령모드에서일정부분에대해서블록을지정할수있다. v 키를누르면, 해당 부분이영상처리되며블록이지정되는것을확인할수있을것이다. 블록지정후사용할수있는명령 command 설명 y d 복사 삭제 > 행앞에탭삽입 < 행앞에탭제거 : 선택영역에대해 ex 명령 U u 대문자로바꿈 소문자로바꿈 4 되살리기와되돌리기 command 설명 ctrl + r u 되살리기 실행취소 5 문자열찾기문자열을찾기위해서는 / 뒤에검색하고자하는문자혹은문자열을입력하면된다. 아래의명령은현재수정하고있는파일내용에서 search라고입력된문자열을찾아준다. /search 문자열찾기에서사용할수있는명령 command 설명 b n 이전에매칭된문자혹은문자열 다음매칭될문자혹은문자열 27

1. 리눅스설치및활용 6 문자열치환 문자열치환 (replace) 을하려면, 기본적인정규식은알아야한다. 관련정규식은 vim 의 man page 를확인하기바란다. 몇가지자주사용되는예를들어보겠다. command 설명 :%s/windows/linux/g :-2,+5s/cat/dog/g 문서전체에서문자열 windows를문자열 linux로바꿈커서의현위치로부터위로 2줄, 아래로 5줄에포함된문자열 cat을 dog로바꿈. :%s/hong/hong/gc 문서전체에서문자열 hong 을 HONG 으로바꿈. 단, 사용자의교체여부를확인함. vi 의경우에암기를해서사용하는것이아니라, 몸으로익혀사용하는에디터이 다. 많이사용할수록시간이지난후에더강력한기능을자유롭게쓸수있기때 문에스스로많이사용해보는것을권한다 28