도도 새 2020. 10. 27. 00:35

우분투 환경에서 Visual Studio를 이용하여 코딩을 하는 과정이 시작되었다. Linux는 처음이라 CLI 터미널로 컴퓨터를 컨트롤하는 것이 익숙하지 않다.

 

우분투 터미널 명령어를 정리해 보았다.

 

clear _ 터미널 클리어
ls _ 현재 디렉토리 내용 조회
ls -al _ 현재 디렉토리 세부 사항 조회
         1. 접근 권한 (읽기/쓰기/실행 가능) 여부
         2. 링크된 파일 갯수
         3. 소유자
         4. 소유그룹
         5. 파일 크기
         6. 만든 날짜
         7. 만든 시간
         8. 파일/디렉토리 이름
cd _ 원하는 디렉토리로 이동 (cd ~ _ 홈 디렉토리, cd / _ 루트 디렉토리, cd . _ 현재 디렉토리, cd .. _ 부모 디렉토리)

-> 파일 이름에 공백이 있을 시 _ 백슬래시 끼워준다 (\), 중복되는 단어가 없을 시 자동완성 가능(Tab)
pwd _ 현재 디렉토리의 주소(경로)
touch _ 빈 파일 생성
mkdir _ 디렉토리 생성
cat _ 텍스트 형태의 파일 내용 확인
mv _ 파일 및 디렉토리 옮기기(mv [옮길 파일/디렉토리] [옮길 디렉토리])

-> 이름 바꾸기도 가능(mv [이름 바꿀 파일/디렉토리] [바꿀 이름(디렉토리명과 겹치지 않는)]
cp _ 복사 (cp [복사할 파일] [붙여넣을 디렉토리]
cp -r [folder] _ [folder] 를 복사한다.
rm _ 삭제 (rm [filename] _ filename 파일 삭제, rm -r [dirname] dirname 디렉토리 삭제)
chown [owner:group] file _ owner소유자, group소유 그룹으로 파일 소유권 변경.
 -> sudo에게 속하여 일반 유저가 건드릴 수 없는 파일을 일반유저 소유권으로 변경해 줌으로서 일반 유저가 파일에 접근할 수 있게 함.
open . _ 현재 폴더를 macOs Finder에서 보기 (우분투도 실행 가능할 듯 -> 확인 결과 우분투 사용 불가)
code . _ 현재 폴더를 VS Code 에디터로 열기
explorer . _ 현재 폴더를 Windows 파일 관리자에서 보기 (Windows 해당)
apt _ Ubuntu Package Manager(프로그램 추가/삭제)
Homebrew _ macOS Package Manager(프로그램 추가/삭제)
chocolatey _ Windows Package Manager(프로그램 추가/삭제)
vim _ 텍스트 에디터 (터미널에서 텍스트 수정을 가능하게 해줌. 수정을 완료한 후 esc를 눌러 편집 모드로 진입하고 :wq 입력하여 저장)
git _ 버전 관리 시스템
AWS CLI _ 클라우드 서비스 관리

 

마찬가지로 Git을 처음으로 쓰기 시작하는데 이게 간단하면서도 아직 난해한 느낌이다.

Git 을 사용하는 절차에 대해 정리해 보았다.

 

1. github 에서 내가 사용할 레포지토리를 내 계정으로 포크한다_ 포크할 레포지토리에 접속해 포크 버튼을 누른다.

2. 내 계정에 추가된 레포지토리에서 카피 버튼을 눌러 레포지토리 주소를 카피한다.

3. 내 컴퓨터에 Git 저장소로 쓸 디렉토리를 생성한다. (ex. /home/dodo/바탕화면/Codestates/)

4. 터미널로 Git 저장소로 쓸 디렉토리에 접속한 후 git clone 카피한 레포지토리 주소 를 입력해주면 디렉토리에 레포지토리가 다운로드된다.

5. cd 새로 생성된 레포지토리 디렉토리 를 입력해 디렉토리에 접속한 후 code . 를 입력하면 자동으로 Visual Studio로 해당 레포지토리를 열 수 있다.

 

코딩을 완료한 후 레포지토리를 업데이트 하고 싶다면

1. Git을 수정한 디렉토리로 먼저 접속

2. git status 입력하면 현재 수정되었지만 업데이트 되지 않은 사항이 화면에 보여진다.

3. git add 수정된 git의 이름 (ex. git add 01_Introduction.js)

4. git commit -m 커밋 메세지 입력 (수정 사항에 대한 코멘트)

5. git push origin master 를 입력하여 github 레포지토리에 업로드한다.

(5의 과정을 거치지 않으면 변동된 레포지토리는 내 컴퓨터 안에만 존재한다. 업로드 후 레포지토리 업데이트됨)

 

이러한 과정인데 복잡하지 않은 것 같으면서도 처음 접하는 컨트롤 방식이고 모르는 프로그램을 다루는 것이다 보니 실수할까봐 마음이 조마조마하다.

 

새롭게 Lexical scope 와 hoisting, closure 라는 개념을 접하였는데 아직까지 100% 이해되지는 않은 느낌이다. 예제를 더 풀어봐야 한다.

렉시칼 스코프, 호이스팅, 클로저 예제는 다음 포스팅에 올리도록 하자.