section1 - unit7_Linux/Git 종합퀴즈

전형호·2022년 12월 29일

✅1. 다음 중 ClL에 대한 설명으로 옳지 않은 것을 고르세요. 답:D

A.입력하는 글자와 출력되는 글자로 컴퓨터와 소통할 수 있다.
B.키보드의 입력을 확인하고 편집할 수 있는 한 줄의 공간을 프롬프트라고 한다.
C.대규모의 서버를 운용해야 하는 경우, 별도의 I/O소스 연결 없이 각각의 서버 컴퓨터를 조작할 수 있다.
D.대부분의 PC에서 유료로 이용 가능하며, WIndows가 대표적이다.

📝해설: Windows는 GUI의 대표주자라고 할 수 있습니다. 대표적인 CLI인 Linux는 대부분의 PC에서 무료로 사용함


✅2. pwd 명령어를 사용하여 현재 경로를 확인한 후, 다음 CLI 명령어를 입력했을 때 예상되는 결과로 옳지 않은 것을 고르세요. 답:C

A.codestates 폴더 안에는 2개의 폴더가 있다.
B.unit9 폴더를 삭제하기 위해서는 rm 명령어와 함께 -rf 옵션을 사용해야 한다.
C.unit8 폴더에는 CLI_1.txt, CLI_2.txt, CLI_3.txt 파일이 있다.
D.CLI_3.txt 파일의 경로는 /Users/kimcoding/Downloads/codestates/unit8 이다.

📝해설:unit8 폴더에 있는 CLI_1.txt 파일은 rm CLI_1.txt 명령으로 인해 삭제 현재 unit8 폴더에는 CLI_2.txt와 CLI_3.txt만 남아 있음


✅3. 다음 중 CLI 명령어와 설명의 연결이 올바르지 않은 것을 모두 고르세요. (정답 2개) 답:B,D

A.mkdir <folder_name>: 현재 경로에 폴더를 생성합니다.
B.cat <file_name>: 현재 경로에 파일을 생성합니다.
C.rm -rf <folder_name> : 폴더를 삭제합니다.
D.mv <file_name> <folder_name>: 파일명을 변경합니다.

📝해설: cat명렁어는 파일의 내용을 터미널에 출력, mv [폴더나 파일의 이름] [도착 폴더의 이름]을 입력할 경우 파일의 위치가 이동


✅4.ls 명령어에 대한 설명으로 옳지 않은 것을 고르세요. 답:C

A.현재 위치에 포함된 파일이나 하위 폴더의 리스트를 출력하는 명령어이다.
B.ls -a를 입력할 경우 숨어 있는 폴더나 파일을 출력한다.
C.ls -l을 입력했을 때 포맷으로 -rw-r--r--이 출력되었다면 cd 명령어로 진입이 가능하다.
D.ls -al 명령어와 ls -la 명령어의 기능적인 차이는 없다.

📝해설:-rw-r--r--이 출력되었다면 파일이라는 것을 의미, cd 명령어로 진입이 불가능


✅5.pwd 명령어를 사용하여 확인한 경로가 아래와 같을 때, codestates 폴더로 이동하기 위한 명령어로 옳지 않은 것을 고르세요. 답: B

A.cd ./../../../codestates/
B.cd .././././Downloads/codestates/
C.cd ~/Downloads/codestates/unit8/../
D.cd ./../../

📝해설: ../를 한 번 사용한 후 ./를 세 번 사용하면 현재 위치는 unit8폴더가 된다. 해당 위치에서 상위폴더로는 이동할 수 없음


✅6.Node.js에 대한 설명으로 옳지 않은 것을 모두 고르세요. (정답 2개)답:A,C

A.Node.js는 JavaScript의 유일한 런타임이다.
B.Node.js의 등장으로 JavaScript를 통해 웹 페이지를 구성하는 것을 넘어 서버를 구축하는 등, 활용 폭이 크게 확장되었다.
C.nvm은 Node.js의 패키지 매니저의 이름이다.
D.CLI 환경에서 node <file_name> 명령어를 입력하면 작성한 코드가 Node.js에서 실행된다.

📝해설: JavaScript 대표적 런타임은, 크롬,사파리, 등의 웹브라우저이다 nvm은 Node.js의 버전 관리 매니저, npm이 패키지 매니저


✅7.package.json에 대한 설명으로 옳지 않은 것을 고르세요. 답: B

A.package.json에는 해당 프로그램을 실행시키기 위한 모듈의 정보, 실행 방법, 테스트 하는 방법 등이 명시되어 있다.
B.프로젝트 코드를 전달할 때 package.json에 포함되어 있는 모듈을 모두 전달해 주어야 한다.
C.npm install 명령어로 package.json에 포함되어 있는 모듈을 설치할 수 있다.
D.코드스테이츠의 과제를 제출하기 위한 명령어는 npm run submit이다.

📝해설: 모든 모듈을 전달할 필요 없이 package.json을 전달하면 package.json에 포함되어 있는 모듈을 설치 가능


✅8.Git을 이용한 버전 관리의 필요성으로 가장 거리가 먼 설명을 고르세요. 답: C

A.파일의 변경 이력을 저장하고, 필요시 이전 버전으로 돌아갈 수 있다.
B.어떤 변경 사항이 발생했는지 알아보기 쉬우므로, 협업에 유리하다.
C.프로젝트 코드를 전달할 때 포함되어 있는 모든 모듈을 전달하지 않아도 된다.
D.작업 중인 프로그램을 백업할 수 있는 효과가 있다.

📝홰설: C의 설명은 package.json에 대한 설명에 가깝다.




✅9.Git과 Github에 대한 설명으로 옳지 않은 것을 고르세요. 답: D

A.개발자의 코드를 효율적으로 관리하기 위한 ‘분산형 버전 관리 시스템'이다.
B.특정 시점에 백업된 복사본을 만드는 작업을 commit이라고 한다.
C.Github은 Git repository를 관리할 수 있는 클라우드 기반 서비스이다.
D.Github으로부터 호스팅 되고 있는 오픈 소스 프로젝트에 기여하기 위해서는 특별한 권한이 필요하다.

📝해설:Github으로부터 호스팅 되고 있는 오픈 소스 프로젝트는 누구나 기여가 가능하다.


10✅다음 중 Git에 업로드 되어 있는 오픈 소스의 기여자(contributors)가 되기 위한 작업에 대한 설명으로 바르지 않은 것을 고르세요. 답: D

A.fork: 오픈 소스 코드가 업로드 되어 있는 원격 저장소(Remote Repository)에서 나의 원격 저장소로 가지고 오는 과정
B.clone: 원격 저장소에서 내 컴퓨터(Local Repository)로 가지고 오는 과정
C.push: 컴퓨터(Local Repository)에서 작업한 소스코드 변경 작업을 원격 저장소에 반영하는 과정
D.pull: 작업한 변경 사항을 소스코드에 즉시 반영하는 과정

📝해설: pull은 원격 저장소에서 변경 사항이 생겼을 때, 변경된 사항을 내 컴퓨터에 반영하는 작업

소스코드를 즉시 반영하는 것이 아닌 변경 사항은 제안하고, 반영을 요청하는것

profile
코드스테이츠 블로그

0개의 댓글