Linux & Terminal

이정아·2021년 9월 25일
0
post-thumbnail

리눅스(Linux) : 컴퓨터 운영체제 중 하나이며, 1991년 리누스 토발즈에 의해 개발되었다. 자유롭게 재배포가 가능하므로 누구든지 배포판을 만들 수 있고 300여개의 배포판이 존재한다.

Terminal : 리눅스 서버에 명령어를 전달하는 수단

1) Linux 핵심 개념

:: FHS(Filesystem Hierarchy Standard)


1. root(/)

  • 루트 폴더. 최상위 경로. / 기호로 접근할 수 있다.
  1. /home (~)
    • 윈도우 : C드라이브/Users/사용자명 ⇒ 바탕 화면, 다운로드, 내 문서
    • 유저의 공간. 가장 빈번하게 사용하게 되는 경로. Home 디렉토리 이외의 다른 디렉토리 들은 주로 system directory 라고 하는데, 즉 리눅스의 운영과 관리에 관련한 파일들이 존재하는 디렉토리들. ~ 기호로 곧바로 접근할 수 있다.
  1. /bin & /sbin
    • 윈도우 : C드라이브/windows/system32 폴더
    • Binary의 약자. OS의 최소한의 구동을 위해 필요한 프로그램이 들어있는 폴더. cat, chmod, chown, cp, date, echo, kill, ln, ls, mkdir, etx 와 같은 기초적인 프로그램들이 포함.
    • sbin 폴더는 bin과 유사하지만 오직 루트유저 전용 프로그램 포함.
  1. /usr
    • 윈도우 : C드라이브/Users/사용자1
    • user의 약자. 각 유저 이름에 해당하는 폴더이름이 존재. 각 폴더마다 bin, sbin, shared, lib과같이 각 유저들이 사용할 수 있는 폴더가 생성되어 있음. 각각의 유저별로 다른 파티션으로 존재하기 때문에 다른 사용자들이 사용할 수 있도 록 마운트할 수 있지만 이 경우 수정할 수는 없음.

:: PATH

  • / : root 디렉토리

  • ~ : home 디렉토리

  • 절대 경로 : Absolute path는 이름 그대로 절대적 경로. 경로를 표현하는 방식이 root 디렉토리 부터 시작한다는 점에서 "완전한"의 의미에 더욱 가까움. (ex. /home/eun/bin)

  • 상대 경로 : Relative path. 현재 자신의 위치를 기반으로 움직이는 경로. (ex. cd ..)

    • . : 현재 경로
    • .. : 상위 경로
  • 환경 변수

    • OS도 프로그램이기 때문에 OS가 동작하기 위해 변수가 필요
    • env 명령어로 linux의 환경변수 확인

    • $PATH
      • 터미널에서 사용하는 명령어의 경로가 저장되어 있다.
      • 여러 경로를 저장하기 위해 각 경로는 : 으로 구분된다.
PATH=/Users/apple/miniconda3/condabin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
  • 실제 ls 명령어는 /bin 디렉토리 안에 위치해 있다. whereis ls 를 입력해보자. 해당 명령어가 위치해 있는 경로를 별도로 지정해주지 않더라도 어디서든 사용이 가능한 이유 역시 환경 변수 덕분이다.

:: Configs

  • 리눅스에서는 주로 파일을 통하여 설정(config). (ex. .bashrc, .zshrc)
    • shell 설정 파일을 비롯한 많은 설정 파일들이 대부분 유저의 home(~) 디렉토리에 있음.
  • . 으로 시작하는 파일 및 디렉토리는 숨김파일로 간주(dot file)
  • lsa 옵션을(all) 주어야지만 볼 수 있음.
  • alias(별칭, "다른 방법으로") : 일종의 사용자 지정 단축 명령어 (.zshrc, .bashrc 등에 등록)
    alias myip="ipconfig getifaddr en0" # macOS
    alias myip="hostname -I" # ubuntu

2) 터미널 명령어

자주 사용하는 명령어 ❗️

0개의 댓글