TIL 10일차 - [Linux/Git] 기초

Yoon Kyung Park·2023년 4월 24일
0

TIL

목록 보기
10/75
  • 리눅스 터미널을 실행할 수 있다.

o

  • CLI를 이용한 작업과 GUI를 이용한 작업이 동일함을 이해할 수 있다.

o
CLI는 Command-Line Interface의 약자로 입력하는 글자와 출력되는 글자로 컴퓨터와 소통할 수 있다. GUI는 Graphical User Interface의 약자로 사용자가 마우스나 키보드 등의 입력소스를 통해 컴퓨터를 조작할 수 있다. 이 둘은 하나의 컴퓨터를 동일하게 조작하기 때문에 어디서 작업을 하든 동일한 결과를 나타낸다.

  • 리눅스 터미널에서 기본적인 명령어를 사용할 수 있다.

o
CLI 명령어 - pwd, mkdir, ls, open, cd, touch, cat, rm, mv, cp, sodu

pwd = print working directory의 약자로 현재 위치를 확인할 수 있는 명령어다.

mkdir = make directories의 약자로 폴더를 생성하는 명령어다.

이때, 명령어와 폴더명은 '스페이스'키로 구분하며,
폴더명에 공백이나 특수문자가 들어갈 경우 백슬래시()를 이용하여 작성한다.

touch = 파일을 생성하는 명령어다.

ls = list의 약자로 특정 폴더에 포함된 파일이나 폴더들을 확인할 수 있는 명령어다.
쉽게 설명하자면, 특정 파일에 들어 있는 모든 파일과 폴더들을 나열하여 보여준다.
여기에는 옵션이 있는데, -l/a를 붙이는 거다.

ls -l은 폴더, 파일의 포맷을 전부 보여주는 명령어
ls -a는 숨겨진 폴더, 파일을 포함한 모든 항목을 보여주는 명령어
ls -al/-la는 숨겨진 폴더와 파일을 포함한 폴더, 파일의 포맷을 보여주는 명령어
이때 출력된 것에 d-로 시작하면 폴더를, -로 시작하면 파일을 의미한다.

open . = 현재 파일을 열고자 할 때 사용하는 명령어

cd = change directory의 약자로 폴더에 진입할 수 있는 명령어다.
폴더에 진입가능하므로 ls에서 출력한 파일들을 진입할 수 없다.
cd 말고도 절대 경로로 해당 폴더에 진입할 수 있다.
ex) cd ~/helloWorld/hello

cat = 해당 파일의 내용을 보여줄 수 있는 명령어
다만, 너무 큰 파일에 사용하는 것은 비효율적이다.

rm = remove의 약자로 폴더나 파일을 삭제할 수 있는 명령어다.
파일은 [rm [삭제할 파일명]]으로 가능하나, 폴더는 옵션 -rf를 사용하여 삭제해야 한다.
폴더는 [rm -rf [삭제할 파일명]]으로 삭제 가능한다.

mv = move의 약자로 폴더나 파일의 이름을 변경/ 폴더나 파일의 위치를 옮길 수 있는 명령어다.
우선 폴더나 파일을 이동할 경우, [mv [이동시킬 폴더/파일명][도착 폴더명]]으로 가능하다.
반면, 폴더나 파일명을 변경할 경우, [mv [변경할 폴더/파일명][변경하고자 하는 폴더/파일명]]으로 가능하다.

cp = copy의 약자로 폴더나 파일을 복사할 수 있는 명령어다.
파일을 복사할 때는 [cp [원본 파일명][복사할 파일명]]으로 가능하다.
반면, 폴더를 복사할 때는 옵션이 필요하다.
[cp -rf [원본 폴더명][복사할 폴더명]]으로 가능하다.

sudo = 관리자 권한을 획득하는 명령어다.

  • 명령어를 사용할 때, 등장하는 키워드에 대해 이해할 수 있다.

o

  • 관리자 권한을 이해할 수 있다.

o
관리자 권한은 시스템을 관리할 수 있는 권한을 의미하며, 프로그램 설치, 변경, 삭제 등을 할 수 있다. 이와 달리 사용자 권한은 일상 pc를 다룰 수 있는 권한이며, 프로그램을 실행하는 것 외에 설치, 변경, 삭제 등을 할 수 없는 제한된 권한을 의미한다. 이는 UAC(User Account Control, 사용자 계정 컨트롤)로 사용자를 악성코드와 프로그램 충돌로 인한 블루스크린으로부터 보호하기 위함이다.
명령어 sudo를 통해 사용자 환경에서 잠시 관리자 권한을 획득해 올 수 있다.

  • 절대 경로와 상대 경로의 차이를 이해할 수 있다.

o
절대 경로는 기준점인 루트폴더(/)로 부터 절대적인 위치를 나타낸다.
상대 경로는 기준점인 현재폴더로 부터 상대적인 위치를 나타낸다.
주로 현재 폴더 위치를 의미하는 .과 현재 폴더의 상위 폴더 위치를 의미하는 ..으로 표현되며,
./은 현재 폴더 아래를 의미한다.
이를 통해 명령어 cd로 절대경로를 사용하지 않고도 폴더 간 이동이 가능하다.

  • 텍스트 에디터 nano를 이용해 파일을 수정하고, 저장할 수 있다.

o
CLI 전용 텍스트 편집기인 nano는 원격으로 원격 서비스 환경에서 텍스트 파일을 편집해야 하는 경우,
터미널에서 자유자재로 다룰 수 있는 에디터다.
간단한 단축키를 가지고 실행할 수 있다.

  • 패키지와 패키지 매니저 필요성을 이해할 수 있다.

o
패키지는 여러 파일들이 담겨 있는 하나의 파일이다. 주로 압축파일의 형태로 리눅스의 패키지, 알집이 대표적이다.
패키지 매니저는 이러한 패키지의 설치, 변경, 삭제 등 관리를 편하게 해주는 도구로 모든 패키지의
저장 위치를 저장한다.

  • 각 운영체제에 맞는 패키지 매니저를 사용할 수 있다.

o
macOs는 brew 사용.
리눅스는 apt, node.js는 npm을 사용

  • nvm, Node.js, npm을 설치하고, 버전을 확인할 수 있다.

o
nvm은 Node Version Manager의 약자로 Node.js 버전 관리 매니저고,
npm은 Node Pakage Manager의 약자로 Node.js 패키지 매니저다.
Node.js는 프로그램이 동작하는 런타임(runtime) 중 하나로, 등장 이후 웹브라우저 외에도 js가 실행될 수 있게 됐다.
각각 nvm --version/ node -v/ npm -v으로 버전을 확인할 수 있다.

  • 명령어 node를 이용해 JavaScript 파일을 Node.js 런타임에서 실행할 수 있다.

o
nano 파일명.js로 파일 생성 후, node 파일명.js로 js를 실행할 수 있다.

  • 과제 시작 전 package.json 파일을 확인하고, npm install을 사용할 수 있다.

o
package.json은 패키지 전반의 관한 정보들을 담고 있으며, 해당 프로그램을 실행시키기 위한 모든 모듈을 저장할 필요없이,
필요한 실제 모듈은 node_modules라는 폴더에 저장된다.

npm install은 모듈 설치 명령어로
package.json에 있는 dependency(의존성 모듈)를 바탕으로 설치된다.

  • npm으로 새로운 npm 패키지를 설치하고 사용할 수 있다.

npm install 모듈명을 통해 가능하다.

  • 코드스테이츠 과제 제출 방법을 학습하고 적용한다.

o
npm run submit 명령어로 제출할 수 있다.
npm run submit is 명령어로 제출한 내용을 확인할 수 있다.

  • Git의 환경설정을 할 수 있다.

o

  • 버전 관리 시스템의 필요성을 이해할 수 있다.

o
Git을 버전 관리 시스템이라고 한다.
이는 이전 변경 이력들을 보존해주는 시스템으로 이전 버전으로 돌아갈 수 있고,
어떤 변경 사항들이 발생했는지 파악 가능하고, 협업과 백업용으로 좋다.

  • Github과 Git의 관계에 대해 이해할 수 있다.

o
Git으로 관리되는 파일들은 Github와 같은 원격 저장소를 이용해서
협업과 백업을 할 수 있다.
Github는 Git repository를 관리할 수 있는 클라우드 기반 서비스로 Github에
호스팅 되고 있는 오픈 소스 프로젝트는 누구나 기여할 수 있다.

  • local repository와 remote repository의 차이를 이해할 수 있다.

o
local repository는 내 컴퓨터에 파일이 저장되는 개인 저장소를 의미하며,
remote repository는 여러 사람이 함께 공유하기 위한 원격 저장소를 의미한다.

  • rwxr-xr-x 또는 rw-r--r-- 명령어에 대하여 알아보기

-h 또는 --help와 같은 옵션은 컴퓨터 프로그램에서
명령어의 사용법, 도움말, 옵션 등을 표시하는 데 사용되는 인자(argument).
이러한 옵션을 사용하면 사용자가 명령어를 정확하게 사용할 수 있도록 도움을 제공합.

예를 들어, "ls" 명령어에 -h 또는 --help 옵션을 사용하면
해당 명령어의 사용법 및 옵션에 대한 정보를 출력할 수 있다.
이러한 옵션은 대개 명령어 다음에 입력하며, 명령어의 다양한 옵션과 사용법을 확인하는 데 도움이 된다.

  • h 또는 --help와 같은 옵션 확인하기

rwxr-xr-x 또는 rw-r--r--는
리눅스 및 유닉스 운영 체제에서 파일 및 디렉토리의 권한(permission)을 나타내는 표기법.

각 문자는 파일 소유자, 그룹, 모든 사용자에 대한
읽기(read), 쓰기(write), 실행(execute) 권한을 나타냄.

r: 읽기 권한
w: 쓰기 권한
x: 실행 권한
-: 해당 권한이 없음을 나타냄

예를 들어, "rwxr-xr-x" 권한은 파일 소유자에게는 읽기, 쓰기, 실행 권한이 있고,
그룹 및 모든 사용자에게는 읽기 및 실행 권한이 있음을 나타냄.
반면, "rw-r--r--" 권한은 파일 소유자에게는 읽기, 쓰기 권한이 있고,
그룹 및 모든 사용자에게는 읽기 권한만 있음을 나타냄.

이러한 권한 설정은 파일 및 디렉토리의 보안을 유지하고,
사용자의 접근 권한을 제한하는 데 사용됨. 권한을 변경하려면 chmod 명령어를 사용할 수 있다.

소감

🔡➡️💻➡️🤓👍

개인적으로 하루동안 이해를 다 하지 못한 부분이었다.
이해가 많이 필요한 부분도 아니었는데, 나의 컨디션이 좋지 못했기 때문인 것 같다.
하루를 온전히 집중하여 학습하지 못했다.
복습을 다 끝내지 못하고 다음날로 이어지게 되어
다음 학습에도 지장이 되었다.
나는 아직 오전에 주어진 학습 자료를 제시간에 이해하는 것이 쉽지 않다.
점심 먹고 바로 시작되는 페어 활동이 내게 큰 도움이 되는 것 같지 않다.
아직은 자습시간이 필요하다고 느껴진다.
그러나 프로그램을 내 마음대로 바꿀 수 없으니 수강시간 외에
복습을 더 철저하게 해야겠다.

profile
developerpyk

0개의 댓글