0. CLI 기본 명령어
개요
- I/O : 컴퓨터를 조작하기 위한 입출력 장치
- 리눅스 환경 CLI로 수많은 서버 컴퓨터에서 해당 컴퓨터와 소통 가능
- 학습 목표
- 리눅스 터미널 실행
- CLI와 GUI 작업 동일
- 리눅스 터미널의 기본 명령어 이해
- 명령어 키워드 이해
- 절대 경로 상대 경로 이해
- 텍스트 에디터 nano로 파일 수정 및 저장
- 두 가지 학습 이유
- AWS에서 대여하여 서버를 구성할 때 리눅스 운영체제 사용
- git을 사용할 때 명령어 사용
CLI 기본 명령어 1
- 터미널 실행
- Window - WSL2 실행
- MacOS - 런치패드 혹은 스포트라이트에서 터미널 실행
- Ubuntu - ctrl + alt + T or 대시 홈에서 찾기
- 프롬프트(prompt)
- 키보드의 입력을 확인하고 편집할 수 있는 한 줄의 공간
- pwd(print working directory): 현재 위치 확인하기
- 현재 디렉터리 위치 확인
- mkdir(make directory) : mkdir + 생성할 디렉토리명
- directory 생성
- ls(list) : 현재 디렉터리 내 파일이나 하위 디렉터리 목록 출력
- ls -a, ls -l, ls -al or ls -la
- a(all) 옵션은 숨긴 파일이나 디렉터리 모두 출력
- l 옵션은 폴더나 파일 포맷 전부 표현
drwxr-xr-x -rw-r--r--
- 첫 번째는 d or - 로 표현 d는 디렉터리, -는 파일
- 그다음 세 개는 유저, 그룹, 모든 유저에 대한 권한
- cd(change directory) : 폴더 진입
- ../ 이전 디렉터리
- touch : 파일 생성
- : 실행 결과 파일로 저장
- echo + 내용 : 내용을 출력
- echo + 내용 > 파일 : echo로 출력된 내용을 파일로 저장
- cat : 파일 내용 출력
CLI 기본 명령어 2
- rm(remove) : 폴더나 파일 삭제
- 휴지통을 거치지 않고 바로 삭제
- 단일 파일만 삭제 가능해서 폴더는 옵션 사용
- r(recursive) 폴더 지울 때 사용
- f(force) 질문을 받지 않고 삭제
- mv(move) : 폴더나 파일 위치 변경 혹은 이름 변경
- mv + [폴더나 파일명] + [도착 폴더 이름]
- 도착 폴더 이름에 파일명을 쓰면 이름 변경 가능
- 컴퓨터가 파일 복사나 옮기는 방법
- 기존 파일을 임시 저장→ 기존 파일 삭제 → 새로운 파일 생성 및 임시 저장 내용 쓰기
- 복사는 기존 파일 삭제 과정만 없다.
- cp(copy) : 폴더나 파일 복사
- cp + [원본 파일] + [복사할 파일]
관리자 권한과 경로
- 사용자와 관리자
- 관리자 권한으로 실행하면 악성코드에 침해당할 수 있음
- 블루스크린은 두 프로그램의 충돌로 운영체제 설정을 서로 다르게 하여 일어남
- MS의 사용자 계정 컨트롤은 악성코드가 실행되는 것을 보호하기 위해 접근 권한을 막음
- 리눅스 기반 ubuntu에서도 사용자가 권리자 접근을 하기 위해서 특정 명령어를 사용
- 절대 경로와 상대 경로
- 절대 경로 : 기준점으로부터 절대적인 위치, 기준점은 루트 폴더(/)
- ubuntu - /home/[username]
- macOS - /Users/[username]
- 상대 경로 : 현재 위치를 기준점으로 한 상대 위치, 현재 폴더(.)
- ../ : 상위 폴더
- 절대 경로 : 기준점으로부터 절대적인 위치, 기준점은 루트 폴더(/)
- 관리자(root) 권한
- 루트 폴더(/)는 linux의 관리자 영역
- 일반 사용자는 파일 생성, 변경, 삭제 불가
- 프로그램 생성, 변경, 삭제에 대해서만 관리자 권한 대여
- whoami 명령어로 사용자 확인
- 사용자는 폴더의 형태로 존재 home/ 이나 Users/로 확인
- 사용자 폴더의 경로는 ~로 표시
- ~/는 사용자 폴더까지 경로 축약
- sudo : 관리자 권한 획득 명령어
- 루트 폴더(/)는 linux의 관리자 영역
Text editor nano
- CLI의 에디터는 vim, emacs 등이 있지만 nano 간단
- 위에 파일 이름
- 중간 파일 편집 화면
- 아래 단축키
- 파일 열기
- nano로 들어가서 ^R 후에 ^T로 탐색해서 방향키로 찾기(ctrl = ^)
- nano + 파일명 명령어로 들어가기
- 파일 편집 후 종료
- ^X로 나가기
- save modified buffer?라고 저장여부를 묻는다.
- 파일 저장
- ^O(write out으로 저장 가능)
1. 패키지와 패키지 매니저
개요
- 패키지와 패키지 매니저
- 패키지: 파일들을 모아 놓은 압축 파일
- 프로그램 파일
- 프로그램 설치 파일
- 프로그램 설치 설명서
- 프로그램 정보 파일
- 패키지 매니저
- 패키지의 저장 위치 정보를 저장
- 패키지 다운로드해 설치 프로그램 실행
- 설치된 프로그램 업데이트 및 제거
- 운영체제에 따른 패키지 매니저
- window → ubuntu -apt
- ubuntu → apt
- macOS → brew
- 패키지: 파일들을 모아 놓은 압축 파일
- 학습 목표
- 패키지와 패키지 매니저 필요성
- 패키지 매니저 사용
- macOS
- brew update: 패키지의 업데이트 여부 확인
- brew outdated: 업데이트 필요한 파일 조회
- brew upgrade: 프로그램 업그레이드
- brew info: 프로그램의 정보 확인
- brew install: 프로그램 설치
- brew list: 설치된 프로그램 목록 보기
- brew uninstall: 프로그램 삭제
- Linux ubuntu
- apt update: 패키지의 업데이트 여부 확인
- apt list --upgradable: 업데이트 필요한 파일 조회
- apt upgrade: 프로그램 업그레이드
- apt show: 프로그램의 정보 확인
- apt install: 프로그램 설치
- apt list --installed: 설치된 프로그램 목록 보기
- apt remove: 프로그램 삭제
- apt search : 패키지 검색
Ubuntu 패키지 매니저 - apt
- apt 명령어 이용
- ubuntu는 기본적으로 apt 사용 가능
- apt 명령어로 입력하면 명령어 확인 가능
- 관리자 권한 사용
- sudo apt install [package name]
- 문제 생기면 ctrl + C로 종료 가능
- Action item
- sudo apt install wget
- wget -O + [파일명 지정] + [URL]로 웹에서 파일 다운로드 가능
- 학습도구 zoom 설치
- wget으로 파일 다운로드 url을 가져와서 다운로드
- apt install을 통해 설치
MacOS 패키지 매니저 - brew
- Xcode Command Line Tool 설치
- xcode-select —install
- 설치 스크립트 복사
- Homebrew 사이트에서 주소 복사
- 터미널에서 설치
- next step이 있는 경우는 지시대로 설치
- brew help를 통해 확인
- 애플 실리콘(M1) 맥
- softwareupdate —install-rosetta
- arch -x86_64 brew install + [file name]으로 설치
2. 사용 권한
개요
- 학습 목표
- 사용 권한과 소유자 확인 - ls -l
- 사용 권한 변경 - chmod
Read, Write, Exceute 권한
- 폴더, 파일 구분하기
- owner : 파일을 만든 소유자
- group : 여러 user를 포함한 group
- other : 파일에 대한 접근 권한이 다른 사용자
- 사용자와 소유자가 같을 경우 가능
- symbolic method : chmod og=rx [filename]
- chmod : 권한 변경
- absolute form : chmod 641 [filename]
3. 환경 변수
개요
- 학습 목표
- 환경 변수와 그 목적 이해
- 전역과 지역 환경 변수 차이
- 환경 변수 임시 혹은 영구적 적용
- 환경 변수 값 확인
- 환경 변수 목록
환경 변수란?
- 프로그램 동작에 영향을 미치는 값
- 환경에 따라서 영향을 줄 수 있는 값
Linux/MacOS 환경 변수 설정
- 지역 환경 변수 VS 전역 환경 변수
- 지역 환경 변수 : 변수를 생성한 특정 사용자만 사용 가능
- 전역 환경 변수 : 모든 사용자가 사용 가능
- 임시 환경 변수 설정
- 터미널 종료하면 환경 변수 자동 삭제
- 지역 환경
- hello=world
- 공백이 없어야 하고 값에 공백이 있다면 따옴표로 감싸다
- 전역 환경
- export hello =”the world”
- 환경 변수 값 확인
- echo $hello
- 영구 환경 변수 설정
- 지역 환경
- cd ~으로 홈 사용자 디렉터리에 간다
- ls -al로 입력, 목록에서 .bashrc나 .zshrc 중에 하나가 있다
- nano .bashrc로 편집
- 맨 아래에 환경 변수 입력(export로)
- 저장하고 나와서 source .bashrc로 변경사항 적용
- 전역 환경
- sudo chmod 777 /etc/profile(기본 444로 설정되어 있다)
- nano /etc/profile 로 편집
- 맨 아래에 환경 변수 입력(export로)
- 저장하고 나와서 source /etc/profile로 적용
- 지역 환경
- export로 선언된 환경 변수 이름과 값 목록
- export 명령어를 써서 확인
- export로 선언한 전역, 지역 환경 변수 모두 확인 가능
Window 환경 변수 설정
- 환경 변수 영구 설정만 가능
- 환경 변수 설정 창 열기
- 시스템 환경 변수
- 환경 변수 버튼 누르고 설정
- user에 대한 사용자 변수는 지역 환경 변수, 시스템 변수는 전역 환경 변수
- 환경 변수 추가
- 새로 만들기 누르고 이름 값 입력
- 확인 눌러 적용
- cmd에서 set 명령어로 설정 확인
4. 심화 학습 자료
CLI 명령어 추가
- 명령어 옵션 -r과 -f
- r은 recursive로 순차적으로 반복하여 실행(폴더 rm, cp 할 때 사용)
- f는 force로 강제로 실행(존재하지 않거나 보호되는 파일도 실행, 주의)
- Cat 대체 명령어
- head : 앞부분부터 -n(행) -c(바이트)까지 출력
- tail : 마지막 -n(행) -c(바이트) 출력
- more : enter를 입력하면 한 줄씩 출력, space bar는 한 화면씩 출력
- less : more와 같지만 방향키를 사용 가능하고 위로 올라가서 볼 수도 있음
5. 추가 학습
- 리눅스 명령
- cmatrix
- sl
- cacafire
- asciiquarium
- tree
- linux - 펭귄 이름 턱스
- 리누스 토르발즈
- 펭귄에게 물려서 펭귄이 좋아져서 로고로 선정
- unix 기반으로 만들었다 / git도 만들었다
- ubuntu가 가장 많이 사용하는 버전
- 남아프리카에 반투족 언어인데 사람과의 관계 (네가 있으니 내가 있다)
- 무료로 사용하고 누구나 수정 가능한 것이 철학
- 사양이 낮아도 잘 적용되고 무료라 서버에 많이 사용된다
- CLI : 빠르고 가볍고 안정적 /명령어를 알아야 함
- GUI : 무겁고 느리고 불안정적
- OS : 프로그램과 하드웨어 사이에 매개체 역할
- OS 구조
- kernel & shell 구조
- 터미널 - 쉘 - 커널 - 하드웨어 - 커널 - 쉘 - 터미널
- 권한
- 다중 사용자 권한 chmod
- 경로
- 절대 경로 vs 상대 경로
- man + [명령어] : 명령어 정보 찾기
- rmdir로 빈 디렉터리 제거 가능
- clear 하면 내용 다 지울 수 있다
'Backend boot camp > Session1' 카테고리의 다른 글
[JAVA]기초 - 변수, 타입, 문자열, 연산자, 콘솔 입출력 (0) | 2022.09.06 |
---|---|
[Git] 기초 (0) | 2022.09.06 |
[Publishing]HTML, CSS (0) | 2022.08.23 |
Development (0) | 2022.08.21 |
Learn how to learn (0) | 2022.08.19 |