Linux & Terminal

백은진·2020년 10월 4일
0

TIL (Today I Learned)

목록 보기
84/106
post-custom-banner

What is Linux?

Linux란, 소프트웨어 개발자인 Linus Torvalds가 개발한 Unix 기반 운영체제다.

토발즈가 Linux를 무료 오픈소스로 제공함에 따라 수많은 사람들이 사용하면서 풍부한 Linux 생태계가 형성되었다.

where to use?

Linux는 대표적으로 서버에서 사용된다.
현재 대부분의 서버가 리눅스 환경에서 운영되고 있기 때문에, 리눅스를 잘 알고 있는 것은 백엔드 개발자는 물론이거니와 프론트엔드 개발자에게도 중요하다.

서버는 수많은 클라이언트 컴퓨터들이 요청을 주는 곳이기 때문에 안정적으로 운영되고 유연성이 있어야 하는데, 리눅스 운영체제가 이를 충족한다.

핵심 개념

핵심 개념으로 총 네 가지를 소개하려 한다.

  1. FHS (Filesystem Hierarchy Standard)
  2. PATH
  3. Configs
  4. Shell Commands

1. FHS (Filesystem Hierarchy Standard)

우선 File Systems란, 데이터를 어떻게 저장하고 불러올지에 대해 규칙을 정해놓은 시스템이다.
리눅스는 위의 사진과 같이 트리 형식으로 정보를 저장하는데, 이런 시스템을 통해 우리는 마우스 없이 명령어만으로 원하는 폴더에 들어가거나 정보를 수정하는 등의 일을 할 수 있다.

PATH

리눅스(혹은 터미널은) 현재 터미널 상에서 내가 위치한 곳을 파일 경로를 통해 알려준다.

  • 절대 경로: root 디렉토리부터 시작해 경로를 표현한다.
    * / : root 디렉토리
    • ~ : home 디렉토리
  • 상대 경로: 터미널 상 현재 자신의 위치를 기반으로 움직이는 경로이다.
    * . : 현재 경로
    • .. : 상위 경로
  • 환경 변수: 경로에 대한 변수다.
    * 모든 컴퓨터의 파일명이 동일하지 않기 때문에, 경로명을 변수처리 해서 각각의 컴퓨터에 적합할 수 있도록 한다.

Configs

리눅스에서는 주로 파일을 통해 bashrc, zshrc 와 같은 파일을 config(설정) 한다. 이런 shell 등 많은 설정 파일이 대부분 유저의 home 디렉토리에 위치한다.
. 로 시작하는 파일(dot file)이나 디렉토리는 숨김파일로 간주한다. 이런 파일은 그냥 ls 명령어를 입력했을 때는 보이지 않고, ls -a 혹은 ls -al이라고 입력해야 보인다.

Shell Commands

Shell은 커맨드 라인 인터페이스를 나타내는 컴퓨터 프로그램이다. 이 shell 프로그램을 통해 사용자는 키보드로 컴퓨터를 통제할 수 있다. 대표적으로 bash, zsh가 있으며, 나는 현재 zsh를 사용하고 있다.

What is Terminal?

터미널은 사용자가 command line에 접근할 수 있도록 하는 인터페이스로 명령어를 통해 작동하기 때문에 마우스 없이 키보드로 작동할 수 있다.

터미널 환경에서 shell은 사용자와 운영체제의 핵심(kernel)을 이어주는 역할을 한다.
사용자의 명령어를 운영체제에 전달해서 명령어대로 실행이 일어나게끔 하고, 그 출력 값을 사용자에게 전달한다.

2020년 06월 구매한 내 맥북은 zsh이 기본 shell로 설치되어 있다.

손 쉬운 환경 설정

mac은 homebrew라는 패키지 매니저를 주로 사용한다.

homebrew 패키지 매니저를 다운로드 받은 후에는 brew install 설치하고싶은패키지이름 형식으로 다양한 프로그램을 다운로드 받을 수 있다.

// 설치
brew install name

// 삭제
brew uninstall name

// 업그레이드
brew upgrade name

// 패키지 URL 주소 갱신
brew update

// 패키지 이름 검색
brew search name일부
profile
💡 Software Engineer - F.E
post-custom-banner

0개의 댓글