일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- async/await
- manytomanyfield
- crud2
- Jest
- docker
- bcrypt
- 호이스팅
- 트랜잭션
- typescript
- 프로미스
- TypeError: this.boardRepository.createBoard is not a function
- nodeJS
- 장고초기세팅
- status code
- CORS
- 자바스크립트
- Django
- 실행 컨텍스트
- javascript
- node
- OSI7계층
- on_delete
- rebase
- westagram
- 노드
- wecode
- pm2
- 스코프
- django westagram
- JWT
- Today
- Total
될때까지
((Database)) Linux & Terminal 본문
운영체제(OS)란?
윈도우, 맥OS, 리눅스 등을 컴퓨터 운영체제라고 한다. 운영체제란 컴퓨터 시스템의 자원들을 효율적으로 관리하며 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램들의 모임이라고 할 수 있다.
리눅스란? 그리고 리눅스를 사용하는 이유는?
리눅스는 1991년 리누스 토발즈에 의해 개발되었다. 리눅스는 오픈 소스이기 때문에 누구든지 소프트웨어를 자유롭게 수정하고 배포할 수 있어서 전 세계 개발자들에 의해 계속해서 발전하고 있다. 또한 다수의 사용자가 동시에 컴퓨터 시스템을 사용할 수 있어서 서버 기능을 수행할 수 있고(멀티태스킹) 다수의 작업 공간을 제공하기 때문에 하나의 컴퓨터 시스템에서 여러개의 프로그램을 동시에 실행할 수 있다.(멀티스레드). 리눅스 커널을 이용하여 우분투, 레드햇 등과 같은 배포판들이 만들어졌다.
OS의 역할은?
컴퓨터는 0과 1밖에 모르기 때문에 우리가 사용하는 명령어들을 이해하지 못한다. 따라서 0과 1로 번역해주는 역할이 필요한데 지금은 그 역할을 OS가 해주고있다고 간단하게 생각하고 넘어가자. 우리의 말을 컴퓨터가 알아들을 수 있게 0과 1로 번역해주는 아이가 운영체제의 역할이다.
리눅스는 쉘, 커널, FHS로 이루어져있다.
쉘은 키보드로 입력한 명령을 받아 OS가 해당 명령을 수행할 수 있도록 번역해주는 아이다. 사용자와 운영체제가 대화할 수 있도록 해주는 명령어 해석기라고 생각하자. 사용자와 리눅스사이의 인터페이스이며 사용할 수 있는 쉘의 종류는 다양하다. 취향에 따라 sh, csh, ksh, bash등 여러가지 쉘 중에서 선택하여 사용할 수 있다. 사용자가 입력한 명령은 해석이 되어 커널로 전달된다.
커널은 응용 프로그램(쉘)의 요청을 하드웨어에 전달해서 수행하고, 수행 결과를 다시 응용 프로그램으로 전달해주는 전달자일 뿐만 아니라 이 모든 과정을 관리하는 중요한 역할을 한다.
* 운영체제는 꼭 꼭 중요하므로 3개월 위코드가 끝나고 나서 추가로 공부해야합니다!!!
리눅스의 파일 시스템과 구조
/ | 파일 시스템 최상위 디렉토리 |
/bin | binary의 약자로 os최소한의 구동을 위해 필요한 프로그램이 있는 폴더 |
/home | home 유저의 공간 터미널을 실행하면 있는 기준 위치 |
/usr | 지금은 필요없지만 배포판 리눅스가 가지고 있는 그들만의 특징이 담긴 디렉토리 |
- 환경변수가 뭐지? : OS도 프로그램이기 때문에 OS가 동작하기 위해 변수가 필요한데 이 변수들을 환경변수라고 한다.
터미널에 env 명령어를 입력하면 리눅스의 환경변수들이 나온다. 그중에서 path를 보면, 저 경로를 다 치기 번거로우니까 PATH로 저장되어있는 걸 확인할 수 있다. (이게 맞겠지?)
터미널 명령어
/home/eun/bin | 절대경로 : 실제 파일이 존재하는 변하지 않는 위치다. |
cd.. | 상대경로 : 현재 위치를 기준으로 경로를 찾아간다. |
. | 현재경로 |
.. | 상위경로 |
cd | change directory 폴더이동 |
ls | list segments 현재 경로 내 파일의 목록 출력 |
ls a | 숨겨있는 파일(.이 찍힌 파일)들까지 보여준다. |
ls / | 루트에 있는 파일들의 목록들을 출력한다. |
pwd | print working directory 현재 내 위치를 출력한다. |
mkdir | make directory 디렉토리 생성 디렉토리를 생성하고 싶은 위치로 이동한 후 'mkdir 디렉토리이름' 하면 디렉토리가 생성된다. 잘 생성됐는지 확인할 때는 ls라는 명령어를 사용하면 된다. |
touch | 파일 생성(디렉토리는 mkdir 명령어로 생성한다) 'touch 파일이름' 현재 위치한 곳 말고 다른 곳에 만들고 싶으면 해당 경로를 다 적어줘야한다. 적어주지않으면 현재 위치에 생성된다. |
vi | vi (파일명.확장자) 파일을 편집할 수 있는 에디터를 활성화하는 명령어다. - i : insert 편집모드 - esc : 나가기 - :wq : write and quit 저장하고 나가기 - :q! : 저장안하고 나가고 싶으면 느낌표를 사용한다. |
cp | copy cp 복사하고싶은파일이름 이동할위치 cp 35_test.md ./test -> 35_test.md파일을 복사해서 현재 같은 디렉토리에 있는 test디렉토리에 복사한다. |
mv | move 잘라내기 mv 옮기고싶은파일이름 이동할위치 mv 35_test.md ./test 35_test.md파일을 잘라내서 현재 같은 디렉토리에 있는 test디렉토리에 옮긴다. 파일이름 변경하기 mv 35_test.md 35.md 35_test.md파일을 35.md로 이름을 변경한다. |
rm | remove rm 파일이름 |
rmdir | 디렉토리 제거 |
rm -r | remove -recursive 디렉토리 폴더 삭제 디렉토리는 r을 붙여줘야 삭제할 수 있다. (rm -rf* : 왠만하면 절대 사용하지 말것!!!! 현재 위치에서 에러가 나도 모든 걸 삭제하겠다는 뜻) |
https://beginnersforum.net/blog/2014/11/08/structure-of-linux/
'학습 > 개념정리' 카테고리의 다른 글
((인증과 인가)) 인증 & 인가 (0) | 2022.07.11 |
---|---|
((HTTP)) HTTP란? 그리고 HTTP Methods와 Status Code (0) | 2022.06.30 |
개념정리 :: DNS? (0) | 2022.06.17 |
개념정리 :: 동기 vs 비동기? 블럭 vs 넌블럭? (0) | 2022.05.28 |
개념정리 :: URI, URL, URN? (0) | 2022.05.25 |