48
GNU/Linux 파일과 디렉터리 GNU/Linux 파일과 디렉터리 Seo, Doo-Ok Clickseo.com [email protected]

03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

GNU/Linux

파일과 디렉터리

GNU/Linux

파일과 디렉터리

Seo, Doo-Ok

[email protected]

Page 2: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

목 차

UNIX 파일 시스템

파일과 디렉터리

소유권과 보호

데이터 압축

2

Page 3: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

UNIX 파일 시스템 (1/9)

파일(File)

UNIX 파일은 임의의 정보를 포함하는 0 또는 그 이상의 Bytes

집합체• UNIX의 파일 구조는 트리 형태의 계층적인 형태

– 파일명과 디스크에서 물리적인 파일 위치를 연결하는 디렉터리 항목을 가지는 파일

파일 형태 : 일반 파일, 디렉터리 파일, 디바이스(특수) 파일 또는 링크

3

[clickseo@localhost clickseo]$ ls -lai17531398 drwxr-xr-x 2 clickseo clickseo 4096 2019-12-31 23:04 .17530891 drwxr-xr-x 4 clickseo clickseo 4096 2019-12-31 22:59 ..17531399 -rw-r—r-- 1 clickseo clickseo 5 2019-12-31 24:00 data17531400 -rwxr-xr-x 1 clickseo clickseo 4072 2019-12-31 23:04 test

i-node 블록 번호

Page 4: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

UNIX 파일 시스템 (2/9)

디렉터리(Directory)

구조적으로 디렉터리는 일련의 디렉터리 항(entry)들로 구성• 각 항은 디렉터리에 포함되어 있는 하나의 파일 또는 부 디렉터리

• 각 디렉터리 항은 파일의 i-node 번호와 파일 이름을 저장하는 문자 필드로 구성

• 각 디렉터리는 ‘.’(점) 과 ‘..’(이중점)은 모든 디렉터리에 항상 존재

4

clickseo

book clickseo

chap2chap1 chap3 khkd mw\0kcilc401

o

.

\0

k \0ob260

\0.247

.123

디렉터리 clickseo

“UNIX 디렉터리는 단지 파일에 불과하다.”

Page 5: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

UNIX 파일 시스템 (3/9)

계층 구조

5

프린터 터미널

디렉터리 파일 일반 파일 디바이스 파일

/

dev usr homeetcbin unix

ls mount lp ttym0bin ucb test seo

doc mbox

... ... ... ... ...

...

...

...

Page 6: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

UNIX 파일 시스템 (4/9)

디스크 파티션과 트리 시스템

6

디스크 장치

제1파티션(root 파일 시스템)

제2파티션(swap 영역)

제3파티션(usr 파일 시스템)

제4파티션(home 파일 시스템)

...

<논리 디스크><디바이스 파일 이름>

/dev/dsk/0s1

/dev/dsk/0s2(dev/swap)

/dev/dsk/0s3

/dev/dsk/0s4

Boot Block

Super Block

i-node Block

Data Block

파일 시스템

Page 7: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

UNIX 파일 시스템 (5/9)

디스크 파티션과 트리 시스템

Boot Block• 시스템을 실행하는 프로그램이 있는 부분

• boot loader 또는 bootstrap : 시스템을 실행하는 프로그램

Super Block• 파일 시스템을 관리하는 정보 저장

• i-node 개수, 디스크 블록 개수, 가용 디스크 블록들의 리스트 시작 등

i-node Block

Data Block

7

[ UNIX 파일 시스템의 구조 ]

Boot Block Super Block i-node Block Data Block

Page 8: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

UNIX 파일 시스템 (6/9)

디스크 파티션과 트리 시스템

i-node 블록과 데이터 블록

8

접근 권한

소유자

파일 크기

시간

...

데이터 블록의

포인터

데이터 블록데이터 블록

데이터 블록데이터 블록

i-node 블록에 저장 데이터 블록에 저장

[clickseo@localhost clickseo]$ ls -l data-rw-r—r-- 1 clickseo clickseo 5 2019-12-31 23:00 data

Page 9: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

UNIX 파일 시스템 (7/9)

디스크 파티션과 트리 시스템

System V 계열의 i-node 구조

9

Page 10: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

UNIX 파일 시스템 (8/9)

디스크 파티션과 트리 시스템

/usr/ast/mbox 파일을 찾는 절차

10

Page 11: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

UNIX 파일 시스템 (9/9)

절대 경로와 상대 경로

경로명 : 파일 시스템 내에서 파일의 위치를 의미

11

절대 경로/home/apple

현재 디렉터리에 상관없이항상 동일한 대상을 가리킴

상대 경로./bin

현재 디렉터리에 따라가리키는 대상이 달라짐

현재 디렉터리가 banana현재 디렉터리가 root

Page 12: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

파일과 디렉터리

UNIX 파일 시스템

파일과 디렉터리

로그인과 접속 종료

디렉터리 관련 명령어

파일 관련 명령어

소유권과 보호

파일 압축

12

Page 13: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

로그인과 접속종료

시스템 로그인 : login

리눅스는 다중사용자 환경을 제공

접속 종료 : exit, logout

시스템 사용 후 더 이상 사용하지 않고 시스템을 빠져 나오는 것• exit, logout 또는 Ctrl + D 를 누른다.

• exit : 쉘 안에서 시동된 쉘도 포함하여 “현재의 쉘을 종료” 한다는 의미

• logout : 로그인한 쉘 안에서만 유효한 명령

13

[clickseo@localhost clickseo]$ exit

[clickseo@localhost clickseo]$ logout

Page 14: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

디렉터리 관련 명령어 (1/2)

현재 작업 중인 디렉터리 확인 : pwd

print working directory• UNIX 파일 시스템은 루트 디렉터리(/)부터 시작, 트리 모양 구조

• 시스템 계층 구조 상에서 자신이 어디에 있는지를 알려준다.

디렉터리 생성 : mkdir

make a directory

빈 디렉터리 삭제 : rmdir

remove directory

14

일반 형식 mkdir [옵션] 디렉터리명

주요 옵션-p 지정된 디렉터리에서 중간의 디렉터리도 같이 생성

-m 새로운 디렉터리의 허가모드를 지정된 접근 권한으로 설정하여 생성

Page 15: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

디렉터리 관련 명령어 (2/2)

디렉터리 변경 : cd

change directory• 절대경로 : 루트(/) 디렉터리부터 시작하는 경로명 지정

• 상대경로 : 현재 자신이 위치한 디렉터리부터 시작하는 경로명 지정

사용 예

15

구 분 설 명

cd 사용자의 홈 디렉터리로 변경

cd .. 한 단계 상위 디렉터리로 변경

cd ../.. 두 단계 상위 디렉터리로 변경

cd / 시스템의 루트 디렉터리로 변경

cd /home/clickseo 지정된 절대경로명으로 변경

cd ~user 지정된 사용자명의 홈 디렉터리로 변경

Page 16: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

16

파일과 디렉터리

파일 관련 명령어

Page 17: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

파일 관련 명령어 (1/7)

파일 및 디렉터리 목록 보기 : ls

list directory contents

17

일반 형식 ls [옵션] [인자]

주요 옵션

-l파일과 디렉터리 이름 외에도파일 크기, 날짜/시간, 허가권, 소유권, 그룹 등의 정보를 보여준다.

-L 현재 디렉터리의 파일과 디렉터리명만 열거한다.

-a 모든 파일을 열거한다(숨겨진 파일도 포함).

-t 마지막으로 수정된 시간 순서대로 보여준다.

-r 목록을 역순으로 보여준다.

-F

끝 부분에 항목의 유형(파일의 형식을 표시해 준다.디렉터리 /소켓 =심볼릭 링크 @실행 가능 파일 *

Page 18: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

파일 관련 명령어 (2/7)

파일 생성 : touch

새로운 빈 파일의 생성

• touch 명령어를 통하여 파일의 접근 시간이나 갱신 시간도 수정이 가능하다.

18

일반 형식 touch [옵션] 파일명

주요 옵션 -t파일의 접근 시간이나 갱신 시간을 수정(년월일시간분.초 형태로 시간을 적어서 파일의 시간을 수정한다.)

Page 19: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

파일 관련 명령어 (3/7)

파일 생성 및 내용 보기 : cat

파일 내용 출력, 새로운 파일 생성 그리고 파일 이동 및 추가 기능• 원래의 의미는 여러 개의 파일을 하나의 파일로 합치는 명령

• 화면 출력에 더욱 많이 사용되는 명령

19

일반 형식 cat [옵션] 파일명

주요 옵션

-n 각 줄에 줄 번호를 붙여준다.

-b 빈 라인에는 번호를 붙이지 않고 출력한다.

-e 각 줄의 끝에 $ 기호를 보여준다.

-s 여러 개의 빈 라인을 하나로 출력한다.

Redirection : 기호 ‘>’ 와 ‘>>’출력이나 입력의 방향을 지정하는 방향지시자의 의미로 사용이 된다.

‘>’ 기호 : 무조건 새로운 파일을 생성한다.

‘>>’ 기호 : 기존의 파일에 새로운 내용 추가한다.

Page 20: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

파일 관련 명령어 (4/7)

파일 복사 : cp

copy a file• 한 파일의 내용을 다른 파일에 복사한다.

20

일반 형식 cp [옵션] [복사할 파일명] [대상 파일명]

주요 옵션

-a 원본 파일의 속성, 링크, 정보들을 유지하면서 복사한다.

-b (Backup) 이미 파일이 존재할 경우 백업 본을 만들고 복사한다.

-f (Force) 기존 파일을 강제로 삭제하고 복사한다.

-i (Interactive) 덮어쓰기 전에 여부를 묻는다.

-r(Recursive) 디렉터리를 순환적으로 복사한다.

(서브 디렉터리도 모든 내용과 함께 복사한다.)

-u 대상 파일보다 파일이 새로운 것일 때 복사

Page 21: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

파일 관련 명령어 (5/7)

파일 삭제 : rm

remove a file

21

일반 형식 rm [옵션] 파일명

주요 옵션

-i (Interactive) 파일을 삭제하기 전에 사용자의 확인을 요구한다.

-r, -R (Recursive) 하위 디렉터리와 그 안의 파일까지 재귀적으로 모두 삭제한다.

-f (Force) 사용자에게 확인하는 메시지 없이 지정한 파일을 모두 삭제한다.

-v (Verbose) 각각의 파일을 지우는 정보를 자세하게 보여준다.

rm –rf다수의 파일이 존재하고 있는 디렉터리를 한번에 삭제

-f 옵션 : 파일의 개수와 관계없이 강제로 삭제

-r 옵션 : 하위 디렉터리와 파일까지 재귀적으로 모두 삭제

디렉터리 삭제 명령어 rmdir 은 항상 비어 있는 디렉터리만을 삭제한다.

Page 22: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

파일 관련 명령어 (6/7)

파일 또는 디렉터리 이름 변경 및 이동 : mv

move a file

22

일반 형식 mv [옵션] 파일 및 디렉터리명

주요 옵션

-b (Backup) 기존 파일이 이미 있어 백업 파일을 만든다.

-i (Interactive) 기존 파일을 덮어쓸 것인지 질문을 한다.

-f(Force) 기존에 동일한 이름의 파일이 있는 경우

사용자에게 알려주지 않고 강제적으로 파일을 이동한다.

-u (Upgrade) 대상 파일보다 원본 파일이 최신 것일 때 업그레이드한다.

-v (Verbose) 파일을 옮기는 과정을 자세하게 보여준다.

Page 23: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

파일 관련 명령어 (7/7)

파일 내용 보기 : more, less

주어진 파일의 내용을 화면 단위로 출력한다.

파일 내용 보기 : head, tail

파일의 시작 부분과 끝 부분을 보여준다.

23

일반 형식more [옵션] [+pattern] 파일명

less [옵션] [+pattern] 파일명

주요 옵션

-c 내용을 보여주기 전에 화면을 깨끗이 지운다.

-lines 한 화면에 보여줄 줄 수를 지정한다.

-d계속하기 위한 프롬프트 출력

스페이스나 ‘q’ 키를 누르라는 프롬프트를 출력한다.

[+줄 번호] 지정한 줄 번호부터 내용을 출력한다.

Page 24: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

소유권과 보호

UNIX 파일 시스템

파일과 디렉터리

소유권과 보호

권한 설정

SetUID, SetGID

데이터 압축

24

Page 25: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

소유권과 보호 (1/2)

UNIX 파일 시스템

파일 접근을 위하여 UNIX는 각 파일에 대해 사용권한을 설정한다.• 파일과 디렉터리를 사용할 수 있는 사용자 범위를 제한

• 사용 범위 제한을 통하여 발생할지도 모르는 사용자 실수를 보호해 준다.

사용 권한 및 사용자

25

종 류 의 미

사용권한

r Read 지정된 파일의 읽기 권한

w Write 지정된 파일의 쓰기 권한

x eXecute 지정된 파일의 실행 권한(명령어로서 사용 가능)

사용자

u User 파일의 소유자(Owner)

g Group 파일의 그룹(사용자는 특정 그룹에 속한다.)

o Other 파일의 소유자와 그룹을 제외한 모든 사용자

a All 현재 시스템에 사용자 계정을 가진 모든 사용자(Public)

Page 26: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

소유권과 보호 (2/2)

파일 및 디렉터리 권한

접근 권한 및 소유권 등 세부 정보 표시

26

문자 항목 유형

첫번째

d 디렉터리

- 일반 파일

b 블록 유형의 특수 파일

c 문자 유형의 특수 파일

l 심볼릭 링크

s 소켓

두번째

r (Read) 읽기 권한

w (Write) 쓰기 권한

x (eXecute) 실행 권한

- 접근 불가

Page 27: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

권한 설정 (1/6)

접근 권한 변경 : chmod

change file modes• 파일 또는 디렉터리의 접근권한을 변경

27

일반 형식chmod [옵션] [기호 모드] 파일 및 디렉터리명

chmod [옵션] [8진수 모드] 파일 및 디렉터리명

주요 옵션

-i, -f(Force) 강제로 수행한다.

(변경이 되지 않더라도 오류 메시지를 보여주지 않는다.)

-R(Recursive) 디렉터리 구조를 따라 내려가면서

서브 디렉터리의 모드도 순환적으로 모드를 변경한다.

Page 28: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

권한 설정 (2/6)

접근 권한 변경 : 기호 모드

기호 모드(Symbolic mode)

28

옵션 설 명

사용자

u (User) 사용자

g (Group) 사용자가 속한 그룹

o (Other user) 기타 사용자

a (All user) 모든 경우의 사용자

허가여부

+ 허가 첨가

- 허가 삭제

= 명시된 특정 권한만을 할당하고 나머지는 제거

허가종류

r (Read) 읽기 권한

w (Write) 쓰기 권한

x (eXecute) 실행 권한

chmod [ugoa] [+ - =] [rwx] 파일 및 디렉터리명

Page 29: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

권한 설정 (3/6)

접근 권한 변경 : 8진수 모드

8진수 모드 : 절대 모드(Absolute mode)

29

문자 허가권 값 (8진수)

r (Read) 읽기 권한 4

w (Write) 쓰기 권한 2

x (eXecute) 실행 권한 1

문자 허가권 값 (8진수)

--- 허가권 없음 0

r-- 읽기만 가능 4

rw- 읽기, 쓰기 가능 6

rwx 읽기, 쓰기, 실행 가능 7

r-x 읽기, 실행 가능 5

--x 실행만 가능 1

chmod [8진수 표기] 파일 및 디렉터리명

Page 30: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

권한 설정 (4/6)

파일 소유자 변경 : chown

change ownership• UNIX 시스템은 파일을 작성하면 그 사용자를 파일의 소유자로 자동으로 지정한다.

• 파일의 소유자 변경은 root 나 파일의 소유자만이 할 수 있다.

30

일반 형식 chown [옵션] user [ . group] 파일명

주요 옵션-f

(Force) 강제로 수행한다.

변경이 되지 않더라도 오류 메시지를 보여주지 않는다.

-R (Recursive) 디렉터리 구조를 따라 내려가면서 순환적으로 수행한다.

Page 31: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

권한 설정 (5/6)

파일 그룹명 변경 : chgrp

change group

31

일반 형식 chgrp [옵션] group 파일명

주요 옵션-f

(Force) 강제로 수행한다.

변경이 되지 않더라도 오류 메시지를 보여주지 않는다.

-R (Recursive) 디렉터리 구조를 따라 내려가면서 순환적으로 수행한다.

Page 32: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

권한 설정 (6/6)

자동 사용권한 부여 : umask

user mask

새로이 만들어지는 파일에 대한 파일 권한을 제한하는 기능• 쉘의 기본적인 umask 값 : 8진수 0022

• umask 값 설정 비트들은 요청된 허가 설정비트들과 mask 된다.

파일과 디렉터리 기본 권한 설정• 디렉터리 : 실행권한이 필수적이기 때문에 실행권한을 부여한다(777).

• 파일 : 실행권한이 중요하지 않기 때문에 실행권한을 제외하고 지정한다(666).

32

일반 형식umask [-S] 모드

umask 8진수 값

Page 33: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

33

소유권과 보호

SetUID, SetGID

Page 34: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

SetUID

SetUID

프로그램을 실행시킨 사용자의 권한이 아닌 프로그램 파일 소유자

권한으로 실행된다.• SetUID 설정 : 지정할 허가권 값의 앞에 4 를 붙인다.

passwd 명령 : SetUID 적용 예

• passwd 명령을 사용해서 패스워드를 설정하면, 패스워드에 대한 암호화나 해시 된

값이 /etc/shadow 에 저장된다.

34

[root@localhost /root] # chmod 4755 /bin/ls

[root@localhost root]# ls -l /usr/bin/passwd-rwsr-xr-x 1 root root 59640 12월 31 2019 /usr/bin/passwd[root@localhost root]# ls -l /etc/passwd[root@localhost root]# ls -l /etc/shadow

Page 35: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

SetGID

SetGID

프로그램을 실행시킨 사용자의 권한이 아닌 프로그램 파일 그룹의

권한으로 실행된다.• SetGID 설정 : 지정할 허가권 값의 앞에 2 를 붙인다.

35

[root@localhost /root] # chmod 2755 /bin/ls

Page 36: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

Sticky bit

Sticky bit

스티키 비트는 디렉터리에만 주어지는 권한• 스티키 비트가 부여된 디렉터리에 있는 파일은 접근 권한과 상관없이 파일의

소유자와 관리자만이 파일을 삭제할 수 있다

/tmp 디렉터리

36

drwxrwxrwt 14 root root 4096 12월 31 23:597 tmp

Page 37: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

데이터 압축

UNIX 파일 시스템

파일과 디렉터리

소유권과 보호

데이터 압축

파일 압축 및 풀기

파일 묶음

37

Page 38: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

파일 압축 및 풀기 (1/7)

compress

유닉스 초기 배포판에 주로 사용되었던 압축 프로그램• LZW 압축 알고리즘 기반의 UNIX 쉘 압축 프로그램

• 압축 파일 확장자 : .Z

– uncompress 유틸리티는 compress 유틸리티를 사용하여 파일을 압축한 후 파일을 원래

상태로 복원한다.

38

일반 형식 compress [옵션] 파일명

주요 옵션 -d(Decompress) 압축 풀기

uncompress 파일명

Page 39: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

파일 압축 및 풀기 (2/7)

gzip : gzip.org

GNU zip• 파일 압축 및 해제에 사용되는 파일 형식 및 데이터 압축 프로그램

– 초기 UNIX 시스템에서 쓰이던 압축 프로그램을 대체하기 위한 자유 소프트웨어

• 압축 파일 확장자 : .gz

GNU Gzip : gnu.org/software/gzip/• GNU Gzip 릴리즈

– 1992년 10월, gzip 0.1

– 1993년 02월, gzip 1.0

– 2018년 12월, gzip 1.10

• 라이선스 : GNU GPL 3.0 (GPLv3)

• 프로그래밍 언어 : C

39

gzip GNU Savannah : savannah.gnu.org

https://git.savannah.gnu.org/cgit/gzip.git

Page 40: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

파일 압축 및 풀기 (3/7)

gzip : 명령어 형식

압축 파일 확장자 : .gz

• 여러 파일을 한의 파일로 압축하는 옵션이 없다(tar 유틸리티의 -z 옵션과 사용).

40

일반 형식 gzip [옵션] 파일명

주요 옵션

-d(Decompress) 압축 풀기

gunzip [옵션] 파일명

-l (List) 현재 압축된 파일의 내용(정보)을 보여준다.

-r (Recursive) 현재 디렉터리부터 하위 디렉터리까지 전부를 압축한다.

-t 압축 파일의 완전성 검사

-v (Verbose) 압축 진행 내용(정보)을 보여준다.

-?

‘?’ 자리에 1~9 까지의 숫자 사용(기본 값 -6 정도의 비율)

-9 : 압축 속도는 떨어지지만 압축률을 최고로 사용

-1 : 압축 속도는 빠르지만 압축률이 가장 떨어진다.

Page 41: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

파일 압축 및 풀기 (4/7)

bgzip2 : bzip.org

압축 파일 확장자 : .bz2• Burrows-Wheeler 알고리즘을 사용하는 자유-오픈소스 파일 압축 프로그램

• gzip 보다 60~70% 이상의 높은 압축률

– 압축 해제 속도는 상당히 느린 단점

bzip2 릴리즈• 1996년 07월, bgzip2 0.15 -- 2000년말, bgzip2 1.0

• 2018년 11월, bgzip2 1.0.6

라이선스 : BSD-like license

프로그래밍 언어 : C

41

bgzip2 : sourceforge.net

https://sourceforge.net/projects/bzip2/

Page 42: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

파일 압축 및 풀기 (5/7)

bgzip2 : 명령어 형식

압축 파일 확장자 : .bz2

42

일반 형식 bzip2 [옵션] 파일명

주요 옵션

-z (compress) 파일 압축

-d(Decompress) 압축 풀기

bunzip2 [옵션] 파일명

-f (Force) 기존 파일에 덮어쓴다(overwrite).

-t 파일의 안전성 검사

-v (Verbose) 압축 진행 내용(정보)을 보여준다.

-?

‘?’ 자리에 1~9 까지의 숫자 사용(기본 값 -6 정도의 비율)

-9 : 압축 속도는 떨어지지만 압축률을 최고로 사용

-1 : 압축 속도는 빠르지만 압축률이 가장 떨어진다.

Page 43: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

파일 압축 및 풀기 (6/7)

xz : tukaani.org/xz/

Tukaani 프로젝트• Slackware 기반 배포판으로 시작된 프로젝트(현재는 존재하지 않는 배포판)

• XZ 무손실 데이터 압축 프로그램 : LZMA 유틸리티에서 파생

XZ 데이터 압축 프로그램• 압축 파일 확장자 : .xz

– Burrows-Wheeler 알고리즘을 사용하는 자유-오픈소스 파일 압축 프로그램

– 2013년 02월, 리눅스 커널은 2014년도부터 bzip2 대신 ZF를 압축 도구로 발표

• xz 릴리즈– 2009년 01월, XZ 1.0.0

– 2018년 04월, XZ 5.2.4

• 라이선스 : GNU GPLv2 또는 GNU GPLv3, GNU LGPLv2.1

• 프로그래밍 언어 : C

43

XZ Git : git.tukaani.org

https://git.tukaani.org/?p=xz.git;a=summary

Page 44: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

파일 압축 및 풀기 (7/7)

xz : 명령어 형식

압축 파일 확장자 : .xz

44

일반 형식 xz [옵션] 파일명

주요 옵션

-z (compress) 파일 압축

-d (Decompress) 압축 풀기

-f (Force) 기존 파일에 덮어쓴다(overwrite).

-l (List) 현재 압축된 파일의 내용(정보)을 보여준다.

-t 파일의 안전성 검사

-v (Verbose) 압축 진행 내용(정보)을 보여준다.

-?

‘?’ 자리에 1~9 까지의 숫자 사용(기본 값 : 6)

-9 : 압축 속도는 떨어지지만 압축률을 최고로 사용

-0 : 압축 속도는 빠르지만 압축률이 가장 떨어진다.

Page 45: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

45

데이터 압축

파일 묶음 : tar

Page 46: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

파일 묶음 : tar (1/2)

tar : 파일 묶음

묶음 파일 확장자 : .tar• 여려 파일들을 하나의 큰 파일로 결합해준다(tape archive).

46

일반 형식 tar [옵션] 파일명

주요 옵션

-c (Create) 새로운 묶음 파일 생성

-x (eXtract,)묶음 파일에서 파일들을 추출

-r (append) 묶음 파일에 새로운 내용 추가

-u (Update) 묶음 파일보다 새로운 파일이면 업데이트

--delete (DELETE) 묶음 파일에서 특정 파일을 삭제

-v (Verbose) 수행 중 진행 내용(정보)을 보여준다

-t (list) 묶음 파일에 들어 있는 파일들의 목록을 보여준다.

-f 묶음 파일을 저장한 파일 이름 지정

Page 47: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

파일 묶음 : tar (2/2)

tar : 묶음과 압축

압축 프로그램과 함께 사용

47

[clickseo@localhost clickseo]$ tar –cvzf sample.tar.gz *[clickseo@localhost clickseo]$ tar –xvzf sample.tar.gz

일반 형식 tar [옵션] 파일명

주요 옵션

-Z compress를 사용해서 압축 또는 풀기

-z gzip을 사용해서 압축 또는 풀기

-j bzip2를 사용하여 압축 또는 풀기

-J xz를 사용하여 압축 또는 풀기

Page 48: 03 (Linux) (Fundamental) File DirectoryLinux)_(Fundamental)_File_Directory.pdf디렉터리관련명령어 ... • UNIX 시스템은파일을작성하면그사용자를파일의소유자로자동으로지정한다

참고문헌

48

[1] 이종원, “IT CookBook, 우분투 리눅스(개정판) : 시스템 & 네트워크”, 한빛아카데미, 2018.

[2] 백창우, “유닉스 리눅스 프로그래밍 필수 유틸리티”, 한빛미디어. 2010.

이 강의자료는 저작권법에 따라 보호받는 저작물이므로 무단 전제와 무단 복제를 금지하며,

내용의 전부 또는 일부를 이용하려면 반드시 저작권자의 서면 동의를 받아야 합니다.

Copyright © Clickseo.com. All rights reserved.