>session: 리눅스 (20.03.30)

yeeun lee·2020년 3월 31일
1
post-custom-banner

리눅스 세션이 정리가 안 되어서 내용을 더 추가해본다. 대부분의 시스템 서버가 리눅스라고 해서 나는 맥을 쓰지만 개념이라도 알아둬야 할 것 같다!

1. who made linux?

- Linus Torvals!

Linux는 1991년 Linus Torvals가 개발한 운영체제다. 개발자가 아직도 살아있고 여전히 리눅스 개발을 하고 있다고 한다.

약간 팀버너스리 같은 느낌 ... 너무 대단한 걸 만들어서 이미 세상에 안 계신 위인 같은 느낌 ...

  • Linux는 오픈소스이고 누구나 코드를 볼 수 있다.
  • Linux는 시스템을 운영하는데 가장 널리 사용되는 운영체제다.
  • 윈도우 system이나 application이 아닌 이상 시스템 서버는 일반적으로 리눅스 기반으로 운영된다.

때문에 개발자는 linux에 대 잘알아야 한다. Linux에 시스템을 실행하고 유지하고 관리하기 때문이다.

2. 리눅스의 구조

- 커널kernel

운영 체제의 핵심으로 하드웨어를 제어한다. 처음에 뭔가 운하랑 뜻이 비슷한 것 같아서 canal인 줄 알았는데 검색해보니까 k로 시작한다😂 단일형, 마이크로 커널 등 여러 종류가 있는 것 같은데 지금 이해하기는 어려우므로 나중에 더 파악해보자. 우선 리눅스는 단일형 커널이다!

🌈커널의 역할

  • 보안
  • 자원 관리
  • 추상화

컴퓨터 과학에서 커널(kernel)은 컴퓨터의 운영 체제의 핵심이 되는 컴퓨터 프로그램의 하나로, 시스템의 모든 것을 완전히 통제한다. 운영 체제의 다른 부분 및 응용 프로그램 수행에 필요한 여러 가지 서비스를 제공한다. 핵심(核心)이라고도 한다.

- 쉘shell

커널과 유저가 대화할 수 있도록 제공하는 공간interface이다. 대표적 쉘은 bash, zsh가 있다. 사용자와 운영 체제의 내부 사이의 인터페이스를 감싸는 층이어서 shell이라는 이름을 붙였다고 한다!

Shell is a UNIX term for the interactive user interface with an operating system. In computing, a shell is a user interface for access to an operating system's services. In general, operating system shells use either a command-line interface (CLI) or graphical user interface (GUI)

- 응용 프로그램application

3. 리눅스의 file system

Filesystem Hierachy Standard 구조를 갖고 있다. 이름이 어렵게 생겨서 잘랐는데 어쨌든 거꾸로된 나무, 트리 구조를 갖고 있다고 기억하면 될 것 같다.

  • root: 최상위 디렉토리. 밑에 하위 경로들은 중첩해서 존재할수 있다.
  • directory: 윈도우스의 폴더(folder)와 동일한 개념
  • home directory: 리눅스에서는 home, 맥에서는 users에 들어가면 사용자의 홈 디렉토리가 나온다. 사용자의 정보를 저장하는 공간으로, 일반 사용자로 설치하면 제공받는 곳이다.
  • system directory: 리눅스의 운영과 관리에 관련한 파일들이 존재하는 디렉토리 들이다.

- 절대, 상대경로

  • 절대경로: root 부터 파일을 입력해 이동하는 방식
  • 상대경로: single dot(현재경로), duble dot(상위경로)를 사용해 이동하는 방식

4. 기본 명령어

🌈 디렉토리 기본

  • cd 홈 디렉토리로 이동하자
  • pwd: print working directory 나 어디에 있는지 알려줘!
  • ls: 현재 경로에 있는 디렉토리, 파일 보여줘. 색깔에 따라 파일인지 디렉토리인지 알 수 있다.
  • mkdir: 디렉토리 만들어줘
  • clear : 프롬프트 화면을 정리

🌈 이동 복사 제거

  • mv: move. 데이터를 이동시키기 위해 사용. 디렉토리, 파일 이동. 이름바꿀 때도
  • cp: copy 파일 복사, 디렉토리 복사 (-r option) ex. cp -r 원본파일이름 복사될파일이름
  • rm: remove. 일반 파일을 지우는 방법이고, 디텍토리 삭제는 -r option 추가
  • rmdir: 디렉토리를 지우는 명령어

🌈 처음보는데 써봐야지

  • cat: 터미널 상에서 프롬프트 파일 내용을 불러주는 명령어. 파일의 내용을 출력 (abc.text라는 텍스트 파일을 만들고 안에 내용을 넣은 뒤, cat 명령어로 안의 내용을 불러올 수 있다)
  • | (piping): 후속 작업. 특징적인 것을 보고싶을 때

- menual

man 을 치고 명령어를 입력하면 메뉴얼을 보여준다.
tldr: too long didn't need 메뉴얼을 더 압축적으로 소개. 맥 유저라면 brew install tldr 를 입력하면 터미널에서 바로다운로드 할 수 있다.

5. .file (dot file)

shell이 실행될 때 참고하기 위한 값들이 명시되어 있다. shell command도 리눅스에 설치된 명령어중 하나다. ls도 환경변수에 등록되어 있기 때문에 실행 가능한 것이다. shell configure file(설정 파일) path에 들어가 있기 때문에 경로를 찾앗어 내용을 실행시킬 수 있는 것이다!

- 명령어

  • ls -a(la): a 또는 la 옵션을 쓰면 숨겨진 파일까지 나오게 된다. 여기서 dot file을 찾을 수 있다.
  • vi .bashrc : dot file open (zsh쉘은 zshrc)
  • echo$: 환경변수 출력. 해당 변수가 담겨있는 환경변수. echo$PATH
  • source .bashrc
  • echo $PATH
  • export PATH
profile
이사간 블로그: yenilee.github.io
post-custom-banner

0개의 댓글