반응형
UNIX의 개요
UNIX의 특징
- 시분할 시스템(Time Sharing System)을 위해 설계된 운영체제로 주로 서버용 컴퓨터에서 사용
- 소스가 공개된 개방형 시스템(Open System)으로 대부분 C언어로 작성되어 있어 크기가 작고 이해하기 쉬우며 이식성이 높고 장치와 프로세스 간의 호환성이 높음
- 다중 사용자(Multi-User), 다중 작업(Multi-Tasking)을 지원하며 많은 네트워크 기능을 제공하므로 통신망(Network) 관리용 운영체제로 적합
- 계층적 트리 구조의 파일 시스템을 갖고, 파일 형식은 일반 파일, 디렉터리 파일, 특수 파일 형식 제공
- 표준 입출력을 통해 명령어들이 파이프라인으로 연결
UNIX 시스템의 구성
커널(Kernel)
- UNIX의 가장 핵심적인 부분으로, 컴퓨터가 부팅될 때 주기억장치에 적재된 후 상주하면서 실행
- 하드웨어를 보호하고, 하드웨어와 프로그램 간의 인터페이스 역할을 담당, 하드웨어와 프로세스의 보안 책임
- 테스트 스케줄링(Task Scheduling), 기억장치 관리(Memory Management), 파일 관리, 입출력 관리, 데이터 전송 및 변환 등의 기능 수행
쉘(Shell)
- 사용자로부터 명령어를 입력받아 해석하여 커널로 처리할 수 있도록 전달해주는 명령어 해석기(명령 인터프리터)
- DOS의 COMMAND.COM과 같은 기능을 수행하지만, 주기억장치에 상주하지 않고 명령어가 포함된 파일 형태로 존재하며 보조기억장치에서 교체 처리가 가능
- 공용 Shell(Bourne Shell, C Shell, Korn Shell)이나 사용자 자신이 만든 Shell도 사용 가능
- Bourne Shell: 크기가 작아 시스템 자원을 많이 소비하지 않고, 실행이 빨라 프로그래밍에 적합
- C Shell: 가장 많이 사용되는 Shell로 C언어와 유사, 기본 프롬프트: %
- Korn Shell: Bourne Shell 기반으로 C Shell의 기능을 추가한 것
유틸리티(Utility Program)
- 사용자가 작성한 응용 프로그램을 처리하는 데 사용(DOS의 외부명령어에 해당)
- 시스템 편집기(Editor), 컴파일러, 인터프리터, 디버거 등 존재
- 제공하는 시스템 편집기(Editor): vi, ed, emacs, pico, joe 등
UNIX 파일 시스템(File System)
- 계층적 트리 구조 형태로 디스크를 블록으로 분류하여 배치한 구조
- 부트 블록(Boot Block): 부팅 시 필요한 코드를 저장하고 있는 블록
- 슈퍼 블록(Super Block): 전체 파일 시스템에 대한 정보를 저장하고 있는 블록
- I-node(Index node) 블록: 파일 및 디렉터리에 대한 모든 정보를 저장하고 있어 이를 관리하기 위해 사용
- 데이터 블록: 디렉터리별로 디렉터리 엔트리와 실제 파일에 대한 데이터가 저장된 블록
UNIX 명령어
명령어의 기본 형식
[프롬프트] 명령어 [옵션] [매개변수]
- 프롬프트: 쉘(Shell)의 종류에 따라 다르게 표시($ % #)
- 명령어: 대,소문자를 구분하여 입력
- 명령어와 옵션 사이에는 반드시 공백이 존재, 옵션 지정 시 앞에 "-"을 붙혀야 함
시스템 및 프로세스 관련 명령어
명령어 | 기능 |
kill | 현재 실행중인 프로세스 종료, 편집 상태에서는 한 줄 전체 삭제 |
fork | 새로운 프로세스 생성(하위 프로세스 호출, 프로세스 복제) |
exec | 새로운 프로세스를 수행 |
finger | 시스템에 등록되어 있는 사용자 정보를 표시 |
ps | 현재 작업중인 프로세스의 상태 표시, 옵션에 a 지정 시 모든 프로세스 상태 표시 (이름, 명령어 이름, 프로세스 ID, 제어 단말기와 소유주 속성 목록, 수행된 시간 등) |
ping | 특정 시스템과 접속이 안 될 경우 네트워크 상의 문제 진단 |
login | UNIX 작업을 위해 사용자 ID와 비밀번호를 받아 사용자 확인 |
logout | UNIX 시스템에 대한 접속을 종료 ([Ctrl] + [D], exit) |
passwd | 로그인할 때 필요한 비밀번호를 설정(명령어 인수 필수 X) |
who | 로그인한 사용자에 관한 정보 표시 (단말기명, 로그인명, 로그인 일시, 사용중인 단말기 번호 등) |
mount | 파일 시스템을 마운팅/마운팅 해제 |
dump | 주기억장치의 내용을 화면이나 프린터, 디스크 등에 출력 |
디렉터리 관련 명령어
UNIX 명령어 | DOS 명령어 | 기능 |
pwd | 현재 작업중인 디렉터리 경로를 화면에 출력(명령어 인수 필수 X) | |
ls | dir | 현재 작업중인 디렉터리의 모든 파일을 표시 구분자: -(일반 파일, 이진 파일), b(블록형 특수 파일), c(문자형 특수 파일), d(디렉터리), l(링크 파일) |
mkdir | md | 디렉터리 생성 |
rmdir | rd | 디렉터리 삭제 |
cd | cd | 다른 디렉터리로 이동 |
. | . | 현재 디렉터리 |
.. | .. | 상위 디렉터리 |
/ | \ | 루트 디렉터리 |
파일 관련 명령어
UNIX 명령어 | DOS 명령어 | 기능 |
create | 파일 생성 | |
open | 파일을 사용할 수 있는 상태로 준비 | |
close | 파일 닫기 | |
cp | copy, xcopy | 파일 복사 |
rm | del | 파일 삭제 |
cat | type | 파일의 내용을 화면에 표시 |
chmod | attrib | 파일의 보호 모드를 설정(파일 사용 허가) |
chown | 소유자 변경 | |
find | 파일 찾기 | |
mv | 파일 이동 및 이름 변경 | |
wc | 파일 내 라인 수, 단어 수, 문자 수 등을 표시 | |
cmp | 두 파일을 비교하여 차이가 나는 바이트 위치와 행 번호를 표시 | |
comm | 두 파일을 비교하여 한쪽에만 있거나 양쪽에 모두 있는 라인을 찾아 표시 행 단위로 비교할 때 사용 |
|
diff | fc | 두 파일을 비교하여 차이점을 표시 |
paste | 하나의 파일 끝에 다른 파일의 내용을 추가 |
파일 및 디렉터리의 소유권
- chmod 명령어를 이용해 소유권 부여 시 UNIX 사용자는 소유자(user), 그룹(group), 기타 사용자(others)로 나누어 8진수 숫자로 지정 가능
- 각 8진수를 3자리의 2진수로 변환 시 각 자리마다 읽기(read), 쓰기(write), 실행(execute) 속성을 의미
% chmod 7(u) 5(g) 4(o) {파일명}
→ % chmod 111(rwx) 101(r-x) 100(r--) {파일명}
→ 소유자는 모든 권한, 그룹에는 쓰기&실행 권한, 기타 사용자에게는 읽기 권한 부여
8진수 | 2진수 | 권한 | 설명 |
7 | 111 | rwx | 모든 권한 부여 |
6 | 110 | rw- | 읽기, 쓰기 권한 부여 |
5 | 101 | r-x | 읽기, 실행 권한 부여 |
4 | 100 | r-- | 읽기 권한 부여 |
3 | 011 | -wx | 쓰기, 실행 권한 부여 |
2 | 010 | -w- | 쓰기 권한 부여 |
1 | 001 | --x | 실행 권한 부여 |
0 | 000 | --- | 모든 권한 해제 |
반응형
'자격증' 카테고리의 다른 글
정보처리기능사 - 14. 정보 전송 회신 (0) | 2025.03.22 |
---|---|
정보처리기능사 - 13. 정보 통신의 개요 (0) | 2025.03.22 |
정보처리기능사 - 11. WINDOWS(2/2) (0) | 2025.03.19 |
정보처리기능사 - 11. WINDOWS(1/2) (0) | 2025.03.19 |
정보처리기능사 - 10. DOS (0) | 2025.03.18 |