440 likes | 665 Views
UNIX Unbounded A Beginning Approach. 이 성 현 Home : nimilx2.hannam.ac.kr E-mail : shlee@netwk.hannam.ac.kr Tel : +82-42-629-7559. 목차. 파일 읽기 쉘 재지정 개선된 파일 출력 파일명 치환 추가적인 파일 조작 명령어 UNIX 내부 구조 : 파일 시스템 요약. 질의 및 응답 실습 예제. 파일 읽기. Vi 편집기의 읽기 전용 버전 : view 명령어 큰 사이즈의 파일을 읽는데 유용한 읽기 도구
E N D
UNIX UnboundedA Beginning Approach 이 성 현 Home : nimilx2.hannam.ac.kr E-mail : shlee@netwk.hannam.ac.kr Tel : +82-42-629-7559
목차 • 파일 읽기 • 쉘 재지정 • 개선된 파일 출력 • 파일명 치환 • 추가적인 파일 조작 명령어 • UNIX 내부 구조 : 파일 시스템 • 요약 • 질의 및 응답 • 실습 예제
파일 읽기 • Vi 편집기의 읽기 전용 버전 : view 명령어 • 큰 사이즈의 파일을 읽는데 유용한 읽기 도구 • 파일이 변경된 상태에서 저장되는 것을 방지
파일 읽기 • 파일 읽기 : pg 명령어 • 한번에 한 화면씩 파일의 내용을 보기를 원하는 경우에 사용 • 프롬프트(:) 기호는 화면의 하단에 위치하며, 파일의 나머지 부분에 대해 계속 보기를 원할 경우 [Enter] 키를 누른다. • 파일의 끝에 EOF(End of File) 메시지 출력
파일 읽기 • 파일 읽기 : pg 명령어 • 명령어 옵션
쉘 재지정 • 쉘 재지정 • 쉘이 제공하는 가장 유용한 기능중의 하나 • 명령어의 입력 또는 출력 방향을 변경 • 제공하는 기능 • 프로세스의 출력을 파일로 저장 • 프로세스의 입력으로 파일을 사용 • 출력 재지정 • 프로세스의 출력을 파일로 저장 • 이후에 저장한 파일을 편집하거나 또는 다른 프로세스에 대한 입력으로 사용할 수 있다 • 명력 형식 • command > filename • command >> filename
쉘 재지정 • 출력 재지정 • ls > mydir.list
쉘 재지정 • 출력 재지정 • date >> mydate.list
쉘 재지정 • 입력 재지정 • 지정한 파일을 다른 명령어의 입력으로 전달하거나 프로그램을 실행할 수 있는 기능을 제공 • > 기호를 입력 재지정 연산자로 인식 • 명령 형식 • command < filename • command << filename
쉘 재지정 • cat 명령어 다시 살펴보기 • 파일 생성 • cat 명령어와 출력 재지정 문자 > 기호를 함께 이용하여 파일을 생성 • 작은 파일을 신속하게 생성하는데 유용
쉘 재지정 • cat 명령어 다시 살펴보기 • 파일 복사하기 • cat 명령어와 출력 재지정 연산자를 함께 사용하여 파일을 복사
개선된 파일 출력 • pr 명령어 • lp 명령어는 파일의 형식과 외형을 변화시키지 않음 • 파일 형태를 개선시킬 수 있는 명령어가 요구됨 • pr 명령어 • 프린터 또는 화면에 출력하기 전에 파일의 형식을 지정하기 위한 명령어
개선된 파일 출력 • pr 명령어 • 명령어 옵션
파일 조작 명령어 • 파일 복사 : cp 명령어 • 파일의 복사본을 생성하고자 할 때 사용하는 명령어 • 일반적으로 하나의 디렉토리에서 다른 디렉토리로 파일을 복사할 때 cp 명령어를 사용
파일 조작 명령어 • 파일 복사 : cp 명령어 • 명령어 옵션
파일 조작 명령어 • 파일 이동 : mv 명령어 • 파일을 한 장소에서 다른 장소로 이동하거나 파일이나 디렉토리의 이름을 변경하는 경우 사용
파일 조작 명령어 • 파일 이동 : mv 명령어 • 명령어 옵션
파일 조작 명령어 • 파일 연결하기 : ln 명령어 • 기존의 파일과 새로운 파일명 사이의 연결을 생성하는 경우에 사용 • 기존의 파일에 대해 추가적인 이름을 생성하여, 다른 이름으로 같은 파일을 참조할 수 있는 것을 의미 • 동일한 파일에 대해 다른 파일명만을 생성
파일 조작 명령어 • 파일 연결하기 : ln 명령어 • 중요 개념 • cp, mv, ln 명령어는 모두 파일명에 영향을 주고 비슷한 방법으로 사용 • 실질적인 연산으로는 매우 다른 기능을 수행하며 다른 용도로 사용 • cp : 새로운 파일을 생성 • mv : 파일명을 변경하거나 파일을 한곳에서 다른 곳으로 이동 • ln : 존재하는 파일에 대하여 추가적인 이름을 생성
파일 조작 명령어 • 단어 수 세기 : wc 명령어 • 하나의 파일 또는 지정한 파일의 목록에서 줄, 단어 또는 문자의 개수를 알아보기 위한 경우에 사용
파일 조작 명령어 • 단어 수 세기 : wc 명령어 • 명령어 옵션
파일명 치환 • 파일명 치환? • 특정 패턴에 일치하는 파일만을 선택할 수 있는 기능을 제공 • 패턴들은 쉘에서 특별한 의미를 가지고 있는 어떤 문자들을 사용하여 지정한 파일명에 의해 생성 • 메타 문자 • 특별한 의미를 가지고 있는 특수 문자 • 메타 문자의 종류
파일명 치환 • ? 메타 문자 • ?는 파일명을 치환하는 경우, 쉘이 치환의 조건을 단일 문자로 해석하여, 지정한 ?의 형태에 따라 치환이 확장되는 특수 문자
파일명 치환 • * 메타문자 • *는 쉘이 파일 이름에서 어떠한 수의 대체 문자로 해석하고 이에 따라 파일 이름을 확정
파일명 치환 • [] 메타문자 • 지정한 패턴 문자열의 시작 부분과 끝 부분을 감싸며, 지정한 파일명의 패턴에 따라 파일명을 확장 • []안에 !표를 사용하면 지정한 문자열을 포함하지 않은 패턴으로 파일명이 확장
파일명 치환 • 메타 문자와 숨겨진 파일 • 파일명이 .으로 시작하는 숨겨진 파일을 출력할 때 사용 • .* 파일명을 뒤에 오는 문자에 대해, 문자의 형태나 수에 관계없이 지정한 패턴에 일치하는 파일명을 출력하는 파일명으로 확장
추가적인 파일 관리 명령어 • 파일 찾기 : find 명령어 • 계층적인 디렉토리에서 주어진 검색어와 일치하는 파일을 찾는 경우 • 다른 유닉스 명령어와 사용법에 차이가 있음
추가적인 파일 관리 명령어 • 파일 찾기 : find 명령어 • 실행 과정 • 찾고자 하는 경로명을 지정하면, 지정된 디렉토리의 하위 디렉토리까지 반복적으로 검색을 실행 • 이러한 검색 방식을 재귀적인 검색(recursive search)라고 한다. • 명령어 옵션
추가적인 파일 관리 명령어 • 파일의 처음 부분 출력하기 : head 명령어 • 지정한 파일의 처음 부분을 출력 • 파일의 처음 몇 라인을 빠르게 검사하는 경우에 사용
추가적인 파일 관리 명령어 • 파일의 처음 부분 출력하기 : head 명령어 • 명령어 옵션
추가적인 파일 관리 명령어 • 파일의 끝 부분 출력하기 : tail 명령어 • 지정한 파일의 끝 부분을 출력 • 파일의 끝 부분을 빠르게 검사하는 경우에 사용
추가적인 파일 관리 명령어 • 파일의 끝 부분 출력하기 : tail 명령어 • 명령어 옵션
추가적인 파일 관리 명령어 • 파일의 부분 선택하기 : cut 명령어 • 파일에서 지정한 컬럼 또는 항목들에 대해 “잘라내기”를 원하는 경우에 사용
추가적인 파일 관리 명령어 • 파일의 부분 선택하기 : cut 명령어 • 명령어 옵션
추가적인 파일 관리 명령어 • 파일 결합하기 : paste 명령어 • 파일을 줄 단위로 결합하거나 적어도 두 개의 파일을 결합하여 새로운 파일을 생성
추가적인 파일 관리 명령어 • 파일 결합하기 : paste 명령어 • 명령어 옵션
추가적인 파일 관리 명령어 • 또 다른 페이지 내용 보기 : more 명령어 • 사용자의 편의를 위해서 내용 보기를 제공하는 명령어 • pg 명령어처럼 more 명령어를 사용하여 파일의 내용을 볼 수 있음
추가적인 파일 관리 명령어 • 또 다른 페이지 내용 보기 : more 명령어 • 명령어 옵션
UNIX 내부 구조 : 파일 시스템 • 유닉스 디스크 구조 • 유닉스 시스템에서 디스크는 표준 블록 장치이다. • 네 부분으로 구분 • 부트(boot) 블록 : 시스템 부팅시에 동작하는 특수한 프로그램인 부팅 프로그램을 포함 • 슈퍼(super) 블록 : 디스트에 대한 정보를 포함 • 디스크 블록의 총 개수 • 사용하지 않는 블록의 개수 • 바이트 블록 크기 • 사용한 블록의 개수 • i-note list 블록 : i-node의 목록을 관리 • 파일 접근 권한 • 소유자 그룹 아이디 • 파일 연결 개수 • 마지막 수정 시간 • 마지막 접근 시간 • 일반 파일과 디렉토리 파일의 블록 위치 • 특수 파일을 위한 장치 식별 번호 • 파일과 디렉토리 블록 : 루트 디렉토리를 포함하는 블록의 위치를 포함 • 유닉스 디렉토리는 파일명 목록과 연관된 i-node 번호를 포함
UNIX 내부 구조 : 파일 시스템 • 함께 구성하기 • 유닉스 디렉토리 i-node의 구성 과정 • 로그인 : 사용자의 홈 디렉토리를 찾은 뒤 루트 디렉토리를 읽어 홈 디렉토리의 i-node 번호를 저장 • cd 명령어 : 디렉토리 변경시 새로운 디렉토리의 i-node 번호를 기존 번호와 대체 • vi, cat 명령어 : 지정한 파일명을 위해 검색하고 읽어 들임, i-node 리스트에는 각 파일명과 연결된 i-node들이 존재, 이들 i-node를 찾아 기존 번호와 대체
요약 • 파일 시스템에서 i-node의 의미 • 파일 관리 명령어들의 이해 • 쉘 재지정