[TIL] - Linux & Terminal

Sean yang~~·2022년 8월 26일
0
post-thumbnail

Linix 핵심 개념

✅ 리눅스

리눅스는 무료로 이용 가능하고, 오픈소스 운영체제라는 특징이 있다. 오픈소스라는 큰 장점으로 많은 사람들이 자유롭게 소스 코드를 확인, 수정, 배포할 수 있고 에러가 발생 했을때 개선하기도 쉽다. 대표적으로 Ubuntu, CentOS, RedHAt, Android 등이 있다

리눅스는 운영체제 중 하나이며, 운영체제 또한 프로그램이기 때문에, 코드를 작성할 떄 변수에 값을 담듯이 리눅스도 shell의 설정값을 담는 변수를 사용해야 한다(환경변수 라고 함). 서버는 리눅스 체제로 되어 있기 때문에, 리눅스 계열 환경에서 작업하면 운영체제의 차이에서 오는 오류를 최소화할 수 있다. 핵심개념은 아래와 같다.

✅ 리눅스의 그래픽 환경

✅ CLI(Command Line Interface)

  • CLI은 쉽게 말하면 윈도우의 cmd와 리눅스의 터미널 환경을 생각하면 된다. 명령어로 소통하기 떄문에 GUI 환경보다 메모리를 적게 차지해 속도가 빠르다.

✅ GUI(Graphic User Interface)

  • 그래픽으로 사용자와 소통하기 때문에 직관적으로 작업이 가능하다. 보통 windows가 GUI 환경을 많이 사용한다.

✅ FHS(Filesystem Hierarchy Standard)

  • 파일 시스템 계층구조(FHS)란 리눅스에서 사용되는 규칙으로, 용도별로 디렉토리 구조를 정의한다.

✅ root(/)

  • 루트 폴더. 최상위 경로 / 기호로 접근할 수 있다.

✅ /home(~)

  • 윈도우: C드라이브/User/사용자명 => 바탕화면, 다운로드, 내 문서
  • 유저의 공간, 가장 빈번하게 사용하게 되는 경오, Home 디렉토리 이외의 다른 디렉토리 들은 주로 system dirextory 라고 하는데, 즉 리눅스의 운영과 관리에 관련한 파일들이 존재하는 디렉토리들. ~ 기호로 곧바로 접근할 수 있다.

✅ /bin & /sbin

  • 윈도우: C드라이브/windows/system32 폴더
  • Binary의 약자, OS의 최소한의 구동을 위해 필요한 프로그램이 들어있는 폴더. (cat, chmod, chown, cp, date, echo, kill, ln, ls, mkdir, etx) 와 같은 기초적인 프로그램들이 포함
  • sbin 폴더는 bin과 유사하지만 오직 루트유저 전용 프로그램 포함

✅ /usr

  • 윈도우: C드라이브/Users/사용자1
  • user의 약자, 각 유저 이름에 해당하는 폴더이름이 존재, 각 폴더마자 bin, shared, lib과 같이 각 유저들이 사용할 수 있는 폴더가 생성되어 있음. 각각의 유저별로 다른 파이션으로 존재하기 때문에 다른 사용자들이 사용할 수 있도록 마운트할 수 있지만 이경우 수정할 수 없음.

✅ PATH

  • /: root 디렉토리
  • ~: home 디렉토리
  • 절대경로: Absolute path는 이름 그대로 절대적 경로, 경로를 표현하는 방식이 room 디렉토리 부터 시작한다는 점에서 "완전한" 의미에 더욱 가까움 (ex. /home/eun/bin)
  • 상대경로: Relative path, 현재 자신의 위치를 기반으로 움직이는 경로 (ex cd..)
    -.: 현재 경로
    -..: 상위 경로
  • 환경변수
    - OS도 프로그램이기 때문에 OS가 동작하기 위해 변수가 필요
    • env 명령어로 linux의 환경변수 확인

  • $PATH
    - 터미널에서 사용하는 명령어의 경로가 저장되어 있다.

    • 여러 경로를 저장하기 위해 각 경로는 : 으로 구분된다.

    • - 실제 `ls` 명령어는 `/bin` 디렉토리 안에 위치해 있다. `where is`

✅ Configs

  • 리눅스에서 주로 파일을 통하여 성정(config).(ex .bashrc, .zshrc)
  • shell 설정 파일을 비롯한 많은 설정 파일들이 대부분 유저의 home(~) 디렉토리에 있음

  • . 으로 시작하는 파일 및 디렉토리는 숨김파일로 간주(dot file)
  • lsa 옵션을 (all) 주어야지만 볼 수 있음.
  • alias(별칭, "다른 방법으로"): 일종의 사용자 지정 단출 명령러(.bashrc, .zshrc 등에 등록)

✅ Terminal 명령어

profile
나는 프론트엔드 개발자다!

0개의 댓글