TIL #30 Linux - 기초(1)

강경훈·2020년 8월 26일
0
post-thumbnail

1. Linux란?

  • Linus Torvals(라이너스 토발즈)가 Unix을 기반으로 개발한 운영체재
  • Open Source : 전세계 아무나 그냥 사용 할 수 있다.
  • 시스템 서버들은 대부분 Linux 기반으로 운영
  • 따라서 웹개발자는 Linux에 시스템을 실행하고 유지하고 관리 할 줄 알아야 한다.

2. Diretory

1) 구조

  • 쉽게 생각하면 윈도우 환경에서의 폴더
  • Tree 구조: root부터 시작하여 밑으로 뿌리처럼 퍼져 나가는 구조
  • root directory: Linux의 최상위 directory로 모든 directory는 root부터 시작한다. ('/'으로 시작)
  • /home directory: Linux file system 중 가장 중요하고 기본이 되는 directory
    - home directory는 유저의 공간이기 때문에 주로 home directory에서 많은 것을 하게 된다.
    - Mac OS 에서는 User가 home directory
    - Home 디렉토리 이외의 다른 디렉토리 들은 주로 system directory 라고 하는데, 리눅스의 운영과 관리에 관련한 파일들이 존재하는 디렉토리 들이다.

2) 경로

  • '/'을 이용하여 directory을 구분
    /User/apple/bin
    - root -> User -> apple -> bin
  • Absoult path (절대 경로)
    - root을 기준으로 해당 directory의 경로를 전부 써주는 방식
    - root에서 부터 시작하기 때문에 현재 위치와 상관 없이 항상 정확히 해당 경로로 이동 할 수 있음
  • Relative path (상대 경로)
    - 현재 directory 기준으로 경로 이동
    - dot(.)은 현재 위치
    - double dot(..)은 현재 위치에서의 상위 directory
    ./bin: 현재 directory 안의 bin directoty
    ../move: 현재 directory의 상위 directoty 안의 move directoty

3. Config file

리눅스에는 설정을 주로 파일을 통해서 하며 이러한 파일들을 config file이라고 한다. 너무나 다양한 설정 파일들이 있지만, 그 중 가장 중요한 설정 파일이 바로 shell 설정 파일이다.

1) .zshrc

  • Z-shell의 설정 파일 (shell마다 설정파일이 다름)
  • 터미널에 ls 명령어를 치면 해당 directory에 있는 directory와 파일들을 볼 수 있다.
  • directory 이름 앞에 dot(.)이 붙으면 숨김 파일이 되어 ls만으로는 볼 수 없다.
  • la -a 을 통해 숨김 파일까지 볼 수 있다.
  • Linux의 에디터 vim을 통해 해당 파일을 읽기 또는 쓰기가 가능
    vi .zshrc

2) 환경 변수

  • 현재 돌아가고 있는 shell 어떠한 설정 값을 가지고 있는 변수를 뜻하며, 이러한 환경 변수들은 shell이 돌아가는 동안 계속 존재하며 사용된다.
  • 예)
    - USER: 유저의 아이디를 저장한 환경 변수
    - HOME: 유저의 home 디렉토리 경로를 저장한 환경 변수
    - PATH: path 값을 저장한 환경 변수

3) 환경 변수 - PATH

  • 명령어들을 찾을 수 있는 경로들을 저장해놓은 환경 변수
  • 명령어도 결국 프로그램이기 때문에 정확한 경로을 알아야 사용 할 수 있으며 이런한 경로들을 저장해 놓은 곳이 PATH
  • 실행하과 하는 명령어의 경로가 PATH에 저장되어 있지 않으면 에러 발생
  • PATH에 명령어의 경로가 없는 경우 export을 이용하여 PATH에 경로를 추가 할 수 있음
    export PATH="add_path:$PATH"
    - add_path: 새로 추가할 명령어의 경로
    - ':' : 각 경로들은 ':'으로 구분
    - $PATH: 기존의 PATH 변수의 내용을 전부 새로운 경로 뒤에 붙임

4. 기본 명령어들

  • cd (change directory): directory 이동
  • ls (list segments): 현재 경로 내 파일 목록 출력
  • Pwd (print working directory): 현재 경로 출력
  • mkdir (make dirctory): directory 생성
  • rmdir (remove directory): directory 제거
  • rm/rm -r (remove): 파일/directory 제거
  • cp (copy): 파일/directory 복사
  • mv (move): 파일/directory 이동
  • cat (concatenate): 터미널에 파일 내용 출력
  • touch : 파일 생성 및 날짜정보 변경
profile
방랑하는 개발자

0개의 댓글