디렉토리와 파일
1. 명령어를 통해서 조작한다. (CUI)
2. 아이콘으로 조작한다. (GUI)
내가 내리는 명령은 현재 내가 있는 디렉토리를 기준으로 명렁을 받아 들인다. ==> pwd
/ 최상위(루트) 디렉토리 ex) cd /home/ubuntu 절대경로 (/로 부터 시작한다)
.. 부모 디렉토리 ex) cd .. 상태경로
리눅스 명렁어 기초
sudo : super user do 즉, 슈퍼 유저가 하는 일
권한이 있어야만 설치를 할 수 다.
파일 편집에는 nano나 vi 를 통해 할 수 있다. 초급자는 nano 중 상급자는 vi를 주로 사용한다.
패키지 매니저
앱 스토어와 같이 필요한 프로그램을 설치해주는게 리눅스에서는 패키지 매니저 이다.
ex) apt, yum
apt 서버에 접속해서 최신 다운 가능한 소프트웨어 '목록'을 다운 받는다
이렇게 다운을 진행 할 수 있다.
특정 프로그램을 업그레이드 가능
모든 apt내의 프로그램 업데이트
특정 프로그램 삭제
다운로드 방법(wget,git)
GUI에서는 클릭으로 다운을 받지만 리눅스 CLI에서는 wget 프로그램을 사용한다.
git으로 깃허브 내의 프로젝트를 다운받을수도 있다.
왜 CLI인가?
GUI vs CUI
GUI가 훨씬 많은 에너지와 자원을 사용한다.
하지만 서버,데이터분석 컴퓨터의 경우는 쓸데없는 에너지를 쓰지않고 온전히 기능적으로만 자원을 소비할 수 있어 CLI을 사용한다.
GUI는 배우기는 쉽지만 순차적으로 이어진 연속적인 일을 하기에는 안좋다.
순차적으로 실행
파이프라인
하나의 명령의 실행 결과를 다른 명령의 입력으로 준다.
하나의 프로세스의 실행 결과를 다른 프로세스의 입력으로 준다.
하나의 프로그램의 실행 결과를 다른 명령의 프로그램으로 준다.
IO Redirection(입출력 방향 바꾸기)
자동으로 화면출력(1)
쉘과 커널
쉘이라고 하는것은 커널을 사용자가 직접 제어하기 어려우므로 사람이 이해하기 쉬운 형태의 명령어를 입력하면
그 명령어를 쉘에 대한되는 프로그램들이 해석해서 커널에게 전달한다.
bash vs zsh
나는 현재 zsh 쉘을 사용하고 있다. bash보다 더 많은 기능이 있어 편리하다.
bash가 주로 기본적으로 탑재가 되어있다.
각각의 사용자가 자신에게 맞는 쉘을 사용한다.
script : : 대본, 각본 어떻게 움직이고 행동해야 하는가.
여러개의 명령이 순차적으로 이루어저 하나의 업무가 끝이 난다.
디렉토리의 구조
bin - bash쉘과 chmod, nano 사용자들이 사용하는 명령들
sbin - 시스템 관리(루트사용자) 명령
etc - 설정 관련 파일
var - 내용과 용량이 바뀌는 특성이 있는 파일들
tmp - 임시로 저장하는곳 , 컴퓨터를 껐다 키면 모두 삭제 된다.
home - 사용자들의 디렉토리 ~ ex) cd ~ 은 바로 현재 사용자의 디렉토리로 이동한다.
lib- bin 과 sbin이 공통으로 사용하는 라이브러리가 있다.
파일을 찾는 법
프로세스의 실행
데몬 : 항상 실행 되고있다. ex) 아파치
서버처럼 늘 프로그램을 실행해야할 경우에 데몬이 사용된다.
아파치 프로그램을 실행
아파치를 멈춤
Cron를 사용해서 정기적으로 사용해야하는 프로그램(작업)을 돌릴 수 있다.
alias 사용법
권한(permission)
chmod를 사용해서 사용권한 변경
인터넷, 네트워크 그리고 서버
DNS Sever는 이 세상의 모든 도메인의 ip가 저장해 관리하는 서버이다.
이렇게 각각 인터넷을 쓰면 각각 컴퓨터를 서버로 쓸 수 있지만 비싸다.
오른쪽과 같이 라우터를 사용해서 퍼블릭 IP를 프라이빗 address(사설 주소)를 할당
웹서버(아파치)
웹서버를 설치하면 나의 컴퓨터 하나에서 전 세계 사람들에게 정보를 주고 받을 수 있다.
configuration
웹서버는 어디에서 index.html이라는 파일을 가져오는걸까? ==> var/www/html/이라는 곳에서 찾아서 가져온다 !
원격제어(ssh)
간단하게 ssh 명령어를 사용해서 aws 원격 컴퓨터에 접속을 했던걸 생각 하면 된다 !.
ssh로 원격 컴퓨터에 접속을 하면 앞으로 내리는 명령어는 그 해당 원격 컴퓨터에게 내려진다
포트(port)
인터넷을 통한 서버간 동기화(rsync)
로그인 없이 로그인하기(ssh key)
ssh public private key
rsync
RSA
'모카 스터디 > 웹 지식' 카테고리의 다른 글
세션, 쿠키, JWT 토큰 및 인증(Authentication)과 인가(Authorization) 개념 정리 (0) | 2023.08.06 |
---|---|
백엔드 로드맵 (0) | 2023.07.16 |
google 로그인 [생활코딩] NO backend (0) | 2023.07.15 |
facebook 로그인 [생활코딩] NO backend (0) | 2023.07.15 |
OAuth [생활코딩] (0) | 2023.07.15 |