코드 스테이츠 2일차(CLI)

Lumi·2021년 8월 31일
0
post-thumbnail

m1칩을 사용할떄에는 반스디
arch -arm64 brew install [packege or program]
를 통해서 패키지를 설치해야한다.
-> 2 arm 오류 발생시

CLI

: 명령어를 입력해 컴퓨터를 조작하는 방식 = 터미널을 사용하는 방식

GUI

: 일반적으로 window에서 많이 사용되는 방식(mac, linux에서도 사용한다.)
-> 대개 가장 많이 사용하는 방식(새폴더 등등)

입력소스(input source)

컴퓨터를 조작하기 위해서는 다양한 입력이 필요하다.(마우스, 키보드 등등)
이러한 것들을 입력 소스라고 한다.

  • 카메라, 마이크 등도 명령을 전달하기 떄문에 입력소스가 된다.

출력소스(output source)

입력소스와 반대로 출력을 담당하는 소스

  • 대표적으로 스피커가 있다.

이 둘을 간단하게 I/O 라고 부른다 = 아이오

터미널의 기본적인 명령어

터미널은 명령어 + -옵션 을 통해서 작동이 되며
[-옵션]은 명령어에 따라 모두 다르다.

pwd : 현재 위치를 알려주는 명령어.

mkdir 파일명 : 파일명에 해당하는 새로운 폴더를 만든다

ls : 현재 위치에 어떤 파일들이 있는지 알려준다.

  • ls -a : 숨어있는 폴더나 파일을 모두 알려준다.
  • ls -l : 폴더나 파일의 포맷을 전부 알려준다.

ls -l을 호출하면 d,-로 시작하는 문구들이 출력이 되는데
d는 폴더를 의미하고, -는 파일을 나타낸다.

open . : 현재 있는 위치의 폴더를 열어준다(바탕화면도 폴더이다)

  • 바탕화면 또한 하나의 폴더이다.

cd 폴더명 : 해당 폴더로 진입한다.
cd .. : 해당 폴더의 상위폴더 = 이전 위치로 이동한다.

touch 파일명 : 파일을 형성하는 명령어 이다.

  • touch hi.txt

cat 파일명 : 현재 경로에 있는 파일명을 입력하면 파일의 값을 읽어준다.

  • cat hi.txt

rm 파일명 : 현재 경로에 있는 파일중 파일명에 해당하는 파일을 제거한다.

  • rm hi.txt : 파일을 삭제할떄

rm -rf 폴더명 : 폴더를 삭제할떄

mv 파일명 폴더명/ : 파일명에 해당하는 파일을 폴더명에 해당하는 폴더로 이동

  • mv hi.txt bye/

추가 적인 기능으로 이름을 바꿀수 있다.

mv 파일명1 파일명2 : 기존의 이름인 파일명1을 파일명2로 바꾼다.

  • mv hi.txt hello.txt

cp 파일명1 파일명2 : 파일명1의 내용을 파일명2로 복사(복사되는 파일의 이름은 파일명2)

  • cp hello.txt hojin.txt

내용 또한 복사가 된다.

cp -rf 폴더명1 폴더명2 : 폴더명1을 폴더명2의 이름으로 복사한다.

  • cp -rf bye hello

폴더명에 CLI을 적용할떄에는 -rf가 들어간은것 같다.

sudo : 관리자의 권한으로 실행하라는뜻

  • sudo mkdir 폴더명 : 관리자 권한으로 폴더를 만들었다.
    -> 이러한 폴더 안에서는 추가적인 파일, 폴더를 만들수 없다.
    = readnonly이기 떄문에

ctrl + c : 현재 진행중인 작업을 취소하고 입력을 다시 되찾아오는 역할 = 강제 종료

런타임

  • 프로그램이 구동되는 환경 (네이버웨일, 크롬 등등)

npm

node.js환경에서 외부 라이브러리를 다운받기 위해 다양한 방법중 하나

  • 가장 대표적인 방법

npm은 일종의 앱스토어라고 이해하면 되며
필요한 모듈을 다운로드 할수가 있다.

macOS의 패키지 매니저가 brew라면 node.js의 패키지 매니저는 npm이다.

npm모듈에 대한 정보는 package.json에 있다

  • 즉 이 패키지 저반에 관한 정보가 들어 있다.

package.json에는 프로그램을 실행시키기 위해 필요한 모듈들이 무엇인지, 실행 방법 등이 명시되어 잇다.

  • 중요한 점은 실제 모듈은 node_modules이라는 폴더에 있다.
    -> package.json에는 어떤 모듈이 있는지만 적혀 있다.

사용을 할떄에는 package.json에 있는 모든 모듈을 다 가져올 필요가 없다.

  • 사용을 안할 모듈도 많기 떄문에 필요한 모듈만을 꺼내 쓰면된다.

    꺼내는 법은 npm install을 입력하면 package.json에서 필요하다고 하는 모듈을 다운받는다.

    • install이 완료되면 node_modules 디렉토리가 생기는 것을 확인할수가 있다.

package.json에 있는 모듈

package.json을 사용하는 이유는 나를 위해서가 아니다.
나와 같이 작업을 하는 또는 협업을 하는 따른 사람들 위해서 사용하고
여기에 기술함으로써 내가 어떤 모듈을 사용했는지를 알려주기 위해서 기술을 하는 것이다.

쉽게 말하면 안내서 이다.

devDependencies

  • 실행에 관계없이 오로지 개발을 위해 사용되는 모듈(의존성 이라고 부른다)

    npm install을 이요하면 자동으로 설치가 되지만 이떄 --save-dev를 추가하면 자동으로 설치가 된다.

    • 이떄 mocha는 테스트를 위해 필요한 모듈이다.

dependenices

  • devDependencies와는 다르게 프로젝트가 돌아가기 위해 반드시 필요한 모듈이 적혀있다.
    • 후에 배울 React도 들어 있다.

npm활용법

기본적인 npm 및 node를 어떻게 활용하는지 사진을 통해서 설명해 보겠다.

일반적인 package.json이다.

나도 모든것을 알고 있는것은 아니기 떄문에 아는부분에 대해서만 설명을 하겠다.

main : 작업할 공간을 지정하는 곳이다.
scropts : 설치된 모듈을 보여주는 곳이며 이곳에 있는 모듈만 사용이 가능하다.
start : npm run start하면 실행될 코드
test : npm run test 를 통해서 설정한 파일을 실행한다.

  • submit, report도 해당 코드를 실행하는 것이다.

해당 파일을 수정할떄에는 nano를 활용한다.

ex : nano index.js

대략적인 설명은 이정도로 하겠다.
-> 이정도만 설명해도 어떻게 작동을 하는지 알수가 있기 떄문에.

==================================================

추가적인 CLI명령어

앞서 배운 명령어에 추가적인 학습이다

ls -l을 입력시 해당 위치에 파일들을 확인할수 있는데 이떄

drwxr-xr-x 라는 이름이 붙은 파일을 확인할수 있을것이다.

앞서 설명한것처럼 d : 폴더, - 는 파일을 의미하지만
rwx, r-x, r-x를 무엇을 의미하는지 모른다.

이떄

  • r : 읽기권한
  • w : 쓰기권한
  • x : 실행 권한
  • -: 권한이 없음을 의미한다.

또한 rwx, r-x, r-x이렇게 세부분으로 나눈 이유는
1번은 소유하고 있는 유저에 대한 권한
2번은 그룹
3번은 다른유저를 지칭한다.

이 부분은 후에 따로 정리를 해보도록 하겠다.

명령어 -r과 -f

r과 f를 따로 구분해서 사용해야한다고 생각하지는 않지만 각각이 어떤 의미인지를 설명해보고자 한다.

-r : 특정 행동을 순환적으로 반복
-f : 강제로 행함

특정 폴더에 파일이 내포해 있는 상황에서
특정 폴더를 rm 폴더명 을 통해 삭제하고자 하면 안에있는 파일 떄문에 삭제가 이루어 지지 않는다.

이떄 rm -r 폴더명으로 사용하게 되면 폴더 안에 있는 파일에도 rm이 적용되는 역할을 해준다.

-f같은 경우에는 보호되거나 존재하지 않는파일도 삭제할수있기떄문에 각별하게 주의해서 사용을 할 필요가 있다.

민감한 정보도 쉽게 삭제가 되버릴수도 있다

cat명령어 대신 쓰는 명령어

cat 파일명 : 해당 파일의 내용을 출력한다.

라는 역할을 가지고 있지만 파일의 내용이 너무 많을 경우에는 터미널에서 잘려서 나오게 된다.

이떄 사용할수 있는게 head, tail, more, less명령어 이다.

head 명령어

  • 텍스트로된 파일의 앞부분을 지정한 만큼 출력하는 명령어
  • tail은 반대의 역할을 한다(뒷부분)

사용법

head 파일명 : 앞에서부터 10행까지만 보여준다
head 100 파일명 : 앞에서부터 100행까지만 보여준다.

tail 명령어

  • head 명령어와 반대되는 역할을 하는 명령어이다

tail 파일명 : 뒤에서 10행 앞에서부터 끝까지 보여준다.
tail +20 파일명 : 파일의 20행부터 끝까지 보여준다
tail -20 파일명 : 뒤에서 20행 앞에서부터 끝까지 보여준다.

more 명령어

  • 위에서 아래 방향으로 읽어서 출력하는 명령어이다.
    사용법은 동일

less 명령어

  • more과 반대되는 명령어이다.

more 같은 경우에는 지나간 내용을 다시 볼 수 없지만 less는 한 번에 보여지는 만큼만 읽어서 출력한다.

Enter키를 입력하면 한줄씩 출력되고, space bar를 입력하면 한 화면씩 출력된다.
방향키로 페이지 이동이 가능하다.

사용법은 동일

====================================================================
pair를 하면서 한가지를 배웠다

npm은 공용이 아니다.
폴더1에서 npm 이있다고 폴더 2에서는 폴더1의 npm이 정용되지 않는다.

그러기 떄문에 폴더 2에서도 따로 npm을 설치를 해주어야 한다.

profile
[기술 블로그가 아닌 하루하루 기록용 블로그]

0개의 댓글