본문 바로가기

코드스테이츠 SEB FE 41기/Section 별 내용 정리

section1/unit8/Linux&Git 기초/(9/1)

반응형

블로깅 주제

  • Linux/Git 기초

1. 지금 현재, 당신의 기분이나 느낌을 표현해 주세요.

  • 약 이틀간의 계산기 만들기를 끝내고 다시 개념 공부로 돌아왔다.. 계산기 정말 열심히 만들었던 것 같다! 나중에 다 정리되면 블로그에 올려야지... 벌써 section1이 반 이상 진행되었다는게 믿기지가 않는다. 오늘 내일 열심히 해서 보람찬 일주일을 보내야겠다!

2. 오늘 무엇을 학습한 내용 중 지금 떠올릴 수 있는 단어를 모두 나열해 주세요.

  • CLI, 터미널

3. 2에서 작성한 단어를 가지고, 오늘의 학습 내용을 설명해 보세요.

- 기본적인 터미널(CLI) 명령어

현재 위치 확인

pwd

새로운 폴더 생성

mkdir helloWorld

폴더 또는 파일의 이름에 공백(띄어쓰기)이나 특수문자가 있으면, 백슬래시(\)를 이용해 적용

->mkdir Hello\ World

특정 폴더에 포함된 파일이나 폴더 확인

ls

ls -l -> 퍼미션(권한), 포함된 파일수, 소유자, 그룹, 파일크기, 수정일자, 파일이름 등 출력
ls -a -> 숨겨진 파일이나 디렉토리도 보여준다.
ls -al 또는 ls -la
  • 명령어 ls와 함께 옵션 l을 사용하면, 가장 왼쪽에 출력되는 두 글자 d와 -를 확인할 수 있음
  • d로 출력된 경우는 폴더를, -로 출력된 경우는 파일을 나타냄
  • 폴더는 cd를 통해 진입할 수 있지만, 파일이라면 진입 불가

현재 위치를 GUI로 실행

open .

폴더 진입

cd helloWorld

파일 생성

touch hi.txt

파일 내용 터미널에 출력

cat hi.txt

파일 삭제

rm bye.txt

폴더 삭제

rm -rf bye
  • 옵션 r은 폴더를 지울 때 사용하고, 옵션 f는 질문을 받지 않고 지울 때 사용

폴더나 파일 이름 변경 또는 위치 변경

  • bye.txt 파일을 bye 폴더로 옮김
mv bye.txt bye/
  • 폴더 "bye"에 있는 파일 "bye.txt"의 이름을 "helloWorld.txt"로 변경
mv bye.txt helloWorld.txt

폴더나 파일 복사

  • cp [원본 파일 이름] [복사할 파일 이름]
cp helloWorld.txt hiComputer.txt
  • 폴더 "bye"를 복사해 새로운 폴더 "hi"를 만듦
cp -rf bye hi

- 관리자 권한과 경로

1. 절대경로/상대경로

절대경로

  • 특정 폴더나 파일이 루트 폴더로부터 어떤 폴더로 진입하는 경우 만날 수 있는지 나타냄
/Users/[username]/helloWorld/hello/

상대경로 

  • 특정 폴더 또는 파일의 위치를 현재 위치를 기준점으로 나타냄
  • 현재 위치한 폴더는 점(.)으로 표현하고, 상위 폴더는 두 개의 점(..)으로 표현
  • 명령어 ls를 통해 확인되는 폴더나 파일은, 상대 경로로써 ./을 붙여 표현(점(.)은 현재 폴더, 슬래시(/)는 폴더 내부)

파일 helloWorld.txt를 상위 폴더로 이동(두 개 상위: helloWorld)

mv helloWorld.txt ../../

2. 관리자 권한

절대 경로의 기준점인 루트 폴더(/)는 Linux의 관리자 영역

로그인된 사용자 확인

whoami

관리자 권한을 일시적으로 획득하는 명령어

mkdir justMkdir
sudo mkdir sudoMkdir
  • 명령어 sudo를 이용해 생성한 폴더의 소유자는 루트 -> 관리자 권한으로 생성됨
  • 명령어 sudo를 사용하지 않은 폴더 justMkdir은 사용자 소유의 폴더

- 텍스트 에디터 : nano

1. 파일 열기

nano 파일이름

2. 파일 편집 후 종료

ctrl+x

3. 파일 저장

^O WriteOut 사용(ctrl+o)


- 리눅스 패키지와 패키지 매니저

brew 명령어

  • brew 자체 업데이트: brew update
  • 업데이트 필요한 파일 조회: brew outdated
  • 프로그램 업그레이드(업데이트): brew upgrade 프로그램 이름
  • 프로그램 검색: brew search 검색어
  • 프로그램 정보 확인: brew info 프로그램 이름
  • 프로그램 설치: brew install 프로그램 이름
  • 프로그램 삭제: brew uninstall 프로그램 이름
  • 설치된 프로그램 보기: brew list

- Node.js

  • 런타임 :  프로그래밍 언어가 실행되는 환경
  • Node.js :  JavaScript 런타임

nvm

  • 다양한 Node.js version를 설치하고 관리할 수 있는 프로그램

특정 버전의 Node.js를 설치

nvm install 12.18.3

사용 중인 Node.js version을 다른 버전으로 변경하고 싶을 때

nvm use 버전 넘버  # 예를 들어, nvm use 12.18.3,  nvm use 14.15.5

Node.js로 파일 실행

node helloWorld.js

package.json

  • 해당 프로그램을 실행시키기 위한 모듈의 정보, 실행 방법, 테스트 방법 등이 명시되어 있음

- 깃 명령어

  1. fork : 오픈 소스 코드가 업로드 되어 있는 원격 저장소에서 나의 원격 저장소로 가지고 오는 과정
  2. clone : 오픈 소스 코드를 원격 저장소에서 내 컴퓨터(Local Repository)로 가지고 오는 과정
  3. push: 내 컴퓨터에서 변경한 사항을 원격 저장소에 반영하는 작업. 변경 내용을 commit을 통해 저장한 후, push를 통해 반영
  4. pull : 원격 저장소에서 변경 사항이 생겼을 때, 변경된 사항을 내 컴퓨터에 반영하는 작업
  5. pull request: contributors가 되었다고 해서 오픈 소스 코드를 즉시 반영하는 것이 아니라, 변경 사항을 제안하고, 반영을 요청
반응형