슬라이드 1

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

Adobe Flash 취약점 분석 (CVE )

PowerPoint 프레젠테이션

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

chap2

PowerPoint 프레젠테이션

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

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

슬라이드 1

제1장 Unix란 무엇인가?

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

Chapter #01 Subject

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

슬라이드 1

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

제2장 리눅스 사용

PowerPoint 프레젠테이션

11장 포인터

시스템 사용자 계정 관리

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

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

Microsoft Word _LT_리눅스 마운트강좌 mount 1편.doc

10.

7장. 교착상태(deadlock)

PowerPoint 프레젠테이션

제2장 유닉스 사용

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

The Pocket Guide to TCP/IP Sockets: C Version

<4D F736F F F696E74202D2034C5D8BDBAC6AEC6C4C0CFC0D4C3E2B7C2312E505054>

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

Microsoft PowerPoint - 07-EDU-LinuxCommand-4.ppt

Microsoft PowerPoint - ch09_파이프 [호환 모드]

2009년 상반기 사업계획

chap7.key

이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2

PowerPoint 프레젠테이션

untitled

망고100 보드로 놀아보자-4

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint APUE(Intro).ppt

제12장 파일 입출력

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

adfasdfasfdasfasfadf

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

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - 제11강 파일 처리

작성자 : saint Overview BackTrack 는 LILO 를부트로더로사용한다. BactTrack 을기본환경설정그대로설치하면부팅할수없는경우가있는데, 이것은실린더크기가 1024 보다큰하드디스크에설치하면 LILO 가 OS 를정상적으로읽어올수없기때문이다. 요즘나오는

Microsoft PowerPoint - chap4 [호환 모드]

PowerPoint 프레젠테이션

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

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

The Pocket Guide to TCP/IP Sockets: C Version

설계란 무엇인가?

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

PowerPoint Template

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

Linux Server 리눅스왕초보실무를익혀라! 리눅스서버 20 fedora 김영훈ㆍ정거룡지음

Microsoft PowerPoint - o8.pptx

Microsoft PowerPoint - o10-19.pptx

PowerPoint 프레젠테이션

슬라이드 1

휠세미나3 ver0.4

제1장 Unix란 무엇인가?

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

슬라이드 1

Microsoft Word doc

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

PowerPoint 프레젠테이션

API 매뉴얼

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

Adding a New Dev file

<3032B0AD202D20B8AEB4AABDBA20BCB3C4A12D556E6978C0CEC5CDB3DDBAB8C3E6C7D0BDC02E687770>

/chroot/lib/ /chroot/etc/

PowerPoint 프레젠테이션

디바이스드라이버 (Device Driver) Driver is literally a subject which drive a object. 응용프로그램에서하드웨어장치를이용해서데이터를직접읽고쓰거나제어해야하는경우에디바이스드라이버를이용 하드웨어를제어하는프로그램과애플리케이션에서

Microsoft PowerPoint - chap11-1.ppt [호환 모드]

윤성우의 열혈 TCP/IP 소켓 프로그래밊

제9장 프로세스 제어

BMP 파일 처리

Microsoft PowerPoint - Supplement-02-Socket Overview.ppt [호환 모드]

Mango220 Android How to compile and Transfer image to Target

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

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

Microsoft PowerPoint APUE(File InO).pptx

교육지원 IT시스템 선진화

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

Microsoft PowerPoint UNIX Shell.ppt

CD 무결성체크는 SKIP 을해도좋습니다. Next 버튼을누릅니다. Next 버튼을누릅니다.

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

Embeddedsystem(8).PDF

Microsoft Word - PLC제어응용-2차시.doc

3. 화일입출력제어 DBLAB, SNU v 입출력제어환경 u 운영체제 (operating system) 다수사용자를위해컴퓨터의자원을관리하는 S/W 사용자프로그램 논리적관점 운영체제 보조기억장치 물리적관점 DBLAB, SNU 2

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

Microsoft PowerPoint UNIX Shell.pptx

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20BFEEBFB5C3BCC1A6BDC7BDC D31C7D0B1E229202D20BDA92E BC8A3C8AF20B8F0B5E55D>

Unix & Linux 개요 Company 서울대학교통계학과 2010년 2학기컴퓨터의개념및실습 ( Thanks to: cancho & facewhite from SPARC/KAIST, Bruce La Plante fro

제1장 Unix란 무엇인가?

Transcription:

파일 (File) Chapter #4

파일관리구조 파일의종류 (1) 트리구조에기반한계층구조 시스템의모든파일이하나의트리구조로구성되어, 계층적으로접근, 관리된다 트리구조의중간노드 : 디렉토리 트리구조의단말노드 : 파일 2 Unix System Programming

파일의종류 (2) 3 Unix System Programming

파일종류 파일의종류 (3) 디렉토리 (Directory) 하나의파일로서상위디렉토리파일에등록되어있음 일반파일 (Normal File) 스트림파일 특수파일 (Special File) 장치파일 (Device File) 문자장치파일 / 블록장치파일 파이프 (Pipe) 소켓 (Socket) 등 4 Unix System Programming

파일명 파일경로명 (1) 영문자나숫자그리고기호 (., -, _) 를사용하여최대 255 문자까지이용하여파일이름을표시 서로다른디렉토리에서는같은파일명을사용가능 파일경로명 모든파일은고유의경로명을가진다 디렉토리이름까지포함해서파일트리안에서파일을식별하기위해사용 디렉토리이름은 / 기호를이용하여구분 5 Unix System Programming

파일경로명 (2) 절대경로명 루트디렉토리에서시작하여파일이위치한디렉토리까지의경로를표시 /home/kohno/doc/schedule.july 상대경로명 현재디렉토리를기준으로접근하려는파일의위치를상대적인경로표시.. - 부모디렉토리,. - 현재디렉토리../../kohno/doc/schedule.july 6 Unix System Programming

사용예 : 파일경로명 (3) $ cp../../kohno/doc/schedule.july. $./test 홈디렉토리 (or 로긴디렉토리 ) 사용자에게사용할수있도록할당된디렉토리 로긴하였을때에제일처음위치하는디렉토리 ~ 기호를이용하여표시예 ) ~/.bashrc 7 Unix System Programming

파일보호 (1) 파일보호 UNIX 시스템 : 다중사용자시스템 사용자의파일은다른사용자의접근으로부터보호할필요가있음 파일보호모드 ls al 명령어의출력 파일의상세정보를표시 파일의종류, 보호모드, 링크카운터, 소유자이름, 그룹이름, 크기 ( 바이트수 ), 최종수정일시파일이름등 파일보호모드 파일에대해소유자 (owner), 그룹 (group) 그리고다른사용자 (others) 을구분하여접근권한을부여 8 Unix System Programming

파일보호모드 파일보호 (2) 파일종류및파일보호모드표시 - 실행허가에는 x 문자이외에 s, t 문자가올수있다 9 Unix System Programming

파일보호모드 디렉토리파일의보호모드 파일보호 (3) r : 금지되어있으면 ls 명령어볼수없다 w : 금지되어있으면새롭게파일을작성하거나기존의파일을삭제할수없다 x : 금지되어있으면 cd 명령어로그디렉토리로이동할수없다 파일이생성될때에기본적인보호모드가결정되며, 별도의명령어를이용하여변경가능 파일모드마스크를이용하여초기보호모드를한정할수있다 예 : $umask 133 10 Unix System Programming

파일보호모드변경 파일보호 (4) chmod(change mode) 명령어사용 형식 : chmod mode file-name mode 지정 Who u(owner), g(group), o(others), a(all) What r(read), (w(write), x(execute) How +(permit), -(prohibit) 예 : $chmod g+w list.txt 다른형식의 mode 지정 : 세자리의 8진수 rwxrwxrwx 777 예 : $chmod 644 list.txt 11 Unix System Programming

파일소유자및그룹변경 파일보호 (5) chown / chgrp 명령어사용 파일의소유자및슈퍼유저 (root) 만이실행가능 형식 : chown user-name file-name chown grp-name file-name 예 : $chown kinta list8-2.txt $chgrp students list8-2.txt - chown 명령어로소유자및그룹변경이가능 - 예 : $chown kinta:students list8-2.txt 12 Unix System Programming

파일시스템구조 (1) 디스크파티션 (Disk Partition) 디스크장치는논리적으로연속적인블록 ( 접근단위 ) 의모임 연속적인블록영역을몇개의영역으로분할하여관리하는데분할된영역을파티션이라고함 논리적으로독립된디스크로취급 식별및접근을위해고유의장치파일을할당 UNIX 에서는일반적으로각파티션에 1 개의독립적인파일시스템을만든다 13 Unix System Programming

파일시스템구조 (2) 디스크파티션 (Disk Partition) 14 Unix System Programming

파일시스템구조 (3) 일반적인리눅스에서의파티션구성 root 파일시스템안에 root, usr 및 home 디렉토리을구성함 백업등관리가편리하지만대용량백업장치가필요할뿐만아니라확장성이제한됨 15 Unix System Programming

파일시스템 (File System) 파일시스템구조 (4) 하나의저장장치에대해파일저장방식및저장정보그리고파일을접근하기위한프로그램모듈을통칭 저장장치또는디스크파티션별로개별적인파일시스템을갖는다 파일시스템구조 ( 앞의그림참조 ): 부트블록 슈퍼블록 inode 블록 데이터블록 16 Unix System Programming

파일시스템 (File System) Linux ext2 파일시스템 파일시스템구조 (5) 17 Unix System Programming

파일시스템구조 (6) 파일시스템 (File System) 부트블록 (Boot Block) 파일시스템의첫번째블록 부트로더등시스템을실행하는프로그램및정보를저장 슈퍼블록 (Superblock) 파일시스템관리정보를저장 파일시스템유형및전체크기 자유블록정보 inode 블록정보 슈퍼블록수정정보등 18 Unix System Programming

파일시스템구조 (7) 파일시스템 (File System) inode 블록 inode(index node) 리스트로구성 inode(index node) 파일의관리에필요한정보를저장하며, 하나의파일에대해하나의 inode 을생성 inode 번호를이용하여식별 파일속성정보저장 : 파일종류, 링크수, 파일소유권, 파일접근권리, 파일접근시간, 바이트단위파일크기, 저장위치정보등 데이터블록 일반파일및디렉토리파일내용을저장 19 Unix System Programming

파일시스템 (File System) inode 의일반적인구조 파일시스템구조 (8) 20 Unix System Programming

파일시스템구조 (9) 파일시스템 (File System) Linux ext2 파일시스템에서의 inode 구조 21 Unix System Programming

파일시스템구조 (10) 디렉토리구조 : 파일계층구조 22 Unix System Programming

디렉토리파일 파일시스템구조 (11) 저장하고있는파일에대해 inode 번호와파일이름을가진엔트리를기록 예 : /etc/hosts 파일검색예 23 Unix System Programming

파일시스템구조 (12) 디렉토리파일 파일링크 같은파일에대해여러개의이름을가질수있다 각각의이름을링크 (link) 라고함 ln 명령어를이용하여생성 Hard Link 디렉토리파일의엔트리 (inode 번호, 파일명 ) 로등록 동일한파일시스템내에서만가능 디렉토리파일에대한하드링크는허용안됨 Symbolic Link 링크정보를저장하는파일이별도로존재 24 Unix System Programming

장치파일 파일시스템구조 (13) 장치파일도 inode 를가짐 inode 내에서데이터블록에대한정보대신에장치번호정보를저장 장치번호는커널내의장치드라이버서브루틴을호출할때의맵핑테이블검색인덱스로사용 25 Unix System Programming

파일시스템구조 (14) 파일시스템마운트및언마운트 파일시스템마운트 (Mount) 분산된파일트리를모아서하나의트리구조로만드는동작 하나의저장장치에있는파일을접근하기위해서는저장장치의파일시스템을 root 파일시스템에마운트하여야한다 파일시스템언마운트 (Unmount) 연속하여모아진트리구조를원래의분산된상태로되돌리는동작 사용중인저장장치를분리하기위해서는먼저파일시스템을언마운트하여야한다 파일시스템자동마운트 /etc/fstab 설정파일을이용하여부팅시에자동으로마운팅 26 Unix System Programming

파일시스템구조 (14) 파일시스템마운트및언마운트 27 Unix System Programming

파일시스템구조 (16) 파일시스템마운트및언마운트 네트워크파일시스템 (NFS) Samba 28 Unix System Programming

장치파일 (Device File) 디바이스스위치 (1) 하드웨어추상화 각각메모리또는입출력장치에대응시킨파일 스트림파일로취급 일반파일과같은방식으로접급가능 장치파일종류 문자장치파일 (Character Device File) 바이트단위의입출력 버퍼를지원하지않으며, 에러보정에유리 키보드, 마우스, 프린터등 블록장치파일 (Block Device File) 고정크기블록단위입출력 버퍼캐시를두어입출력속도를향상 랜덤액서스가능한기억장치등 29 Unix System Programming

디바이스스위치 (2) 장치파일식별 사용자식별 - 장치파일이름이용 시스템식별 장치번호 (major number/minor number) 이용 장치파일번호 시스템에서장치드라이버루틴등장치와관련된내용을접근할때에인덱스등을사용 메이저번호 (Major number) - 장치의종류를식별 (0~255) 마이너번호 (Minor number) 같은종류의장치들사이의식별 장치파일생성 mknod 명령어사용 예 : $mknod /dev/fd0 b 2 0 $mknod /dev/test-dev c 255 0 $ls al /dev 30 Unix System Programming

디바이스스위치 (3) 장치드라이버 (Device Driver) 시스템에접속하고있는장치를직접제어하고데이터를처리하는커널내의소프트웨어모듈 일반적으로스트림파일인터페이스 ( 열기, 닫기, 읽기, 쓰기, 제어 ) 루틴과장치인터럽트처리루틴으로구성 블록형장치 open, close, strategy 문자형장치 open, close, read, write, ioctl 장치별함수명을구별하기위해대개의경우장치명을함수명에붙여정의 31 Unix System Programming

디바이스스위치 디바이스스위치 (4) 장치파일에대한시스템콜을각장치드라이버루틴과연결시키는역할을수행 32 Unix System Programming

디바이스변환표 디바이스스위치 (5) 불필요하여제공되지않는기능 블록장치는문자형장치의인터페이스도제공가능 블록장치파일을생성할때에문자형장치로등록 위의표에서문자형장치변화표의메이저번호 4 항목 33 Unix System Programming

마이너장치번호 디바이스스위치 (6) 장치드라이버함수의인자로전달 장치드라이버함수에서장치별로다르게처리하여할경우에장치식별에사용 34 Unix System Programming

표준입출력파일 표준입출력 (1) UNIX 에서프로그램을실행하면프로세스에 3 개의기본입출력파일이할당된다 표준입력파일 프로그램의입력파일, 보통터미널의키보드장치를할당 표준출력파일 프로그램의출력파일, 보통터미널의화면장치를할당 표준에러출력파일 프로그램에서발생하는에러메시지출력장치, 보통터미널화면장치를할당 표준입력파일에서 EOF(End Of File) 표준입력파일은무한대의크기를가진파일로취급 Ctrl-D 입력을 EOF 로취급 35 Unix System Programming

표준입출력변환 표준입출력 (2) 쉘에서의입출력변환 리다이렉션연산자이용 : >, >>, < 파이프연산자이용 : 리다이렉션 (Redirection) 기능 표준입출력을파일로변환 $sampel > outfile $sample < infile $ sample < in file > outfile 표준출력을파일추가로변환 $ sampel >> outfile 푠준에러출력을파일로변환 $ sample 2> outfile $ sample >& outfile 파이프라인 (pipeline) 기능 표준출력을다른명령어의표준입력으로변환 $ sample1 sampel2 sampel 3 36 Unix System Programming

파일디스크립터 / 파일포인터 (1) 파일구조체 사용자공간에서열려진파일을관리하기위해파일정보를저장하는구조체 입출력헤드파일 : stdio.h typedef struct _IO_FILE FILE struct _IO_FILE { int flags; char * _IO_read_ptr; char * _IO_read_end; char * _IO_read_base; char * _IO_write_ptr; char * _IO_write_end; char * _IO_write_base; int _fileno; }; 사용자파일기술자테이블 (User File Descriptor Table) 파일구조체를 OPEN_MAX개를준비하여연결리스트로구현한테이블 37 Unix System Programming

파일디스크립터 / 파일포인터 (2) 파일디스크립터 (File Descriptor) open() 시스템콜호출반환값 int fd; fd = open( inout-file, O_RDONLY); 열린파일의정보를저장하기사용자파일기술자테이블항목중에몇번째항목이할당되는지지정하는인덱스값 open() 시스템콜이외의파일접근시스템콜에서인자로사용 fd = 0 표준입력 fd = 1 표준출력 fd = 2 표준에러 파일디스크립터할당은파일기술자테이블에서비어있는항목중에가장인덱스번호가낮은항목을할당한다 새롭게열리는첫파일에대해 fd = 3 값이할당 38 Unix System Programming

파일기술자테이블맵핑 디바이스스위치 (3) 39 Unix System Programming

파일디스크립터 / 파일포인터 (4) 파일포인터 (File Pointer) fopen() 입출력라이브러리함수호출반환값 FILE *fp; fp = fopen( inout-file, r ); 사용자파일기술자테이블에서열린파일의정보를저장하기할당되는파일구조체에대한포인터값 표준입출력파일에대한파일포인터 stdin, stdout, stderr 파일디스크립터와파일포인터사이의변환 fd = fp->_fileno; fd = fileno(fp); 40 Unix System Programming

파일디스크립터 / 파일포인터 (5) 파일디스크립터와파일포인터 41 Unix System Programming

터미널제어 콘솔장치 / 터미널장치 장치파일 /dev/console or /dev/tty 프로그램실행할때에기본적으로표준입출력장치로서열린다 사용자와인터페이스하기위해보다미세한제어가필요 ioctl() 시스템콜을사용 송수신전송속도, 화면크기, 에코백유무, 인터럽트문자, EOF 문자등 터미널모드상세정보확인 $stty a 터미널제어 터미널모드정보변경 stty 명령어사용 예 : erase 문자를 DEL(0x7e) 에서 BS(0x08) 로변경 $ stty erase ^h 42 Unix System Programming