(TIL10) Linux

SooHyung Kim·2020년 4월 3일
0

Today I learned

목록 보기
10/25

Linux Basics

  • 리눅스는 1991년 Linus Torvals가 개발한 운영체제로, Window 시스템이나 application이 아닌 이상 일반적으로 시스템 서버는 linux 기반으로 운영

  • 리눅스의 파일구조는 아래 그림과 같이 tree 형태로 구성되어 있음

    • 가장 상위에는 root(/) 디렉토리가 위치해 있으며, Tree 형태의 뿌리가 된다는 뜻임
    • root 디렉토리 내 여러 하위 디렉토리가 존재하며, 각 하위 디렉토리에는 또 다른 하위 디렉토리가 존재하며 각 디렉토리는 '/'로 구분함
      ex) /home/usr/sbin

Home Directory

  • 리눅스 파일 시스템의 가장 기본이 되는 디렉토리로써 유저의 공간 말함

    • Home 디렉토리 외 다른 디렉토리들은 주로 system directory라고 하며, 리눅스의 운영과 관리에 관련된 파일들이 존재하는 디렉토리

    • 디렉토리의 경로를 지정하는 데에는 절대경로와 상대경로가 있음
      (https://velog.io/@trequartista/WECODE-D9 참고)

configs

  • 리눅스에서는 설정을 주로 파일을 통해서 진행하며 여러 config file(설정 파일)이 존재함

  • 리눅스에서 가장 중요한 설정파일은 shell 설정파일로, bash의 경우 .bashrc, zsh의 경우 .zshrc라는 설정 파일을 사용하여 환경 변수를 설정

    Environment Variable

    • shell이 어떠한 설정 값을 가지고 있는 지 나타내는 변수의 집합이며, 환경 변수들은 shell이 돌아가는 동안 계속 사용됨

    • echo 명령어를 사용하여 각 환경 변수를 확인할 수 있음
      echo $HOME

    • 환경 변수는 shell이 시작할 때 이미 자동으로 선언되어 있으며 대표적인 환경 변수들로는 HOME, USER, PATH가 있음

      HOME : 유저의 home 디렉토리 경로를 저장한 환경 변수
      USER : 유저의 아이디를 저장한 환경 변수
      PATH : PATH 값을 저장한 환경 변수(경로를 저장)

    • PATH 환경변수는 : 으로 구분된 경로들을 하나한 살펴보면서 실행하고자 하는 프로그램이 위치해있는 지 탐색하며, 찾으면 실행 시킴

      echo $PATH

Shell Commands

  • cd : 디렉토리 이동(Change Directory)
  • ls : 디렉토리 내 내용을 확인(List)
  • 숨김 파일 확인 시에는 ls - a, 자세히 보고싶을 경우에는 ls - l을 사용
  • mv : 같은 폴더에서 파일, 디렉토리 이동, 이름 변경(Move)
  • cp : 파일 복사 (copy)
  • cat : 파일 내용 출력 (Concatenate)
  • rm : 파일 삭제(remove)
  • mkdir : 디렉토리 생성(Make Directory)
  • clear : 커멘트 내 내용들 삭제
  • pwd : 현재 작업 중인 디렉토리의 절대 경로 출력(Print Working Directory)
  • chmod : 기존 파일 혹은 디렉토리에 대한 접근 권한 설정
  • grep : 파일 내에서 지정한 패턴이나 문자열을 찾은 후, 그 패턴을 포함하고 있는 모든 행 출력

Piping

  • 2개의 명령어를 이어주는 역할

  • command1 | command2 : command1의 출력값을 command2에 input으로 넘겨 줌

    history | grep ls : 현재까지 입력한 명령어 중 ls 명령어만 필터링하여 출력해줌

profile
Slow and steady win the race

0개의 댓글