본 학습 내용은, 아이티뱅크 컴퓨터시스템 강의 및 교안을 바탕으로 합니다.
1. 파일 시스템
* 파일을 저장하는 데 쓰이는 수단
* 디스크에서 파일이 저장되는 방식
* 유닉스 파일
(1) 파일 이름
(2) i-node (index-node): 파일에 대한 기본 정보 저장
UNIX는 모든 file에 대한 정보를 i-node 구조로 생성하여 보관합니다. UNIX는 i-node를 테이블에 보관, i-node에는 파일의 소유자, id, 그룹 id, 파일의 크기, 최근 액세스 시간 등 파일 관련 모든 정보가 보관됩니다
(3) 데이터블록 : 파일의 실제 데이터가 디스크의 어느 한 곳에 저장되어 있는것
(4) 슈퍼블록: i-node와 다르게 시스템 관리자가 이용
: 디스크와 i-node, 자유 블록에 대한 정보
: 파일 시스템 마운트 시 맨 처음 읽는 정보
* 파일의 종류
(1) 일반 파일: 텍스트파일, 바이너리 파일. 데이터 저장 목적
(2) 텍스트 파일
(3) 바이너리 파일
(4) 디렉터리 파일
(5) 심볼릭링크 파일: 윈도우 시스템의 바로가기 아이콘처럼, 원본 파일을 가리키는 역할만 수행
(6) 장치(디바이스)파일: 부착된 장치들 관리목적.
- 문자 장치 특수 파일 (버퍼 x 장치로부터 한 문자씩 입출력함)
- 블록 장치 특수 파일 (버퍼 사용, 자료 전송 효율 높임, 블록 단위 입출력함)
(7) 파이프 파일
: 프로세스간 통신 수행 위해 만들어진 파일
: 한 프로그램 출력을 바로 다른 파일의 입력으로 전송
(8) 소켓 파일
: 네트워크 입출력 담당 API, 서로 다른 호스트 컴퓨터 사이 정보 전달
* 파일 종류 확인: $file 파일이름
2. 디렉터리 계층 구조
: 데이터 효율적 관리 위해 트리 구조로 시스템 구성
: 루트 디렉토리 - 최상위 디렉토리 '/'
: 작업 디렉토리, 현재 디렉토리 - '.'로 표시
: 상위 디렉토리 - '..'로 표시
: 홈 디렉토리 - '~'로 표시, 각 사용자에게 할당된 작업 영역
: /bin - 기본 실행 명령어 디렉토리
: /sbin - 시스템 운영 명령어 디렉토리
: /etc - 시스템 설정 파일 디렉토리
: /boot - 부팅 관련 파일 디렉토리
: /mnt - 입출력 장치 연결 마운트 디렉토리
: /media - 임시 마운트 디렉토리
: /usr - 응용 패키지 프로그램 설치 디렉토리
: /lib - 공유 라이브러리 디렉토리
: /home - 일반사용자 홈 디렉토리
: /dev -시스템 디바이스 장치파일 디렉토리
: /proc - 가상파일 시스템 디렉토리
: /var - 가변자료 저장 디렉토리
: /tmp - 임시파일 저장 디렉토리
: /opt - 리눅스에서 제공않는 프로그램 추가 설치용
: /lost+found - 파일 시스템을 진단 및 복구하는 fsck에 의해 사용
* 절대경로명 - 루트 디렉토리 기준
* 상대경로명 - 현재 디렉토리 기준
3. 파일시스템관련 명령어들
* 현재 디렉토리 위치 확인
$ pwd
* 현재 작업 디렉토리 변경
$ cd
* 현재 디렉토리 내에 있는 파일과 디렉토리 보여줌
$ ls
=> 숨김파일도 보여주는 -a옵션
=> 파일형식 보여주는 -F옵션 - 디렉토리(/), 심볼릭링크 파일(@), 실행가능한 파일(*) 구분 가능
=> 상세 정보는 -l 옵션
* 이동 - 디렉토리
$ mv
* 생성 - 디렉토리
$ mkdir
* 삭제 - 디렉토리
$ rmdir
* 이름 변경 - 디렉토리
$ mv
* 검색 - 디렉토리 내의 파일
$ find [검색 시작 위치 경로] [검색 조건 및 동작! ]
4. 출력 재지정, 리다이렉션
* 출력의 방향을 바꿈
* 파일 있으면 >는 기존 파일의 내용 덮어씀, >>는 기존 파일 뒤에 내용을 추가
* 아니면 파일 새로 생성!
명령 > 파일명, 명령 >> 파일명
예시
$ cat > sample.txt
Hello!
Writing a simple text file on terminal
^D
5. 오류 재지정
명령 >파일명
6. 와일드 카드
(1) * - 모든 문자 혹은 0
(2) ? - 한 문자
(3) [] - 문자열의 범위 (EX. [a-z] 는 a부터 z, [a,c]는 a 혹은 c)
(4) {} - 여러 개의 패턴 쉼표로 구분해 명시
7. 파일 내용 보기
* 파일 내용 연속적 출력
$ cat [옵션] 파일명1 파일명2 ..
예시
$ cat > sample // 파일 작성
$ cat >> sample //이미 존재하는 파일에 내용 추가
$ cat < sample // 이미 존재하는 파일 내용 출력
$ cat < sample > sample2 // 파일 복사
* 파일 내용 화면 단위 출력
$ more [옵션] [파일명]
* 파일 뒷부분 몇행 출력
$ tail [옵션] 파일명
* 파일 앞부분 몇행 출력
$ head [옵션] 파일명
* 파일 디테일 출력
: word count
$ wc
* 파일 내용 비교
$ cmp
* 정렬된 파일 행별 차례대로 비교
$ comm
* 줄 단위 비교
$ diff
* 파일복사
$ cp
* 파일 삭제
$ rm
* 파일이동
$ mv
* 파일링크 생성
$ ln [옵션] 원본파일이름 링크파일이름
* 하드링크
: 하나의 파일에 둘 이상의 이름 붙임
: 파일에 붙인 이름 = 하드링크, 이름 붙여진 파일 = 하드링크 파일
: 하드링크는 원본파일과 inode값 다름
(<=> 파일복사)
* 빈 파일 생성 혹은 파일 수정 시각 변경
$ touch
'학점은행제' 카테고리의 다른 글
[컴퓨터시스템]학습복습 - 프로세스, UNIX 사용자,시그널 (0) | 2021.05.26 |
---|---|
[컴퓨터시스템]학습복습 - UNIX편집기, 파일 및 디렉토리 권한 (0) | 2021.05.26 |
[컴퓨터시스템] 학습복습 - UNIX명령어 구조, 온라인매뉴얼 (0) | 2021.05.24 |
[네트워크] 학습복습 -LAN (0) | 2021.05.24 |
[네트워크] 학습복습 - 통신의 개념, 컴퓨터 네트워크 역사, OSI7계층 (0) | 2021.05.24 |
댓글