2017 ~ 2019 기출문제
정답표
2024년 2학기 간단 수강후기
UNIX 특성상 명령어를 외우는 게 대부분인 과목이다.
계산을 해서 푼다거나 하는 부분은 거의 없다.
수업 때는 VMware에 Rocky Linux를 설치해서 진행했고,
중간과제도 본인의 Linux에 교수님이 내주시는 과제를 정확히 해내고 스샷을 찍어서 내면 된다. (쉬운 난이도)
컴퓨터과학과 졸업을 하는 과정에서 당연히 거쳐갈, 굳이 피할 필요 없는 과목이지 않을까 싶다.
단지 다른과목보단 암기적인 부분이 있다는 것만 알고 수강하면 될 듯하다.
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
요점정리
- 디렉토리
/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
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
'방통대' 카테고리의 다른 글
방통대 컴퓨터과학과 1학기, 2학기 과목추천, 수강후기 2024년 (10) | 2025.01.15 |
---|---|
방통대 JSP프로그래밍 기출문제 + 수강후기 + 요약정리 (5) | 2025.01.12 |
방통대 프로그래밍언어론 기출문제 + 수강후기 + 요약정리 (0) | 2025.01.12 |
방통대 컴퓨터구조 기출문제 + 수강후기 + 요약정리 (3) | 2025.01.12 |
방통대 시뮬레이션 기출문제 + 수강후기 + 요약정리 (0) | 2025.01.08 |