[TIL_리눅스]

HYEYOON·2021년 1월 24일
0

리눅스

리눅스는 진짜 리눅스가 만든것...연봉 7000...말도 안돼...

-시스템을 운영하는데 가장 널리 사용되는 운영체제.
-공개 소프트웨어로서 무료로 이용가능하다👉오픈소스 커뮤니티에 크게 기여
-일반인을 위한 운영체제가 아니기 때문에 익숙하지 않으면 사용하기 힘들다.
-커널: OS가 실행되기 위해 하드웨어와 밀접하게 붙어있는 공간
-원래는 CLI 기반 이었는데 사용자들을 위해 GUI기능을 추가했다 .
-서버에 설치된 리눅스 환경을 사용할 수 있다.

1.1리눅스의 구조

  • 커널- 하드웨어를 제어한다.
    리눅스의 핵심,프로레스 관리, 메모리 관리, 파일 및 장치 등 컴퓨터와 하드웨어를 모두 제어하는 능력
  • 셀- 커널과 유저가 대화할 수 있도록 제공된다. 대표적인 셸은 BASH(Bourne-again Shell)이 있고 요즘은 zsh(Z shell)이 많이 쓰이고 있다.
  • 응용 프로그램- 각종 프로그램 시스템을 위한 프로그램, 사용자의 문서편집 도구, 브라우저, 네트워크 도구 등 다양한 프로그램을 말한다.

1.2리눅스 파일 시스템 구조 (Filesystem Hierachy Standard)


거꾸로 된 나무형태로 트리구조로 되어있다.
루트 영역(최상위 경로)은 /로 경로를 표시하고 그 밑에 하위경로가 존재한다.
하위경로는 중첩되어 존재할 수 있다.
리눅스 시스템상 다양한 디렉토리가 존재하는데 중요한건 /홈디렉토리이다.
홈디렉토리는 사용자의 정보를 저장할 수 있는 공간을 제공하는 경로이다.

홈디렉토리로 이동하는 방법

  1. cd
  2. 루트 경로로 가서cd /
  3. cd ~

    확인 방법: pwd을 치면 현재 자신이 위치한 경로를 반환

1.3Directory path

  • /:root 디렉토리
  • ~:home 디렉토리
  • 절대경로- 말그대로 루트부터 시작해서 현재 위치(최하위)까지의 경로를 모두 적은 것.
  • 상대경로-현재 위치를 기반으로 움직이는 경로
    상대경로의 심볼인 ...
    . -현재경로로 이동
    ..-상위경로로 이동

1.4 리눅스의 환경설정 파일(Config file)

Bash는 .bashrc, zsh는 .zshrc라는 설정 파일을 사용한다.
셸 설정 파일을 비롯한 많은 설정 파일들이 대부분 유저의 home 디렉토리에 있기 때문에 zsh도 마찬가지이다. 하지만 ls명령어를 사용해도 .zshrc파일을 찾을 수 없다. 이유는 .으로 시작하는 파일 및 디렉토리는 숨긴파일로 간주하기 때문이다.ls -a를 입력하면 숨긴파일을 보여준다.

vim(리눅스 기본 편집 키) .파일 ->해당파일 보여줌.

1.5 PATH Enviroment Variable

:shell의 어떠한 설정 값을 가지고 있는 변수
환경 변수들은 shell이 돌아가는동안 계속 존재하며 사용된다. echo를 사용하면 각각의 환경변수를 출력한다. echo $HOME

  • HOME-유저의 home 디렉토리 경로를 저장한 환경 변수
  • USER-유저의 아이디를 저장한 환경 변수
  • PATH-PATH값을 저장한 환경 변수(아주 중요✏️)
    ex)echo@PATH
    whereis ls = ls가 어디있는지 알려준다.
    하지만 ls명령어를 사용할때는 정확한 경로를 입력하지않고 ls만 입력한다. 그 이유는 PATH 환경 변수 때문이다.
    echo $PATH

    하나의 긴 경로처럼 보일 수도 있지만 실제로는 여러 경로를 담고 있고 각 경로를 : 을 사용하여 구분한다.
    PATH 가 중요한 이유는, 새로운 package를 설치하거나 시스템을 설정하거나 할때 PATH가 설정이 제대로 안되면 실행이 제대로 안되는 경우가 많기 때문이다.
    PATH는 shell 설정 파일에서 설정한다.
    export PATH="/home/eun/bin/anaconda3/bin:$PATH"
    <PATH에 추가하고자 하는 경로>:$PATH -> 기존의 PATH값의 맨 앞쪾에 새로운 경로가 추가된다.

1.6 Shell Commands

  • cd-경로 이동
  • ls- 현재경로에 위치하는 리스트들을 보여준다.
  • mv- move의 약자, 데이터 이동, 이름을 바꿀 때도 사용
    mv abc cba 는 abc 파일이름을 cba로 바꾼것.
  • cp- copy의 약자, 파일과 디렉토리 복사 , 디렉토리 복사하려면 -r을 써야한다.
  • cat- 터미널상에서 바로 프롬프트에 파일의 내용을 불러준다.
  • rm - remove의 약자,파일이나 디렉토리를 지워줌. 디렉토리는 -r을 써야한다.
  • rmdir -디렉토리 지우는 방법
  • clear-현재 프롬프트상 화면을 정리하고 새화면을 보여준다.
    이전 커맨드의 결과물을 이후 연결된 작업으로 추가 동장을 하고 싶을 때 사용
  • mkdir =make directory =홈디렉토리에 특정 디렉토리 만들기
  • | - pipe, 2개의 명령어를 이어주는 역할을 한다.
    command1 | command2
    command1의 결과값을 command2의 input으로 넘겨준다.
  • man page = manual page man ls - 너무 길다.. 그래서
    tldr ls를 쓴다. 간략하다.
profile
Back-End Developer🌱

0개의 댓글