unix unbounded a beginning approach
DESCRIPTION
UNIX Unbounded A Beginning Approach. 이 성 현 Home : nimilx2.hannam.ac.kr E-mail : [email protected] Tel : +82-42-629-7559. 목차. 파일 읽기 쉘 재지정 개선된 파일 출력 파일명 치환 추가적인 파일 조작 명령어 UNIX 내부 구조 : 파일 시스템 요약. 질의 및 응답 실습 예제. 파일 읽기. Vi 편집기의 읽기 전용 버전 : view 명령어 큰 사이즈의 파일을 읽는데 유용한 읽기 도구 - PowerPoint PPT PresentationTRANSCRIPT
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] : +82-42-629-7559Tel : +82-42-629-7559
2
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
목차목차
파일 읽기
쉘 재지정
개선된 파일 출력
파일명 치환
추가적인 파일 조작 명령어
UNIX 내부 구조 : 파일 시스템
요약
질의 및 응답
실습 예제
3
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
파일 읽기파일 읽기 Vi 편집기의 읽기 전용 버전 : view 명령어
■ 큰 사이즈의 파일을 읽는데 유용한 읽기 도구■ 파일이 변경된 상태에서 저장되는 것을 방지
4
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
파일 읽기파일 읽기 파일 읽기 : pg 명령어
■ 한번에 한 화면씩 파일의 내용을 보기를 원하는 경우에 사용■ 프롬프트 (:) 기호는 화면의 하단에 위치하며 , 파일의 나머지 부분에 대해 계속
보기를 원할 경우 [Enter] 키를 누른다 .■ 파일의 끝에 EOF(End of File) 메시지 출력
5
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
파일 읽기파일 읽기 파일 읽기 : pg 명령어
■ 명령어 옵션
옵션 동작
-n 한 글자로 된 명령에 대해 [Enter] 키를 누르지 않고 실행되도록 명령
-s 메시지와 프롬프트를 역상으로 출력
-num 한 화면에 출력되는 줄의 수를 정수 num 으로 설정 , 기본은 23 줄
-p str 프롬프트를 : 에서 str 로 지정한 문자열로 변경
+line-num Line-num 으로 지정한 줄부터 파일의 내용을 출력
+/pattern 지정한 패턴이 처음 있는 부분을 포함한 줄부터 출력
6
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
쉘 재지정쉘 재지정 쉘 재지정
■ 쉘이 제공하는 가장 유용한 기능중의 하나■ 명령어의 입력 또는 출력 방향을 변경■ 제공하는 기능
▶ 프로세스의 출력을 파일로 저장▶ 프로세스의 입력으로 파일을 사용
출력 재지정
■ 프로세스의 출력을 파일로 저장■ 이후에 저장한 파일을 편집하거나 또는 다른 프로세스에 대한 입력으로 사용할 수
있다■ 명력 형식
▶ command > filename▶ command >> filename
7
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
쉘 재지정쉘 재지정 출력 재지정
■ ls > mydir.list
8
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
쉘 재지정쉘 재지정 출력 재지정
■ date >> mydate.list
9
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
쉘 재지정쉘 재지정 입력 재지정
■ 지정한 파일을 다른 명령어의 입력으로 전달하거나 프로그램을 실행할 수 있는 기능을 제공
■ > 기호를 입력 재지정 연산자로 인식■ 명령 형식
▶ command < filename▶ command << filename
10
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
쉘 재지정쉘 재지정 cat 명령어 다시 살펴보기
■ 파일 생성▶ cat 명령어와 출력 재지정 문자 > 기호를 함께 이용하여 파일을 생성▶ 작은 파일을 신속하게 생성하는데 유용
11
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
쉘 재지정쉘 재지정 cat 명령어 다시 살펴보기
■ 파일 복사하기▶ cat 명령어와 출력 재지정 연산자를 함께 사용하여 파일을 복사
12
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
개선된 파일 출력개선된 파일 출력 pr 명령어
■ lp 명령어는 파일의 형식과 외형을 변화시키지 않음■ 파일 형태를 개선시킬 수 있는 명령어가 요구됨■ pr 명령어
▶ 프린터 또는 화면에 출력하기 전에 파일의 형식을 지정하기 위한 명령어
13
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
개선된 파일 출력개선된 파일 출력 pr 명령어
■ 명령어 옵션
옵션 동작
+page 출력이 시작되는 페이지를 지정 , 기본은 1 줄
-columns 지정된 컬럼 수로 화면에 출력 , 기본은 1 칸
-a 페이지를 교차해서 출력
-d 두 줄 간격으로 화면에 출력
-h string 지정한 str 문자열로 표제의 파일명 부분을 치환
-l number 지정한 수만큼의 줄을 한 페이지에 출력 , 기본은 66 줄
-m 다중 컬럼으로 지정한 파일을 출력
-p 각 페이지의 끝에서 터미널 벨소리와 함께 잠시 중단
-s charater 지정한 단일 문자로 컬럼들을 분리 , 기본은 [Tab]
-t 다섯 줄의 표제와 다섯 줄의 바닥글을 생략
-w number 지정한 수의 문자를 줄의 폭으로 설정 , 기본은 72 칸
14
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
파일 조작 명령어파일 조작 명령어 파일 복사 : cp 명령어
■ 파일의 복사본을 생성하고자 할 때 사용하는 명령어■ 일반적으로 하나의 디렉토리에서 다른 디렉토리로 파일을 복사할 때 cp
명령어를 사용
15
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
파일 조작 명령어파일 조작 명령어 파일 복사 : cp 명령어
■ 명령어 옵션옵션 동작
-b 파일이 이미 존재하면 지정된 파일의 백업을 만듦
-i 대상 파일이 이미 존재하면 사용자에게 물어봄
-r 디렉토리에서 새로운 디렉토리로 복사
16
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
파일 조작 명령어파일 조작 명령어 파일 이동 : mv 명령어
■ 파일을 한 장소에서 다른 장소로 이동하거나 파일이나 디렉토리의 이름을 변경하는 경우 사용
17
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
파일 조작 명령어파일 조작 명령어 파일 이동 : mv 명령어
■ 명령어 옵션
옵션 동작
-b 파일이 이미 존재하면 지정된 파일의 백업을 만듦
-i 목적 파일이 이미 존재하면 사용자에게 물어봄
-f 파일이 이미 존재하면 확인을 묻지 않고 목적 파일을 삭제
-v 실행된 결과를 출력
18
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
파일 조작 명령어파일 조작 명령어 파일 연결하기 : ln 명령어
■ 기존의 파일과 새로운 파일명 사이의 연결을 생성하는 경우에 사용■ 기존의 파일에 대해 추가적인 이름을 생성하여 , 다른 이름으로 같은 파일을
참조할 수 있는 것을 의미■ 동일한 파일에 대해 다른 파일명만을 생성
19
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
파일 조작 명령어파일 조작 명령어 파일 연결하기 : ln 명령어
■ 중요 개념▶ cp, mv, ln 명령어는 모두 파일명에 영향을 주고 비슷한 방법으로 사용▶ 실질적인 연산으로는 매우 다른 기능을 수행하며 다른 용도로 사용▶ cp : 새로운 파일을 생성▶ mv : 파일명을 변경하거나 파일을 한곳에서 다른 곳으로 이동▶ ln : 존재하는 파일에 대하여 추가적인 이름을 생성
20
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
파일 조작 명령어파일 조작 명령어 단어 수 세기 : wc 명령어
■ 하나의 파일 또는 지정한 파일의 목록에서 줄 , 단어 또는 문자의 개수를 알아보기 위한 경우에 사용
21
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
파일 조작 명령어파일 조작 명령어 단어 수 세기 : wc 명령어
■ 명령어 옵션
옵션 동작
-l 줄의 수를 계산
-w 단어의 수를 계산
-c 문자의 수를 계산
22
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
파일명 치환파일명 치환 파일명 치환 ?
■ 특정 패턴에 일치하는 파일만을 선택할 수 있는 기능을 제공■ 패턴들은 쉘에서 특별한 의미를 가지고 있는 어떤 문자들을 사용하여 지정한
파일명에 의해 생성■ 메타 문자
▶ 특별한 의미를 가지고 있는 특수 문자▶ 메타 문자의 종류
옵션 동작
? 임의의 단일 문자를 치환
* 공백 문자열을 포함한 임의의 문자열을 치환
[list] List 에 지정된 임의의 단어를 치환
[!list] List 에 지정되지 않은 임의의 단어를 치환
23
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
파일명 치환파일명 치환 ? 메타 문자
■ ? 는 파일명을 치환하는 경우 , 쉘이 치환의 조건을 단일 문자로 해석하여 , 지정한 ?의 형태에 따라 치환이 확장되는 특수 문자
24
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
파일명 치환파일명 치환 * 메타문자
■ * 는 쉘이 파일 이름에서 어떠한 수의 대체 문자로 해석하고 이에 따라 파일 이름을 확정
25
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
파일명 치환파일명 치환 [] 메타문자
■ 지정한 패턴 문자열의 시작 부분과 끝 부분을 감싸며 , 지정한 파일명의 패턴에 따라 파일명을 확장
■ [] 안에 ! 표를 사용하면 지정한 문자열을 포함하지 않은 패턴으로 파일명이 확장
26
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
파일명 치환파일명 치환 메타 문자와 숨겨진 파일
■ 파일명이 . 으로 시작하는 숨겨진 파일을 출력할 때 사용■ .* 파일명을 뒤에 오는 문자에 대해 , 문자의 형태나 수에 관계없이 지정한
패턴에 일치하는 파일명을 출력하는 파일명으로 확장
27
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
추가적인 파일 관리 명령어추가적인 파일 관리 명령어 파일 찾기 : find 명령어
■ 계층적인 디렉토리에서 주어진 검색어와 일치하는 파일을 찾는 경우■ 다른 유닉스 명령어와 사용법에 차이가 있음
28
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
추가적인 파일 관리 명령어추가적인 파일 관리 명령어 파일 찾기 : find 명령어
■ 실행 과정▶ 찾고자 하는 경로명을 지정하면 , 지정된 디렉토리의 하위 디렉토리까지 반복적으로 검색을 실행▶ 이러한 검색 방식을 재귀적인 검색 (recursive search) 라고 한다 .
■ 명령어 옵션
옵션 동작
-name filename 주어진 파일명을 가진 파일을 찾음
-size +-n 크기가 n 인 파일을 찾음
-type 파일 유형 지정한 접근 권한을 가지는 파일을 찾음
-atime +-n N 일전에 접근한 파일을 찾음
-mtime +-n N 일 전에 수정한 파일을 찾음
-newer filename
파일명보다 최근에 수정한 파일을 찾음
29
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
추가적인 파일 관리 명령어추가적인 파일 관리 명령어 파일의 처음 부분 출력하기 : head 명령어
■ 지정한 파일의 처음 부분을 출력■ 파일의 처음 몇 라인을 빠르게 검사하는 경우에 사용
30
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
추가적인 파일 관리 명령어추가적인 파일 관리 명령어 파일의 처음 부분 출력하기 : head 명령어
■ 명령어 옵션
옵션 동작
-l 지정된 라인 수만큼 출력 , 기본 옵션
-c 지정된 문자 수 만큼 출력
31
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
추가적인 파일 관리 명령어추가적인 파일 관리 명령어 파일의 끝 부분 출력하기 : tail 명령어
■ 지정한 파일의 끝 부분을 출력■ 파일의 끝 부분을 빠르게 검사하는 경우에 사용
32
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
추가적인 파일 관리 명령어추가적인 파일 관리 명령어 파일의 끝 부분 출력하기 : tail 명령어
■ 명령어 옵션
옵션 동작
-l 지정된 라인 수만큼 출력 , 기본 옵션
-c 지정된 문자 수 만큼 출력
33
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
추가적인 파일 관리 명령어추가적인 파일 관리 명령어 파일의 부분 선택하기 : cut 명령어
■ 파일에서 지정한 컬럼 또는 항목들에 대해 “잘라내기”를 원하는 경우에 사용
34
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
추가적인 파일 관리 명령어추가적인 파일 관리 명령어 파일의 부분 선택하기 : cut 명령어
■ 명령어 옵션옵션 동작
-f 필드의 위치를 지정
-c 문자의 위치를 지정
-d 필드 구분 문자 지정
35
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
추가적인 파일 관리 명령어추가적인 파일 관리 명령어 파일 결합하기 : paste 명령어
■ 파일을 줄 단위로 결합하거나 적어도 두 개의 파일을 결합하여 새로운 파일을 생성
36
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
추가적인 파일 관리 명령어추가적인 파일 관리 명령어 파일 결합하기 : paste 명령어
■ 명령어 옵션옵션 동작
-d 필드 구분 문자 지정
37
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
추가적인 파일 관리 명령어추가적인 파일 관리 명령어 또 다른 페이지 내용 보기 : more 명령어
■ 사용자의 편의를 위해서 내용 보기를 제공하는 명령어■ pg 명령어처럼 more 명령어를 사용하여 파일의 내용을 볼 수 있음
38
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
추가적인 파일 관리 명령어추가적인 파일 관리 명령어 또 다른 페이지 내용 보기 : more 명령어
■ 명령어 옵션옵션 동작
-line 지정된 라인 수만큼 화면에 출력
+line-number
Line-number 에서 시작
+/pattern Pattern 을 포함하는 라인 위의 두 라인에서 시작
-c 스크롤 대신 각 페이지를 출력하기 전에 스크린을 지움
-d [Hit space to continue, Del to abort] 프롬프트 출력
39
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
UNIX UNIX 내부 구조 내부 구조 : : 파일 시스템파일 시스템 유닉스 디스크 구조
■ 유닉스 시스템에서 디스크는 표준 블록 장치이다 .■ 네 부분으로 구분
▶ 부트 (boot) 블록 : 시스템 부팅시에 동작하는 특수한 프로그램인 부팅 프로그램을 포함▶ 슈퍼 (super) 블록 : 디스트에 대한 정보를 포함
디스크 블록의 총 개수 사용하지 않는 블록의 개수 바이트 블록 크기 사용한 블록의 개수
▶ i-note list 블록 : i-node 의 목록을 관리 파일 접근 권한 소유자 그룹 아이디 파일 연결 개수 마지막 수정 시간 마지막 접근 시간 일반 파일과 디렉토리 파일의 블록 위치 특수 파일을 위한 장치 식별 번호
▶ 파일과 디렉토리 블록 : 루트 디렉토리를 포함하는 블록의 위치를 포함 유닉스 디렉토리는 파일명 목록과 연관된 i-node 번호를 포함
40
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
UNIX UNIX 내부 구조 내부 구조 : : 파일 시스템파일 시스템 함께 구성하기
■ 유닉스 디렉토리 i-node 의 구성 과정▶ 로그인 : 사용자의 홈 디렉토리를 찾은 뒤 루트 디렉토리를 읽어 홈 디렉토리의 i-node 번호를
저장▶ cd 명령어 : 디렉토리 변경시 새로운 디렉토리의 i-node 번호를 기존 번호와 대체▶ vi, cat 명령어 : 지정한 파일명을 위해 검색하고 읽어 들임 , i-node 리스트에는 각 파일명과
연결된 i-node 들이 존재 , 이들 i-node 를 찾아 기존 번호와 대체
41
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
요약요약 파일 시스템에서 i-node 의 의미
파일 관리 명령어들의 이해
쉘 재지정
42
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
질의 및 응답질의 및 응답
43
Network Lab.Network Lab.
HANNAM HANNAM Univ.Univ.
유닉스 이론 및 실습
실습실습