본문 바로가기
방통대

방통대 UNIX시스템 기출문제 + 수강후기 + 요약정리

by 꾸주니어 2025. 1. 12.

2017 ~ 2019 기출문제

 

 

 
 

정답표

2017. 2학기 기말시험 정답표(전학년).hwp
0.06MB
2018 2학기 기말시험 정답표(전학년).hwp
0.07MB
2019 2학기 기말시험 정답표(전학년_최종).hwp
0.07MB

 

 

 

 

2024년 2학기 간단 수강후기

UNIX 특성상 명령어를 외우는 게 대부분인 과목이다.

계산을 해서 푼다거나 하는 부분은 거의 없다.

수업 때는 VMware에 Rocky Linux를 설치해서 진행했고,

중간과제도 본인의 Linux에 교수님이 내주시는 과제를 정확히 해내고 스샷을 찍어서 내면 된다. (쉬운 난이도)

컴퓨터과학과 졸업을 하는 과정에서 당연히 거쳐갈, 굳이 피할 필요 없는 과목이지 않을까 싶다.

단지 다른과목보단 암기적인 부분이 있다는 것만 알고 수강하면 될 듯하다.

 

 

 

신라면 120g, 20개 동원참치 라이트 스탠다드 참치, 85g, 12개 오뚜기 진라면 컵 매운맛 65g, 12개 짜파게티 140g, 5개 육개장 사발면 86g, 12개

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

 

 

요점정리
  • 디렉토리

 

/bin   기본적인 명령의 실행 파일을 포함

/sbin  부팅 과정이나 시스템 관리에 필요한 명령의 실행 파일을 포함

 

/boot 커널 이미지와 부트 로더의 설정 파일을 포함

/dev  장치를 접근하는데 사용되는 ‘디바이스 파일’이 위치 함

/etc  시스템의 중요한 환경 설정 파일이 위치함

/home  사용자 계정의 홈 디렉터리가 만들어지는 디렉터리

/lib  프로그램들이 사용하는 시스템 라이브러리 파일이 위치함

/media  이동식 저장 장치가 마운트될 때 마운트 지점을 제공하는 디렉터리

/proc   커널이 사용하는 가상의 파일 시스템

/root   root 계정의 홈 디렉터리

/usr     사용자 디렉터리

/var    가변 자료 저장 디렉터리

 

리눅스에서 기본으로 주어지는 셸 : Bourne Again Shell (Bash)

 

 

  • 명령어

type : 명령이 어떻게 해석되는지 알려주는 명령

history :  이전에 수행했던 명령 행의 목록을 불러 옴

ls : 파일과 서브 디렉터리 목록을 나열

file : 파일의 종류를 알려주는 명령

pwd : 절대 경로 방식으로 현재 작업 디렉터리를 알려주는 명령

cd : 작업 디렉터리 이동

mkdir :  디렉터리 생성

rmdif :  디렉터리 삭제 ( 빈 폴더만 삭제 됨. 전부 삭제 하려면 rm -r dir 또는 rm -rf dir

cp : 파일이나 디렉터리 카피.  파일이 있다면 덮어쓰기 됨

mv : 이름을 변경 또는 이동.  파일이라면 덮어쓰기 폴더라면 하위 폴더로 이동

rm :  파일 삭제.  기본적으로 파일만 삭제 함

 

  • 권한

소유자(u), 그룹(g), 기타(o)

읽기(r)  , 쓰기(w),  실행(x)

 

디렉터리 ls 하려면 적어도 읽기와 실행 권한 있어야 함.

 

chmod :

읽기 4, 쓰기 2, 실행 1

chmod -R 755 dir1   : 디렉토리1에 포함된 모든 파일과 하위폴더를 사용자는 전부, 그룹과 기타는 읽기와 실행

chmod u+x file1 : 파일 1에 사용자에게 실행 권한 추가

chmod u=rwx,g=rx,o=x file2   사용자는 모두, 그룹은 읽기와 실행, 기타는 실행

[ugoa][+-=][rwx]  a는 all 이고 아무것도 없다면 u,g,o 생략하면 all 임

 

chown : 소유자, 소유 그룹을 변경하는 명령어

ln : 파일을 다른 이름으로 연결(link)

 

  • 파일확인

more : 파일의 내용을 화면 단위로 출력

less : more의 개선 버전 위아래로 스크롤 가능

head :  파일의 맨 앞 부분을 출력(기본 10 라인)

tail :  파일의 마지막 부분을 출력(기본 10 라인)

cat : 하나의 파일 또는 여러 파일을 연결시켜 화면에 출력

 

 

0 : 시스템을 종료하고 전원을 끔

1 : 단일 사용자 모드로 복구 셸을 설정

2~4 : 그래픽이 없는 다중 사용자 시스템을 설정

5 : 그래픽 다중 사용자 시스템을 설정

6 : 시스템을 종료하고 재부팅 함

 

  • 사용자

사용자 계정은 유일한 UID를 가짐 root(UID=0)

su(Switch User)

su -l kdhong: 새로운 로그인 상태로 진행

su kdhong : 현재 위치에서 사용자만 변경

su , su -l 로 사용자를 지정 안하면 root로 변경

su -c ‘command’  : 한번의 명령을 root 계정으로 실행

sudo command : root 또는 다른 사용자가 되어 명령을 실행 (/etc/sudoers 파일에서 누가/어디서/어떤/권한 설정함)

 

useradd : 사용자 계정 생성

usermod : 사용자 계정 수정

 

계정과 관련 된 설정 확인

/etc/login.defs        

/etc/default/useradd

/etc/passwd

/etc/shadow

/etc/skel

 

$ ls $(which passwd) 하면

/etc/passwd는 계정 정보가 들어간 곳,

/usr/bin/passwd는 명령어가 있는 곳이라서 이 경로가 출력 됨

 

locate : 문자열 패턴을 포함하는 파일, 디렉토리 출력

find / -name  :  정확하게 일치하는 파일, 디렉토리 찾기

find / -iname  :  name과 같으나 대소문자 구분 안함.

 

(u)mount -a -t iso9660   etc/fstab  안에 iso9660 형식 파일을 모두 (언)마운트

( -a 모두,  -t 타입)

 

inode - 이름을 제외한 모든 정보

 

mkfs - 파일 시스템 생성

fdisk - 하드 디스크 파티션을 관리하는 대화식 유틸리티

LVM - 물리 볼륨/논리 볼륨/볼륨 그룹을 관리하기 위한 도구

fsck - 파일시스템 체크, 수정

df - 파일시스템의 공간 사용정보 보여줌

du - 디렉토리(또는 특정파일)의 디스크 사용량을 보여줌

 

  • 프로세스 

포어그라운드 : 앞에서 실행 

Ctrl + z : 백그라운드로 전환되고 멈춤, 지연상태가 됨

Ctrl + c : 강제 중지

백그라운드 : 뒤에서 실행  (명령 끝에 &넣어서 실행)

키보드 입력을 할 수 없음.  입력 없이 키기만 하면 되는 것들 주로 사용

터미널 종료하면 모든 백그라운드 종료 됨.

jobs -l 백그라운드 프로세스 상태 점검

 

SetUID  소유자 실행권한에 x가 아닌 s 가 있으면 실행시키는 사람이 소유자 권한이 됨.

vi 편집기로 편집은 못함 

ex) -rws-r—rw-

설정 : chmod 4755 file 또는 chmod u+s file

해제 : chmod 0755 file 또는 chmod u-s file

 

ps : 프로세스의 현재 상태 확인

EUID가 현재 사용자의 UID와 같은 프로세스를 보여 줌.

PID 프로세스 ID.  PPID 는 부모 프로세스 ID

top : 모니터링과 관리

kill : 프로세스에 시그널을 보내는 명령

(기본적으로 TERM(Terminate)이기 때문에 죽이는 것임.)

nice, renice : -20 숫자 낮을 수록 우선순위, 19 높을 수록 낮은 우선순위 조절

nohub : 터미널 끝나도 백그라운드명령이 스스로 일을 마칠때까지 수행하도록.

rpm은 프로세스 관리 명령 아님

 

XFS :  대용량, 저널링 지원

ext2 : 저널링 미지원, 100mb 이하 권장

ext4 : 범용

vfat : 윈도우 호환, usb에서 주로 사용

 

 

cron : 주기적으로 자동 수행되는 작업 수행 ( 1분 간격으로 crontab 파일 검사해서 수행)

/etc/crontab , /etc/cron.d/  디렉터리에서 관리

1회성 명령을 하려면 at 넣으면 됨

일반사용자 : crontab -e 

관리자는 다 할 수 있고, vi 편집 가능

 

  • 소프트웨어 관리

패키지 

데비안 : DEB

레드햇 : RPM

 

저수준인 RPM은 선행패키지 없으면 의존성 문제 생김

YUM 또는 DNF는 의존성 문제 알아서 함

RPM -> YUP -> YUM -> DNF 순으로 고급

 

  • 압축

gzip : 리눅스 기본, GNU 프로젝트에서 수정한 버전  file.gz 형식

-number : 압축률. 1~9 까지 숫자가 작을수록 빠르고 덜 압축, 기본은 6

 

bzip2 : gzip 보다 더 압축하고, 느림   .bz2 형식

 

tar : 여러 파일을 묶어 아카이브 파일로 묶거나 추출

tar cvf foo.tar *c  : 현재 디렉토리에서 .c로 끝나는 모든파일을 foo.tar로 묶고 진행 결과 출력. (묶은 파일은 그대로 남아있음)

 

xvf 해제

cvf 아카이브만들기

czf 압축한 아카이브 만들기

xvf 압축해제하면서 파일보기

 

  • 쉘 스크립트   .sh

쉘 : 명령어 해석기, 스크립트 언어, 프로그래밍 언어

함수, 변수, 반복문, 조건문 사용할 수 있음.

쉘 스크립트 : 셀 명령어의 집합으로 이루어진 실행 가능한 프로그램(텍스트 파일)

 

  • 실행방법  (뒤에 seoul busan 등을 붙이면 그것은 $1, $2 인수로 사용 됨)
  • bash script_file

서브 쉘 생성해서 실행함

  • bash -x script_file 하면 디버깅모드로 스크립트를 출력하면서 실행 됨.
  • ./script_file    

첫 행에 #! 다음에 해석기를 지정 함

서브 쉘 생성해서 실행함

  • source script_file  또는 . script_file

현재 사용중인 쉘에서 실행 함

 

  • 변수사용

$0은 스크립트 파일이름, $1,$2 …는 인수

$a=3  변수값 지정(빈칸 있으면 안 됨. 기본적으로 문자열로 취급 됨)

$echo $a 형식으로 출력

$echo는 기본으로 출력 후 줄바꿈.  -n을 해주면 줄바꿈 하지 않음

 

$a=3 $b=4 일때

$echo a+b           =    “a+b”

$echo $a+$b       =   “3+4”

$echo $[$a+$b]써도되고  $[a+b] 써도 됨    =   “7”

$echo “문자열일 땐 쌍따옴표.”

 

 

 

$?  종료 상태값 확인   (0이면 정상으로 실행,종료된 것)

$# 인수의 갯수

read 명령

대화식으로 실행함

변수개수보다 입력 개수가 많으면 마지막 변수에 다 들어감

변수개수보다 입력 개수가 적으면 빈 문자열이 됨

 

  • 함수사용

함수 안에서 date 는 현재날짜 출력

위에서 얘기한 실행방법중 3번째, 현재 사용중인 쉘에서 실행해야

함수이름 whoson()을  바로 명령어에 $whoson  으로 실행할 수 있음.

 

.bashrc 는 실행될 때 기본으로 켜지기에, 필요한 것들은 미리 넣어두면 됨.

 

  • if 명령

if .. then … elif … then.. else… fi  :  앞부터 참이면 then 실행하고 종료함.

test 명령 : test expression 또는 [ expression ]   대괄호 사이에 띄어쓰기 있어야 함.

 

 

 

 

** 정수비교에서는 비교,등호 쓰지 않음.

-gt 정수1이 정수2보다 큰가

-ge 정수1이 정수2보다 크거나 같은가 

 

 

  • case 명령

case word in [pattern[….   esac  (거꾸로 뒤집은 문자는 종료를 뜻함 )

;; 는 종료임

 

  • for 명령

{A..D} 형식은 A부터 D 까지 순차적으로. {1..100}

** $touch file{1..100} 하면 1부터 100까지 100개의 파일 만들어짐.

 

변경사항의 추적, 파일 비교, 작업 취소가 가능

네트워크 끊겨도 가능

동시작업

선택적 커밋 가능

 

HEAD : 현재 작업중인 브랜치

체크아웃 : 현재 브랜치의 과거 커밋 또는 다른 브랜치의 최신 커밋으로 이동시키는 것 폴더 깨끗해야함.

git diff : 차이 비교

fast-forward 병합 : 두 브랜치 합침 (HEAD -> 현재브런치) , 새로운 커밋 발생 안함

3-way : 한 커밋에서 갈라져 나온 두 브랜치 병합, 새로운 커밋 생김

충돌 : 두 브랜치에서 같은 파일 같은 위치를 동시 수정했을 때, 개발자가 편집기로 직접 수정해야 함.

 

스태시 : 마지막 커밋이후 변경된 작업 영역과 스테이지 영역을 임시 저장하는 기능

리셋 : 버전을 과거로 완전히 되돌리는 것 , 삭제 커밋 생김

리버트 : 최근 커밋부터 차례로 이전 커밋을 취소할 사용  폴더 깨끗해야함. 기존 커밋 삭제 안함

 

 

강의순서

 

01강. 리눅스 소개

02강. 리눅스 설치

03강. 셸 사용하기

04강. 파일과 디렉토리

05강. 리눅스 시작과 종료

06강. 사용자 관리

07강. 텍스트 편집

08강. 파일 시스템 관리

09강. 프로세스 관리

10강. 소프트웨어 관리

11강. 셸 스크립트(1)

12강. 셸 스크립트(2)

13강. 버전 관리와 깃

14강. 브랜치의 생성과 병합

15강. 스태시와 버전 되돌리기

 

 

방통대 학우님들에게 도움이 되었으면 하는 마음에 기출자료와 후기 남깁니다.

문제시 삭제 하겠습니다.

 

방통대 컴퓨터과학과 학우님들 화이팅 ~

 

 

 

 

방통대 컴퓨터과학과 1학기, 2학기 과목추천, 수강후기 2024년

들어가기 전 저는 비전공자이고 3학년으로 편입했습니다. 국비지원 공부해서 Java 유지보수 취직.2024년 1월 근무 시작하면서 방통대 편입 시작했습니다.  그 정도 수준과 주관이 들어갔다는 점

highneck.tistory.com

 

신라면 120g, 20개 동원참치 라이트 스탠다드 참치, 85g, 12개 오뚜기 진라면 컵 매운맛 65g, 12개 짜파게티 140g, 5개 육개장 사발면 86g, 12개

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."