unix unbounded a beginning approach

51
HANNAM Univ. HANNAM Univ. UNIX Unbounded UNIX Unbounded A Beginning Approach A Beginning Approach 이 이 이 이 이 이 Home : nimilx2.hannam.ac.kr Home : nimilx2.hannam.ac.kr E-mail : E-mail : sh [email protected] Tel : +82-42-629-7559 Tel : +82-42-629-7559

Upload: betha

Post on 19-Jan-2016

22 views

Category:

Documents


0 download

DESCRIPTION

UNIX Unbounded A Beginning Approach. 이 성 현 Home : nimilx2.hannam.ac.kr E-mail : [email protected] Tel : +82-42-629-7559. 목차. 파일 시스템 개요 UNIX 파일 유형 디렉토리 디렉토리 명령어 파일 내용 화면에 출력하기 파일 내용 프린팅 파일 삭제. 요약 질의 및 응답 실습 예제. 파일 시스템 개요. 개요 파일 시스템 인터페이스는 비교적 안정적 , 점진적으로 발전 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: UNIX Unbounded A Beginning Approach

HANNAM HANNAM Univ.Univ.

UNIX UnboundedUNIX UnboundedA Beginning ApproachA Beginning Approach

이 성 현이 성 현Home : nimilx2.hannam.ac.krHome : nimilx2.hannam.ac.kr

E-mail : E-mail : [email protected]

Tel : +82-42-629-7559Tel : +82-42-629-7559

Page 2: UNIX Unbounded A Beginning Approach

2

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

목차목차

파일 시스템 개요

UNIX 파일 유형

디렉토리

디렉토리 명령어

파일 내용 화면에 출력하기

파일 내용 프린팅

파일 삭제

요약

질의 및 응답

실습 예제

Page 3: UNIX Unbounded A Beginning Approach

3

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

파일 시스템 개요파일 시스템 개요 개요

■ 파일 시스템 인터페이스는 비교적 안정적 , 점진적으로 발전■ 프레임워크는 초기 버전과 달리 완전히 바뀜■ 초기 유닉스 시스템은 한 타입의 파일 시스템 지원

▶ 로컬 파일만 지원

■ 최근 유닉스 시스템은 여러 시스템 타입을 지원하는 vnode/vfs 인터페이스로 대체

▶ 로컬 및 원격 파일 지원

■ 시스템 V, BSD 4.2 이전은 s5fs 지원■ BSD 4.2 는 Fast File System(FFS) 채택

Page 4: UNIX Unbounded A Beginning Approach

4

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

파일 시스템 개요파일 시스템 개요 파일에 대한 사용자 인터페이스

■ 파일 , 디렉토리 , 파일 디스크립터 , 파일 시스템 등의 개념을 제공

/

bin etc dev usr

passwd passwd hosts

vmunix

local lib

Page 5: UNIX Unbounded A Beginning Approach

5

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

파일 시스템 개요파일 시스템 개요 파일과 디렉토리

■ 서로 다른 타입의 파일 시스템은 고유 내부 디렉토리 포맷 사용■ POSIX.1 은 디렉토리 연상용의 표준 라이브러리 루틴을 규정

▶ dirp = opendir (const char *filename); ▶ direntp = readdir (dirp);▶ rewinddir(dirp);▶ status = closedir(dirp);

■ 복귀되는 디렉토리의 포맷은 파일 시스템 독립적struct dirent {

ino_t d_ino ; /* inode 번호 */ char d_name [NAME_MAX+1] ; /* null 로 끝나는 파일 이름 */;

}

Page 6: UNIX Unbounded A Beginning Approach

6

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

파일 시스템 개요파일 시스템 개요 파일 속성

■ i-node 가 파일의 속성 보관■ i-node 의 포맷 및 내용은 파일 시스템 종속적■ Stat 와 fstat 시스템 콜이 파일 속성 복귀

▶ 파일 시스템 독립적 포맷

■ 파일 속성을 조작하는 시스템 콜▶ link, unlink, utimes, chown, chmod

■ 일반적인 파일속성▶ file type ( 디렉토리 , FIFO, 심볼릭 링크 , 특수파일 )▶ 하드 링크의 수 , - 파일 크기 ( 바이트 수 )▶ 디바이스 id, - inode number▶ 타임스탬프 , 허가 및 모드 플래그

세 개의 모드플래그 - suid, sgid, sticky▶ suid 가 on 이면 수행시 effective UID 를 파일의 소유자로 변경▶ 파일이 group-execute 허가 없고 , sgid=on 이면 , mandatory file/record locking 이 enable 상태임▶ sticky 플래그는 수행 파일 수행 후 프로그램 이미지를 스왑 영역에 유지 요구

Page 7: UNIX Unbounded A Beginning Approach

7

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

파일 시스템 개요파일 시스템 개요 파일 디스크립터

■ fd = open(path, oflag, mode);■ 파일 디스크립터는 오픈 파일의 핸들 ( 또는 참조 번호 ) 역할■ 파일 디스크립터는 프로세스별 객체임■ 파일 처음 오픈 시 옵셋 =0 으로 설정■ dup, dup2 시스템 콜로 디스크립터 복사가능

fd1 offset

offsetfd2

file

Page 8: UNIX Unbounded A Beginning Approach

8

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

파일 시스템 개요파일 시스템 개요 파일 디스크립터

■ Data structure after Openfd1 = open(“/etc/passwd”, O_RDONLY);fd2 = open(“local”, O_WRONLY);fd3 = open(“/etc/passwd”, O_RDWR);

Page 9: UNIX Unbounded A Beginning Approach

9

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

파일 시스템 개요파일 시스템 개요 파일 디스크립터

■ Data structure after Two Process Open files(in process B) fd1 = open(“/etc/passwd”, O_RDONLY);

fd2= open(“private”, O_RDONLY);

Page 10: UNIX Unbounded A Beginning Approach

10

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

파일 시스템 개요파일 시스템 개요 파일 디스크립터

■ 알고리즘

Page 11: UNIX Unbounded A Beginning Approach

11

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

파일 시스템 개요파일 시스템 개요 파일 디스크립터

■ A Reader and a Writer Process

Page 12: UNIX Unbounded A Beginning Approach

12

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

파일 시스템 개요파일 시스템 개요 파일 디스크립터

■ Table after Closing a File

Page 13: UNIX Unbounded A Beginning Approach

13

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

파일 시스템 개요파일 시스템 개요 파일 입출력

■ 디폴트는 순차 액세스▶ 옵셋 유지

■ nread = read(fd, buf, count)

파일 시스템

■ 루트 파일 시스템에 다른 파일 시스템이 마운트 됨■ /usr 디렉토리의 원래 파일들은 hidden(covered)■ 원래의 s5fs 와 FFS 구현은 마운팅 테이블 사용하여 마운트된 파일 시스템

관리■ 현태의 유닉스는 vfs 리스트 사용

Page 14: UNIX Unbounded A Beginning Approach

14

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

파일 시스템 개요파일 시스템 개요 파일 시스템

Page 15: UNIX Unbounded A Beginning Approach

15

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

파일 시스템 개요파일 시스템 개요 파일 시스템

■ 논리 디스크▶ 논리 디스크는 저장장치에 대한 추상화 개념▶ 고정 크기 , 무작위 액세스 기능 블록의 선형 순서로 구성▶ newfs 또는 mkfs 가 유닉스 파일 시스템 생성▶ 하나의 논리 디스크는 하나의 파일 시스템만 포함▶ 일부 논리 디스크는 스왑 공간으로 사용 ( 파일 시스템을 포함하지 않음 )▶ 논리 디스크는 물리 디스크를 다양하게 매핑

단순한 경우 : 각 논리 디스크가 하나의 물리 디스크 전체로 매핑 일반적인 경우 : 하나의 디스크를 물리적으로 연속된 파타션 ( 하나의 논리 장치 ) 으로 분할

▶ 현대 유닉스 시스템은 다수의 디스크를 하나의 논리 디스크로 구성 가능

Page 16: UNIX Unbounded A Beginning Approach

16

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

파일 시스템 개요파일 시스템 개요 특수 파일

■ 파일 추상 개념을 일반화▶ 모든 입 / 출력 관련 객체▶ 디렉토리 , 심볼릭 링크 , 하드웨어 장치 , 가상 장치 (메모리 ) 와 파이프 , 소켓 등을 포함

■ 파일을 단순한 바이트 스트림으로 취급

■ 심볼릭 링크▶ symlink 시스템 콜로 생성▶ 다른 파일을 가리키는 특수 파일▶ 디렉토리를 링크 가능 ( 파일 트리를 논리적으로 재구성 가능 )▶ 다른 파일 시스템의 파일을 링크 가능

Page 17: UNIX Unbounded A Beginning Approach

17

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

파일 시스테 개요파일 시스테 개요 특수 파일

■ 심볼릭 링크

…bar…

reference count = 1

description of file

…foo…

directories

/usr/sue

/usr/joe

reference count = 1

/usr/joe/foo

Page 18: UNIX Unbounded A Beginning Approach

18

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

파일 시스템 개요파일 시스템 개요 특수 파일

■ 파이프와 FIFO▶ FIFO 는 mknod 로 생성▶ Pipe 는 pipe 시스템 콜로 생성▶ 파이프는 액티브 리더와 라이터 수를 유지▶ BSD 변형들은 소켓으로 파이프 구현▶ SVR4 pipe 는 양방향임

Page 19: UNIX Unbounded A Beginning Approach

19

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

파일 시스템 개요파일 시스템 개요 VFS(Virtual File System)

■ 다수 파일시스템 타입을 동시 지원 (s5fs, vfs, DOS 등 )■ 디스크 파티션마다 파일 시스템 타입이 다를 수 있음

▶ 이들이 서로에게 마운트 된 후에는 단일 균질 파일 시스템으로 보여야 함

■ 네트워크 상에서 파일 공유 지원■ 새로운 파일 시스템 타입을 쉽게 생성 추가 가능

System calls

Vnode layer

PC file System 4.2 BSD file System NFS NFS server

NetworkDisk

Floppy

Page 20: UNIX Unbounded A Beginning Approach

20

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

파일 시스템 개요파일 시스템 개요

VFSvfs_nex

t

root vnodesuper block

vfs_data

VFSvfs_nex

t

root vnodesuper block

vfs_data

vfsops vfsopsvfs_opvfs_o

p

vfssw[]

vsw_vfsops

vfs mount listVNODE

v_data

INODE

vnodeops

v_op

VNODE

v_data

INODE

vnodeops

v_op

struct file struct file*file

f_vnode

System open file list

v_vfsp

vnode of mounted on directory in rootvfs

v_vfsp

vfs_vnodecovered

rootvfs

vfs_mountedhere

Page 21: UNIX Unbounded A Beginning Approach

21

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

파일 시스템 개요파일 시스템 개요 파일 시스템의 마운팅

■ Mount(spec, dir, flags, type, dataptr, datalen)

▶ spec : 파일 시스템을 나타내는 장치 파일

▶ dir : 마운트 포인트 디렉토리▶ type : 파일 시스템 종류▶ dataptr : 파일 시스템 의존 인수에

대한 포인터▶ datalen : 이들 인수의 전체 길이

Page 22: UNIX Unbounded A Beginning Approach

22

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

UNIX UNIX 파일 유형파일 유형 유닉스 파일

■ 유닉스 운영체제에서의 파일은 바이트들의 순서를 의미■ 유닉스는 다른 운영체제와 달리 레코드나 필드와 같은 구조를 지원하지 않음■ 유닉스 파일의 범주

▶ 일반 파일 (Regular file) 프로그래밍 코드 , 데이터 , 텍스트 등과 같은 바이트들의 순서 Vi 편집기를 이용하여 생셩한 파일들은 일반 파일로서 사용자가 다루는 대부분의 파일

유형▶ 디렉토리 파일 (Directory file)

일반적인 관점에서 다른 파일과 다른점이 없음 표준 ASCII 텍스트 파일 형태를 가지고 있지 않다 다른 파일에 대한 정보 ( 예 : 파일명 ) 가 포함되어 있는 파일 운영체제가 지정한 특정 형식으로 여러 개의 레코드로 구성

▶ 특수 파일 (Special file) 프린터 , 디스크 등과 같은 주변장치에 대한 특수 정보가 포함 유닉스는 파일로 입 / 출력 장치를 다루고 , 시스템에 있는 프린터 , 플로피 디스크 ,

터미널과 같은 각 장치는 별도의 파일을 소유

Page 23: UNIX Unbounded A Beginning Approach

23

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

디렉토리디렉토리 디렉토리

■ 유닉스 파일 시스템의 필수적인 요소■ 디스크 상의 파일을 구성하는 구조를 제공■ 유닉스에서 디렉토리 구조는 계층적인 구조인 레벨로 나누어진다

▶ 사용자에게 특정 파일을 쉽게 찾을 수 있도록 파일을 구성할 수 있다

■ 디렉토리는 사용자 파일에 포함되어 있는 정보가 들어있지는 않지만 , 사용자가 파일을 구성하고 찾을 수 있는 참조 경로를 제공

Page 24: UNIX Unbounded A Beginning Approach

24

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

디렉토리디렉토리 중요한 디렉토리들

■ 유닉스 시스템 파일을 표현하는 표준이 존재■ 디렉토리 접근 권한

▶ 일반 사용자는 자신의 홈 디렉토리에 생성한 자신의 디텍로리와 파일에 대해서만 모든 접근 권한을 가짐

■ 유닉스 중요 디렉토리 요약▶ /

루트 디렉토리로서 최상위 - 레벨 디렉토리이며 , 다른 모든 디렉토리가 이 디렉토리에서 파생

▶ /usr 사용자 홈 디렉토리를 포함 대부분의 유닉스 시스템에서 /usr 디렉토리는 /home 디렉토리 사용자 중심의 디렉토리를 포함 /usr/docs

– 다양한 문서를 포함 /usr/man

– man 페이지를 포함 /usr/games

– 게임 프로그램을 포함

Page 25: UNIX Unbounded A Beginning Approach

25

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

디렉토리디렉토리 /usr/bin

– 사용자 중심의 유닉스 프로그램을 포함 /usr/spool

– 전자 우편 파일등을 포함하고 있는 mail 과 프린터 파일을 포함하고 있는 spool 과 같은 여러 개의 서브 디렉토리를 포함

/usr/sbin– 시스템 관리 파일을 포함– 일반 사용자가 접근하기 위해서는 특별한 권한을 가진 사용자로 변경해야 함

▶ /bin 다양한 기본적인 유닉스 프로그램 파일을 포함하고 잇다 .

▶ /dev 장치 파일을 포함 프린터와 디스크 등의 물리적인 컴퓨터 구성요소를 나타내는 특수한 파일

▶ /sbin 유닉스 시스템에 의해 자동적으로 실행되는 시스템 파일을 포함

▶ /etc 다양한 유닉스 구성 파일을 포함하고 있는 서브디렉토리들을 포함 일반적으로 텍스트로 구성된 파일을 포함 시스템 구성을 변경 가능하도록 편집할 수 있는 설정파일들이 존재

Page 26: UNIX Unbounded A Beginning Approach

26

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

디렉토리디렉토리 홈 디렉토리

■ 홈 디렉토리란 ?▶ 사용자와 연관된 특정 디렉토리

■ 사용자가 로그인할 경우 자동적으로 사용자의 홈 디렉토리에 위치

작업 디렉토리

■ 사용자와 연관된 혹은 작업중인 디렉토리를 작업 (working) 디렉토리 또는 현재 (current) 디렉토리라고 부름

Page 27: UNIX Unbounded A Beginning Approach

27

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

디렉토리디렉토리 경로와 경로명 이해하기

■ 경로명 ?▶ 파일 시스템 내의 파일의 위치▶ 모든 파일을 경로명을 가진다

■ 사용자는 루트 디렉토리부터 중간 디렉토리를 따라가면서 파일까지 경로를 추적하여 파일의 경로를 결정

Page 28: UNIX Unbounded A Beginning Approach

28

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

디렉토리디렉토리■ 절대 경로명 (absolute pathname)

▶ 루트부터 파일까지의 경로를 나타낸다▶ 절대 경로는 항상 루트 디렉토리 이름인 / 로 시작▶ 예

/usr/david/myfirst

■ 상대 경로명 (relative pathname)▶ 경로명의 짧은 형식▶ 작업 디렉토리로부터 파일까지의 경로▶ 많은 디렉토리를 통하여 경로를 설명▶ 예

david/REPORT

Page 29: UNIX Unbounded A Beginning Approach

29

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

디렉토리디렉토리 파일명과 디렉토리 사용 방법

■ 모든 일반 파일과 디렉토리 파일은 파일이름 ( 파일명 ) 을 가짐■ 유닉스 파일과 디렉토리 이름은 자유롭게 지을 수 있다■ 파일명이 최대 길이는 유닉스 버전과 시스템 제조사에 따라 다르다

▶ 모든 유닉스 시스템은 최소한 14 자까지 허용하고 대부분 255문자까지 지원

■ 사용자는 문자와 숫자를 조합하여 파일명을 결정■ 파일명에서 사용을 피해야 하는 문자

▶ <>, (), {}, [], *, ?, “, ‘, _, $, ^(탈출문자 )

■ 유닉스 운영체제는 대소문자를 구분■ 일반 파일명과 디렉토리 파일명에 대한 구분이 없다

▶ 같은 이름을 가지는 디렉토리와 파일이 가능

■ 파일명 확장자▶ 파일의 내용을 분류하고 설명하는데 도움을 준다

.c, .cpp 등

Page 30: UNIX Unbounded A Beginning Approach

30

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

디렉토리 명령어디렉토리 명령어 디렉토리 경로 보기 : pwd

■ 사용자의 작업 디렉토리의 절대 경로명을 표시

Page 31: UNIX Unbounded A Beginning Approach

31

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

디렉토리 명령어디렉토리 명령어■ 작업 디렉토리에 잇는 파일 위치 알아내기

▶ myfirst 파일의 위치 현재 작업디렉토리에 존재하므로 /usr/david/myfirst 가 절대 경로명이 된다 .

■ 다른 디렉토리에 있는 파일의 위치 알아내기▶ 파일이 사용자의 작업 디렉토리와 다른 디렉토리에 잇을 경우 , 사용자는 파일이 포함되어 있는

디렉토리를 지정할 필요성이 있다▶ 예 )

사용자 작업 디렉토리 : usr 사용자의 source 디렉토리에 있는 first.c 파일의 경로 david/source/first.c 가 상대 경로명이다 .

Page 32: UNIX Unbounded A Beginning Approach

32

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

디렉토리 명령어디렉토리 명령어 디렉토리 변경 : cd 명령어

■ 작업 디렉토리를 지정한 디렉토리로 변경

Page 33: UNIX Unbounded A Beginning Approach

33

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

디렉토리 명령어디렉토리 명령어■ 홈 디렉토리로 돌아가기

▶ 특정 작업 디렉토리에서 홈 디렉토리로 돌아가기 위해서는 경로 변수를 사용▶ $HOME : 홈 디렉토리의 경로를 포함▶ cd $HOME

Page 34: UNIX Unbounded A Beginning Approach

34

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

디렉토리 명령어디렉토리 명령어 디렉토리 만들기

■ 유닉스에는 디렉토리 구조에 대한 제한이 없음■ 효율적인 디렉토리 구조를 생성해야 할 필요성이 있음■ 디렉토리 생성의 이점

▶ 하나의 디렉토리안에 관련된 파일들을 그룹으로 만들면 해당 파일을 기억하고 액세스하기 쉽다▶ 화면에 나타내는 파일들의 목록이 짧을수록 원하는 파일을 보다 빨리 찾을 수 있다▶ 서로 다른 디렉토리 안에 저장된 파일에 대해 같은 파일명을 사용할 수 있다▶ 디렉토리른 각 사용자에 대해 잘 지정한 공간을 이용하여 다른 사용자와 함께 저장 규모가 큰

디스크를 공유할 수 잇게 만들 수 있다▶ 사용자는 디렉토리를 다루는 유닉스 명령어들을 이용할 수 있다

Page 35: UNIX Unbounded A Beginning Approach

35

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

디렉토리 명령어디렉토리 명령어■ 디렉토리 만들기 : mkdir 명령어

▶ 사용자가 작업 중인 디렉토리 아래나 명령어의 일부분으로 지정한 어떤 디렉토리 아래에 새로운 서브 디렉토리를 만든다 .

Page 36: UNIX Unbounded A Beginning Approach

36

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

디렉토리 명령어디렉토리 명령어▶ -p 옵션

단일 명령문 라인을 이용하여 전체 디렉토리 구조를 만들 수 있다 현재 디렉토리 밑에 다른 디렉토리 레벨을 만들기 위해서 사용하는 옵션

Page 37: UNIX Unbounded A Beginning Approach

37

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

디렉토리 명령어디렉토리 명령어 디렉토리 없애기 : rmdir 명령어

■ 지정된 디렉토리를 삭제▶ 반드시 비어 있는 디렉토리를 삭제

서브 디렉토리를 포함하지 않는 경우 . 또는 .. 으로 된 디렉토리가 아닌 파일을 포함하고 있지 않은 디렉토리

Page 38: UNIX Unbounded A Beginning Approach

38

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

디렉토리 명령어디렉토리 명령어 디렉토리 나열하기 : ls 명령어

■ 지정한 디렉토리의 내용을 보여주기 위해서 사용▶ 파일명의 알파벳 순서로 정보를 나열▶ 목록에는 파일 이름과 디렉토리 이름을 포함

Page 39: UNIX Unbounded A Beginning Approach

39

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

디렉토리 명령어디렉토리 명령어■ ls 명령어의 옵션

▶ 사용자 파일에 대한 더 많은 정보를 얻거나 다른 형식으로 된 목록을 원할 때 사용

옵션 동작

-a 숨겨진 파일을 포함해서 모든 파일들을 나열

-C 다양한 컬럼 형식으로 파일을 나열 , 엔트리들은 컬럼에 따라 분류

-F 파일이 디렉토리이면 , 각 파일명 다음에 / 를 붙이고 실행 파이이면 * 를 붙인다

-l 파일에 관한 상세한 정보를 보여주는 긴 형식으로 파일을 나열

-m 컴마 (,) 에 의해 나누어진 페이지에 따라 파일을 나열

-p 파일이 디렉토리명이면 각 파일명 뒤에 / 를 붙이고 , 실행 파일의 이름이면 * 를 붙인다

-r 알파벳 순서 반대로 파일을 나열

-R 순환적으로 서브디렉토리의 내용을 나열

-s 블록에 들어 있는 각 파일의 크기를 보여준다 .

-x 복수의 컬럼 형식으로 파일을 나열엔트리들은 라인으로 분류

Page 40: UNIX Unbounded A Beginning Approach

40

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

디렉토리 명령어디렉토리 명령어■ ls –l 옵션에 의한 명령어 실행 결과

Page 41: UNIX Unbounded A Beginning Approach

41

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

디렉토리 명령어디렉토리 명령어■ ls 명령어 출력 유형

▶ 1열 10 개의 문자로 구성되어 있다 . 첫번째 문자는 파일의 유형을 나타내고 나머지는 접근

모드를 나타낸다 .▶ 2열

숫자로 된 링크의 개수를 나타낸다 .▶ 3열

소유자의 이름을 나타낸다 .▶ 4열

그룹의 이름을 나타낸다 .▶ 5열

파일의 크기를 바이트로 나타낸다▶ 6열

파일의 수정한 최근 날짜와 시간을 보여준다 .▶ 7열

파일의 이름을 보여준다 .

Page 42: UNIX Unbounded A Beginning Approach

42

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

디렉토리 명령어디렉토리 명령어▶ 파일 유형

- : 일반 파일을 나타낸다 d : 디렉토리 파일을 나타낸다 b : 디스크와 같은 블록 중심의 특수 파일을 나타낸다 c : 프린터와 같은 문자 중심의 특수 파일을 나타낸다

▶ 파일 접근 모드 r : 읽을 수 있는 접근 권한이 부여됨 w : 쓸 수 있는 접근 권한이 부여됨 x : 실행 권한이 부여됨 - : 접근권한이 부여되지 않음

▶ 링크의 숫자 해당 파일과 연결된 링크의 수

▶ 파일 소유자 파일의 소유자이며 , 일반적으로 파일을 만든 사용자 ID 와 같다 .

▶ 파일 그룹 시스템 관리자로부터 할당받은 사용자 ID 와 그룹 ID 를 표시한다 . 일반적으로 한 프로젝트에서 작업하고 있는 사람들은 동일한 그룹 ID 를 얻는다

▶ 파일 크기▶ 날짜와 시간▶ 파일명

Page 43: UNIX Unbounded A Beginning Approach

43

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

디렉토리 명령어디렉토리 명령어■ 보이지 않는 파일

▶ . 으로 시작하는 파일▶ . 과 .. 으로 구성된 디렉토리 엔트리

자동적으로 생성되는 엔트리 현재의 디렉토리와 한단계 상위 디렉토리를 의미

■ 다중 옵션 사용하기▶ 하나의 명령어 라인에 여러 개의 옵션을 사용할 수 있다 .

ls –alr ls –a –l –r

■ 명령어 옵션 출력하기

Page 44: UNIX Unbounded A Beginning Approach

44

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

파일 내용 화면에 출력하기파일 내용 화면에 출력하기 파일의 화면 출력 : cat 명령어

■ 파일의 출력 , 생성 , 연결을 위해서 사용

Page 45: UNIX Unbounded A Beginning Approach

45

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

파일 내용 프린팅파일 내용 프린팅 프린팅 : lp 명령어

■ 파일의 하드카피를 만들기 위해 프린터에 파일의 복사본을 보낸다

Page 46: UNIX Unbounded A Beginning Approach

46

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

파일 내용 프린팅파일 내용 프린팅■ 명령어 옵션

옵션 동작

-d 지정된 프린터에 출력한다 .

-m 프린트 요청을 완료한 후에 사용자 메일박스에 메일을 보낸다

-n 지정된 숫자만큼 파일의 복사본을 출력한다

-s 피드백 메시지를 숨긴다

-t 출력 배너 페이지에 지정된 문구를 출력한다

-w 프린터 요청을 완료한 후에 사용자 터미널에 메시지를 보낸다

Page 47: UNIX Unbounded A Beginning Approach

47

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

파일 내용 프린팅파일 내용 프린팅 프린팅 : 리눅스에서 lpr 명령어

■ 리눅스에서 사용하는 프린팅 명령어■ 파일을 지정하여 출력하기 위해서 사용

프린팅 요청 취소하기 : cancel 명령어

■ 프린터 작업에 대한 요청을 취소하기 위해 사용하는 명령어

프린터 상태 보기 : lpstat 명령어

■ 프린팅 요청에 관한 정보와 프린터 상태를 알아보기 위해 사용하는 명령어

Page 48: UNIX Unbounded A Beginning Approach

48

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

파일 삭제파일 삭제 파일 삭제 : rm 명령어

■ 파일을 삭제하기 위한 명령어

옵션 동작

-i 파일을 삭제하기 전에 확인을 묻는다

-r 지정된 디렉토리와 서브디렉토리에 있는 모든 파일을 지운다

Page 49: UNIX Unbounded A Beginning Approach

49

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

요약요약 유닉스 시스템에서의 파일 시스템 구조

디렉토리의 의미

디렉토리 명령어 이해 및 실습

파일 내용의 출력

파일 삭제

Page 50: UNIX Unbounded A Beginning Approach

50

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

질의 및 응답질의 및 응답

Page 51: UNIX Unbounded A Beginning Approach

51

Network Lab.Network Lab.

HANNAM HANNAM Univ.Univ.

유닉스 이론 및 실습

실습실습