1.17

홍왕열·2022년 1월 17일
0

TIL

목록 보기
9/56

Linux

ls -l
사용권한 확인

각 폴더 및 파일에 권한 주기.

chmod

명령어 chmod 폴더나 파일의 읽기, 쓰기, 실행 권한을 변경할 수 있습니다.
OS에 로그인한 사용자와, 폴더나 파일의 소유자가 같을 경우에 명령어 chmod 로 폴더나 파일의 권한을 변경할 수 있습니다.
만약 OS에 로그인한 사용자와, 폴더나 파일의 소유자가 다를 경우에는 관리자 권한을 획득하는 명령어 sudo 를 이용해 폴더나 파일의 권한을 변경할 수 있습니다.

명령어 chmod 로 권한을 변경하는 방식은 두 가지가 있습니다.

첫 번째는 더하기(+), 빼기(-), 할당(=)과 액세서 유형을 표기해서 변경하는 Symbolic method입니다.
두 번째는 rwx를 3 bit로 해석하여, 숫자 3자리로 권한을 표기해서 변경하는 Absolute form입니다.

Symbolic method


Absolute form


참고자료 : https://kb.iu.edu/d/abdb

환경변수

export

환경변수 확인하기 && 환경변수 임시 적용

터미널에 export를 입력해, 기록된 환경변수를 확인할 수 있다.

명령어 export 를 이용하면, 새로운 환경변수를 추가할 수 있습니다.
다음과 같이 새로운 환경변수 urclass="is good" 을 설정합니다.
이 때 등호 표시(Equal sign, =) 앞뒤에는 반드시 공백이 없어야 합니다.

명령어 echo 와 함께 환경변수를 입력하면, 환경변수의 값을 확인할 수 있습니다.
이때 환경변수의 앞에는 달러사인($)을 입력하여, 변수라는 뜻을 터미널에 전달합니다.

dotenv

npm 모듈 dotenv를 사용하면 자바스크립트에서 환경변수를 사용할 수 있다.
npm 모듈을 설치하고 사용하기 위해서, 새로운 폴더를 만들고 npm init 을 입력합니다.
그리고 npm i dotenv 를 입력해 모듈을 설치합니다.
이때 생성된 폴더는 설치할 모듈과 이름이 같아서는 안됩니다.


defaault parameter, 구조분해할당
생코 객체지향 23번 보기
async/await 및 비동기 복습하기. 동영상 보면서 개념 다시 정리하기.
피보나치(재귀함수)
callback
동빈나 고객 컴포넌트 구조화하기 5화까지 진행함.
useselector
usedispatch
redux 공부

설치한 dotenv를 이용해 환경변수에 접근할 수 있습니다.
새로운 파일 index.js를 생성하고, process.env 를 출력합니다.
Node.js의 내장 객체 process.env를 이용하면, 명령어 export 로 확인한 내용과 동일한 내용을 객체로 출력합니다.

process.env 는 Node.js 환경에서 조회할 수 있습니다.
dotenv는 이어지는 콘텐츠 .env 파일을 환경변수로 사용할 수 있게 돕습니다.

env

Node.js에서 환경변수를 영구적으로 적용한다.

export로 적용한 호나경변수는 현재 사용 중인 터미널에서만 임시로 사용이 가능하다.
Node.js에서는 파일 .env를 만들어 저장하는 방법을 사용한다.

먼저 .env 파일을 만들고 사용하고자 하는 환경변수를 입력한 뒤 저장한다.

[그림] .env 파일을 생성하고, 환경변수로 사용할 myname에 "kimcoding"을 할당합니다.

모듈 dotenv를 이용하면, 파일 .env에 저장한 환경변수를 조회할 수 있습니다.
index.js를 다음과 같이 수정하고, 저장합니다.

그다음 index.js를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

환경변수를 이용해 API key, DB password와 같이 민감한 정보를 저장하고 관리할 수 있습니다. 그뿐만 아니라 서로 다른 PC 또는 여러 .env 파일에서, 같은 변수 이름에 다른 값을 할당할 수 있습니다.

실제 제품(서비스)을 개발하는 과정에는 개발 환경(local 또는 development 등)과 테스트 서버의 환경(test), 그리고 실제 제품을 제공하는 환경(production)이 있습니다.
예를 들어 구글 API를 이용해 웹 애플리케이션을 만드는 경우, 개발 환경에서는 개발자 개인의 API 키를 이용할 수 있습니다.
그러나 제품을 서비스할 때에 개인 API 키를 사용하면, 일일 요청량을 초과하는 경우 제품이 정상적인 동작을 할 수 없습니다.
이런 경우를 방지하기 위해 실제 제품에서는 기업용 API 키를 사용합니다.
이처럼 개발 환경과 제품을 제공하는 환경에서 사용하는 API 키가 다른 경우, 환경변수를 이용해 환경을 구분하여 코드를 작성할 수 있습니다.

데이터베이스도 마찬가지로 개발, 테스트, 제품 환경으로 구분할 수 있습니다.
다음 그림은 각기 다른 환경에, 같은 변수 이름을 사용하여 데이터베이스를 구분한 예시입니다.

사용권한

sudo - 1회성으로 한 번씩 할 때마다 사용
su - 유저 자체를 root로 바꾸는 것이기 때문에, su를 한 번 사용하고 나면 그다음부터 sudo 및 su를 쓰지 않는다.

Process

복습할 것

터미널 명령어

터미널 단축키 : ctrl + alt + t
터미널에서 작동이 안될 때, ctrl + c (강제종료)
pwd(print working directory) : 현재 위치를 확인하는 명령어
mkdir(make directories) : 새로운 폴더를 생성하는 명령어. 명령어와 폴더의 이름을 스페이스 키로 구분한다.
mkdir helloworld
ls : 현재 위치의 모든 폴더나 파일의 목록을 출력하는 명령어
ls -a : 숨어있는 폴더나 파일을 포함한 모든 항목을 터미널에 출력
ls -l : 폴더나 파일의 포맷을 전부 표현하라는 의미


여기서 d로 출력된 경우는 폴더를, -로 출력된 경우는 파일을 나타낸다. 폴더는 다음 명령어 cd를 통해 진입할 수 있지만, 파일이라면 진입할 수 없습니다.

현재폴더 = .
상위폴더 = ..

nautilus . : 현재 폴더를 파일탐색기로 여는 명령어
cd(change directory) : 폴더에 진입하는 명령어
cd .. : 바로 위 폴더로
cd ./폴더명 : .은 현재 폴더, /는 폴더 내부. ./ 현재 폴더 안에라는 뜻. 즉, 현재 폴더 안에 있는 "폴더명"으로 들어가라.
touch : 새로운 파일을 생성하는 명령어
cat 파일명 : 파일의 내용을 터미널에 출력하는 명령어
rm : 폴더나 파일을 삭제하는 명령어(휴지통을 거치지 않고 바로 삭제)
rm은 단일 파일 삭제! 폴더 삭제 안 됨
rm -rf : 폴더 삭제

mv(move) : 폴더나 파일의 위치를이동하거나 이름을 변경하는 명령어
mv\폴더나 파일 이름\도착 폴더의 이름(\띄어쓰기)
mv\파일이름\바꿀이름 <- 파일명 바꾸기
mv 파일명 ../ : 상위폴더로 이동
cp : 폴더나 파일을 복사하는 명령어
cp\원본 파일 이름\복사할 파일 이름
cp -rf : 폴더 복사
sudo : 관리자 권한 (항상 비밀번호와 함께 사용)
whoami : 현재 로그인된 사용자를 확인하는 명령어
clear : 화면 전부 삭제
git --help = git 명령어 확인
단어 공백 넣는 것 = \,""

명령어를 사용할 때 등장하는 키워드
/ : 루트 디렉토리 (최상위 디렉토리)
~ : 홈 디렉토리

절대경로와 상대 경로
절대경로의 시작이 루트 디렉토리(/)
상대경로의 시작이 현재 디렉토리(.)

Ubuntu에서 "gedit"파일은 메모장과 같은 역할


defaault parameter, 구조분해할당
생코 객체지향 23번 보기
async/await 및 비동기 복습하기. 동영상 보면서 개념 다시 정리하기.
피보나치(재귀함수)
callback
동빈나 고객 컴포넌트 구조화하기 5화까지 진행함.
useselector
usedispatch
redux 공부

profile
코딩 일기장

0개의 댓글