SECTION 01. 스크립트 언어
스크립트 언어를 서버용과 클라이언트용으로 구분하여 정리하고, 각 언어별 특징을 명확히 파악해 두세요.
1.1 스크립트 언어의 개념
스크립트 언어(Script Language)는 HTML 문서 안에 프로그래밍 코드를 직접 삽입하여 사용할 수 있는 언어입니다.
핵심 특징
- 기계어로 컴파일하지 않고 별도의 번역기(인터프리터)가 소스를 분석하여 즉시 실행
- 게시판 처리, 상품 검색, 회원가입 등 데이터베이스 처리 작업에 주로 사용
스크립트 언어의 분류
| 분류 | 설명 | 대표 언어 |
|---|---|---|
| 서버용 스크립트 | 서버에서 해석 및 실행 후 결과만 클라이언트로 전송 | ASP, JSP, PHP, Python |
| 클라이언트용 스크립트 | 클라이언트의 웹 브라우저에서 해석 및 실행 | JavaScript, VBScript |
1.2 주요 스크립트 언어
| 언어 | 주요 특징 |
|---|---|
| JavaScript | 웹 페이지의 동작을 제어하는 클라이언트용 스크립트 언어. 클래스가 없고 변수 선언이 필수가 아님. 입력값 확인 용도로 많이 사용됨 |
| VBScript | 마이크로소프트가 JavaScript에 대응하여 제작한 언어. Active X를 통해 MS 애플리케이션 제어 가능 |
| ASP | 마이크로소프트가 제작한 서버 측 동적 페이지 언어. Windows 환경에서만 실행 가능 |
| JSP | Java 기반 서버용 스크립트 언어. 다양한 운영체제에서 실행 가능 |
| PHP | Linux, Unix, Windows에서 모두 사용 가능한 서버용 스크립트 언어. C, Java와 문법이 유사하여 학습하기 쉬움 |
| Python | 객체지향 기능을 지원하는 대화형 인터프리터 언어. 플랫폼 독립적이며 문법이 간결함 |
| Shell Script | UNIX/Linux 쉘에서 사용되는 명령어 조합. 선택형(if, case), 반복형(for, while, until) 제어문 사용 |
| Basic | 절차지향 대화형 인터프리터 언어. 초보자도 쉽게 사용할 수 있는 문법 구조 |
인터프리터 언어: 원시 프로그램을 한 줄씩 번역하여 즉시 실행하는 언어. 목적 프로그램을 생성하지 않음.
쉘(Shell): 사용자의 명령을 해석하여 프로그램을 호출하고 실행하는 명령 해석기.
1.3 관련 기술: XML, JSON, AJAX
| 기술 | 설명 |
|---|---|
| XML (eXtensible Markup Language) | 특수 목적의 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어. HTML의 상호 호환 문제와 SGML의 복잡함을 해결하기 위해 개발됨 |
| JSON (JavaScript Object Notation) | 속성-값 쌍(Attribute-Value Pairs)으로 이루어진 데이터 객체를 전달하기 위한 개방형 표준 포맷. 사람이 읽을 수 있는 텍스트 사용. AJAX에서 XML을 대체하여 사용됨 |
| AJAX (Asynchronous JavaScript and XML) | JavaScript 등을 이용하여 클라이언트와 서버 간에 XML 데이터를 비동기적으로 교환하며, 웹 페이지와 자유롭게 상호작용할 수 있게 하는 통신 기술 |
SECTION 02. 쉘(Shell) 명령어
UNIX/Linux 명령어는 실기 시험에서 자주 출제됩니다. 각 명령어의 기능과 사용 예시를 정확히 암기하세요.
2.1 명령어의 기본 형식
[프롬프트] 명령어 [옵션] [매개변수]
주의사항
- 프롬프트는 쉘 종류에 따라 다름 ($, %, #)
- 명령어는 대소문자를 구분하여 입력
- 명령어와 옵션 사이에는 공백 필요, 옵션 앞에는
-기호 사용 명령어 --help로 해당 명령어의 옵션 확인 가능
2.2 시스템 및 프로세스 관련 명령어
| 명령어 | 기능 | 사용 예시 |
|---|---|---|
| kill | PID(프로세스 고유 번호)로 프로세스 종료 | kill 1234 |
| killall | 프로세스 이름으로 해당 프로세스 모두 종료 | killall myprocess |
| finger | 현재 시스템에 등록된 사용자 정보 조회 | finger 또는 finger kim |
| ps | 현재 실행 중인 프로세스 표시 | ps |
| login | 사용자 ID와 비밀번호로 세션 시작 | login kim |
| logout | 쉘 접속 종료 | logout |
| passwd | 비밀번호 설정 또는 변경 | passwd |
| who | 현재 시스템에 접속 중인 사용자 표시 | who |
| fsck | 파일 시스템 검사 및 복구 | fsck /dev/sda1 |
| top | 프로세스와 메모리 사용 현황 표시 | top |
2.3 네트워크 관련 명령어
| 명령어 | 기능 | 사용 예시 |
|---|---|---|
| ping | IP 주소나 도메인으로 특정 서버의 연결 상태 확인 | ping example.com 또는 ping 192.168.0.1 |
| ifconfig | IP 주소, 서브넷 마스크, MAC 주소 등 네트워크 인터페이스 상태 표시 | ifconfig |
2.4 디렉터리 관련 명령어
| 명령어 | 기능 | 사용 예시 |
|---|---|---|
| pwd | 현재 작업 중인 디렉터리 경로 표시 | pwd |
| ls | 현재 디렉터리의 파일 목록 표시 | ls |
| mkdir | 디렉터리 생성 | mkdir mydir |
| rmdir | 디렉터리 삭제 | rmdir mydir |
| cd | 디렉터리 위치 변경 | cd mydir |
경로 표기법
| 기호 | 의미 | 사용 예시 |
|---|---|---|
. |
현재 디렉터리 | ./script.sh (현재 디렉터리의 script.sh 실행) |
.. |
상위 디렉터리 | cd .. (상위 디렉터리로 이동) |
/ |
루트 디렉터리 (최상위) | cd / (루트 디렉터리로 이동) |
• 절대 경로: /로 시작하며, 루트 디렉터리 기준 (예: /home/user/docs)
• 상대 경로: /로 시작하지 않으며, 현재 디렉터리 기준 (예: ../src/test)
2.5 파일 관련 명령어
| 명령어 | 기능 | 사용 예시 |
|---|---|---|
| cp | 파일 복사 | cp file.txt backup/file2.txt |
| rm | 파일 삭제 | rm file.txt |
| cat | 파일 내용을 화면에 표시 | cat file.txt |
| mv | 파일 이동 | mv file.txt dir/file2.txt |
| find | 파일 검색 | find file.txt |
| chmod | 파일/디렉터리 접근 권한 변경 | chmod u=rwx file.txt |
| chown | 파일 소유자와 그룹 변경 | chown member1 file.txt |
| tar | 파일 압축 또는 해제 | tar cvf archive.tar / tar xvf archive.tar |
| head | 파일 앞부분 출력 (기본 10행) | head -n 5 file.txt |
2.6 chmod 명령어 상세
문자 모드
| 구분 | 기호 | 의미 |
|---|---|---|
| 사용자 | u | user (소유자) |
| g | group (그룹) | |
| o | other (다른 사용자) | |
| a | all (모두) | |
| 설정기호 | + | 권한 추가 |
| - | 권한 삭제 | |
| = | 권한 부여 | |
| 권한 | r | read (읽기) |
| w | write (쓰기) | |
| x | execute (실행) |
숫자 모드 (8진법)
권한을 이진수로 변환 후 8진수로 표현합니다.
예) rwx rwx r-x
111 111 101 → 이진수
7 7 5 → 8진수
chmod 775 script.sh
UNIX 파일 권한 표기 예시
-rwxrwxr-x
│ │ │ └── 기타 사용자: 읽기, 실행 가능
│ │ └───── 그룹: 읽기, 쓰기, 실행 가능
│ └──────── 소유자: 읽기, 쓰기, 실행 가능
└────────── 파일 구분 (- : 파일, d : 디렉터리)
2.7 tar 명령어 옵션
| 옵션 | 기능 |
|---|---|
| f | 압축/해제 시 기본 사용 옵션 |
| c | 압축할 때 사용 |
| x | 압축 해제할 때 사용 |
| v | 처리 과정 상세 표시 |
연습문제
UNIX에서 파일 내용을 화면에 출력하는 명령어를 작성하시오.
현재 작업 디렉터리가 /Users/dev/workspace/project일 때, 상대 경로 ../../data/files의 절대 경로를 작성하시오.
다음 기능에 해당하는 Linux 명령어를 쉼표(,)로 구분하여 작성하시오.
② 현재 작업 중인 디렉터리 경로를 표시하는 명령어
JavaScript 등을 이용하여 클라이언트와 서버 간 비동기 방식으로 데이터를 교환하며, 페이지 전체를 새로고침하지 않고 일부 영역만 업데이트하는 기술을 작성하시오.
테이프 아카이브에서 유래되어, UNIX/Linux에서 여러 파일을 하나로 묶거나 묶인 파일을 풀 때 사용하는 명령어를 작성하시오.
다음 기능에 해당하는 Linux 명령어를 쉼표(,)로 구분하여 작성하시오.
② IP 주소나 도메인 이름으로 특정 서버의 연결 상태를 확인한다.
속성-값 쌍(Attribute-Value Pairs) 형태로 구조적 데이터를 표현하며, 사람이 읽을 수 있는 텍스트를 사용하는 데이터 교환용 개방형 표준 포맷을 작성하시오.
영어 ‘List’에서 파생된 단어로, Linux에서 현재 디렉터리의 파일 목록을 표시하는 명령어를 작성하시오.
다음 내용에 해당하는 UNIX 명령문을 쉼표(,)로 구분하여 작성하시오.
② project라는 디렉터리를 생성한다.
현재 작업 디렉터리가 /home/user/documents일 때, 상대 경로 ../../pictures의 절대 경로를 작성하시오.
다음 기능에 해당하는 Linux 명령어를 쉼표(,)로 구분하여 작성하시오.
② 시스템의 프로세스와 메모리 사용 현황을 표시하는 명령어
③ 현재 시스템에 등록되어 있는 사용자 정보를 조회하는 명령어
UNIX에서 현재 디렉터리의 source.txt 파일을 backup 디렉터리로 이동하면서 파일명을 target.txt로 변경하는 명령문을 작성하시오.
소유자(user)에게 report.txt 파일의 읽기, 쓰기, 실행 권한을 추가하는 명령어를 작성하시오.
다음 UNIX 명령어와 기능의 연결이 올바른 것을 쉼표(,)로 구분하여 작성하시오. (예: ①-ⓐ, ②-ⓑ)
② kill
③ cat
④ fsck
ⓐ 파일 내용을 화면에 표시한다.
ⓑ 현재 디렉터리의 파일 목록을 표시한다.
ⓒ 파일 시스템을 검사하고 보수한다.
ⓓ PID를 이용하여 프로세스를 종료한다.
UNIX에서 시스템의 프로세스와 메모리 사용 현황을 실시간으로 표시하는 명령어를 작성하시오.
Linux에서 config.txt 파일에 대해 다음 조건의 권한을 부여하는 명령문을 8진법 숫자를 이용하여 작성하시오.
• 그룹(group): 읽기, 실행 권한
• 기타 사용자(other): 읽기, 실행 권한
핵심 요약
스크립트 언어
- 개념: HTML 문서에 삽입하여 사용하는 언어, 인터프리터로 즉시 실행
- 서버용: ASP, JSP, PHP, Python
- 클라이언트용: JavaScript, VBScript
- 관련 기술: XML(마크업 언어), JSON(데이터 교환 포맷), AJAX(비동기 통신)
쉘 명령어
- 시스템/프로세스: kill, killall, ps, top, who, finger, passwd, fsck
- 네트워크: ping, ifconfig
- 디렉터리: pwd, ls, mkdir, rmdir, cd
- 파일: cp, rm, mv, cat, find, chmod, chown, tar, head
- 경로: . (현재), .. (상위), / (루트)
- chmod 권한: r(4), w(2), x(1) → 8진수로 표현 (예: 755)