일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- vercel
- Til
- web
- CSS
- html
- 생활코딩
- mysemester
- 프로토타입
- 해시테이블
- superstarjypnation
- React
- 회고
- 큐
- level1
- 운영체제
- REST_API
- 자료구조
- UI
- 프로그래머스
- 카카오
- UX
- redux
- 백준
- javascript
- 30daysdowoonchallenge
- 코드스테이츠
- 스택
- Next.js
- 자바스크립트
- useState
- Today
- Total
데굴데굴
TIL: 2022-09-01 본문
⚙️ 오늘 배운 주제
CLI (Command Line Interface), Git
🐹 오늘의 기분
오늘은 정말 신기한 것들을 많이 배웠다. npm, nvm처럼 어디선가 자주 봤었던 정체모를 영단어들을 드디어 알 수 있었다. 맥을 구매하려고 알아보고 있을 때 터미널이 잘 되어 있어 개발자들에게 편하다는 글을 본 적 있었다. 맥을 사고 나서 iTerm2이랑 brew는 설치해두고 가끔 구글링해가며 써봤던 게 전부였고, 그 외에는 터미널을 써본 적이 없기에 공감할 수 없었다. 오늘 살짝 해보니 나중에 더 깊게 배우면 훨씬 편해지겠다는 생각이 들었다. brew만 설치하면 명령어 한 줄로 프로그램도 설치할 수 있고, 여러 작업들을 수행할 수가 있어서 너무 신기했다. 하나하나 해보면서 우와 헐 뭐야 진짜 되네 계속 이 난리침. 평생을 GUI 속에서 살아온 나에게 CLI는 정말 신세계였다. git 커맨드라인도 몇 개 배웠는데 직접 해보지 않아서 뭐가 뭔지 아직은 잘 와닿지 않는다. 솔로 프로젝트할 때 자세히 알려주신다고 했으니 그 때를 기다려야겠다.
🗝 키워드
CLI, GUI, 절대 경로, 상대 경로, nano, npm, nvm, package.json, node.js, git, clone, pull, push, fork
🗣 스스로에게 설명
기본 명령어 몇 개 정리
cd
: change directory, 작업 디렉토리를 바꾼다.
pwd
: print working directory, 현재 작업 디렉토리의 경로를 출력한다.
mkdir [폴더이름]
: make directory, 디렉토리(폴더)를 만든다.
ls
: 현재 디렉토리에 있는 파일/폴더들을 보여준다. 옵션에 따라 출력하는 정보의 범위가 달라진다.
touch [파일이름]
: 새 파일을 만든다.
cat [파일이름]
: 파일의 내용을 터미널에 출력한다.
rm [파일이름]
: remove, 파일을 지운다. 폴더를 지울 때에는 -rf 옵션을 적용한다.
mv [파일이름] [폴더이름]
: move, 파일을 폴더에 옮긴다.
확장자가 같으면 파일/폴더의 이름을 바꾸는 역할을 한다.
ex) mv hello.txt goodbye.txt 는 hello.txt의 파일명을 goodbye.txt로 바꿔준다.
cp [파일1] [파일2]
: copy, 파일1의 내용을 복사한 후 파일2를 생성하여 복사한 내용을 넣는다. 폴더를 복사할 때에는 -rf 옵션을 적용한다.
./ : 현재 폴더
../ : 상위 폴더
sudo로 관리자 권한을 획득할 수 있다.
nano는 CLI에서 쓰이는 텍스트 에디터이다. nano [파일명]
을 실행하면 터미널 내부에서 nano 에디터가 열린다.
wget을 설치하면 url로 파일을 다운로드할 수 있다.
neofetch는 CLI 실행 시 사용자의 정보를 띄워준다.
npm(node package manager): node.js의 패키지를 관리해준다. npm install ~~을 하면 여러 패키지를 손쉽게 설치할 수 있다.
nvm(node version manager): node.js의 버전관리를 도와준다. brew에서 node.js를 최신 버전으로 업데이트해버려서 lts 버전으로 바꾸려고 삭제했다 다시 설치했었는데.. nvm use 버전 넘버
로 아주 간단하게 해결할 수 있는걸 알고 헛웃음이 나왔다. 나 뭐한 거지
package.json이 있으면 프로젝트 코드를 전달할 때 모듈을 전부 전달할 필요가 없어진다.
package.json 파일을 생성할 때에는 npm init을 입력해야 한다.
맥에서 git을 설치하려면 터미널에 git <= 이거 하나만 치면 된다.
github에서 ssh 링크를 복사하고 터미널에서 git clone 명령어를 실행하면 해당 레포지토리의 파일이 내 로컬 저장소에 들어온다.
fork는 다른 원격 저장소에 있는 파일을 내 원격 저장소로 옮겨오는 과정이다.
모듈을 불러올 때 require을 사용한다. const {}이냐, 그냥 const로 저장하느냐에 따라 모듈 적용 방법이 달라진다.
❓ 막히는 or 막혔던 부분
모듈을 불러와 적용하는 과정에서 계속 typeerror가 발생해 페어분과 한참 고민해야 했다. 분명 빨리 끝날 것이라고 생각했는데 이거 때문에 1시간이나 걸렸다. 중괄호의 유무에 따라 모듈을 쓰는 방식이 달라진다는 걸 깨달았다. 자세한 건 객체를 배울 때 더 알 수 있을 듯!
push와 pull의 차이
🛠 질문 만들기
- ../ 는 절대 경로인가, 상대 경로인가? 그리고 이는 무엇을 뜻하는가?
- 자바스크립트 파일을 터미널에서 출력할 때 사용하는 명령어는 무엇인가?
- 다른 원격 저장소에서 자신의 원격 저장소로 가져오는 것을 무엇이라고 하는가?
'Lesson > TIL' 카테고리의 다른 글
TIL: 2022-09-05 (0) | 2022.09.05 |
---|---|
TIL: 2022-09-02 (0) | 2022.09.02 |
TIL: 2022-08-31 (0) | 2022.08.31 |
TIL: 2022-08-30 (0) | 2022.08.30 |
TIL: 2022-08-29 (0) | 2022.08.29 |