Wecode - Foundation 1 (부트캠프)/Linux, Terminal

[Linux] Directory, 절대경로, 상대경로, 환경path, config / 운영체제, 커넬(Kernel) & 쉘(Shell)

Queen Julia 2023. 8. 30. 19:53

Linux

Linux는 유닉스 계열로 만들어진 오픈소스 운영체제

모든 것들을 파일로 관리 

계층구조(tree 구조)의 디렉토리 

 

 

그렇다면 운영체제는 무엇인가? 


운영체제(OS) 

Operating System

 

컴퓨터 시스템 자원들을 효율적으로 관리, 

사용자가 컴퓨터를 편리, 효과적으로 사용할 수 있게 관리해주는 소프트웨어

 

  • 응용 프로그램이나 사용자에게/ 컴퓨터의 자원을 사용할 수 있는 인터페이스 제공/ 결과를 돌려줌
  • 응용 프로그램이나 사용자에게 /모든 컴퓨터의 자원을 숨기고, 정해진 방법으로만 컴퓨터의 자원을 사용할 수 있도록 제한 

사용자는 운영체제가 제공하는 인터페이스를 통해서만 컴퓨터의 자원을 접근하도록 함으로써,

컴퓨터의 자원을 보호하고 효율적으로 관리

 

운영체제의 커널(Kernel) & (Shell)

커넬

  • 운영체제의 핵심 기능들이 모여있다
  • 사용자와 응용 프로그램에 인접하여 커널에 명령 전달, 실행 결과를 사용자와 응용 프로그램에 전달/돌려주는 인터페이스로 구성
  •  프로세스 관리, 메모리 관리, 파일 시스템 관리, 입출력 관리, 프로세스 간에 통신 관리

 

  • 응용프로그램과 커널 사이의 명령어 해석기 (명령어와 커널이 대화 도움)

즉, 사용자가 명령어를 입력하게 되면 

컴퓨터 내부에서는 쉘이 이를 받아들이고, 명령어를 해석 

커널이 하드웨어를 조작하게 합니다.

쉘은 크게 Windows와 같은 GUI(Graphical User Interface)와 Linux에서 사용되는 CLI(Command Line Interface)가 있습니다.


다시 Linux로 돌아가서, 

 

파일 종류에는

  • 일반 파일 : 데이터 저장에 사용 (실행, 데이터, 이미지 파일-->  binary 0과 1 형태 파일/ 텍스트 -> vi, vim 문서 편집기 명령어로 내용 보거나 수정 가능) 
  • directory 파일 : directory 도 파일의 한 종류 (해당 directory에 저장된 정보, 하위 directory에 대한 정보 담음)
  • 링크 파일: 원본 파일을 대신하기 위해 다른 파일명으로 지정 ('바로가기' 기능)
  • 장치 파일 : 장치(hardware) 관리하는 파일 (CPU, CD-ROM) 

 

root directory ( / 

시작점(가장 위)

모든 디렉토리의 최상위 디렉토리

절대경로 표기할 때 이거로 시작

/home (~)

사용자들의 home directory가 있는 곳 

User 사용자의 공간 (window C드라이브/Users/사용자명과 비슷한 역할)

가장 빈번하게 사용하는 경로 

 


home directory,  system directory 

home directory <=> system directory (리눅스 운영 & 관리 관련 파일들 존재)  

 

home directory: 2가지 (사용자에 따라 구분됨) 

  • 일반 사용자: /home/user_name
  • 루트 사용자: /root 

system directory : home directory 를 제외한 모든 directory 


/bin

일반 사용자 (기본적 명령어)

Binary 의 약자 

OS의 최소한의 구동 위해 필요한 프로그램 들어있는 directory 

기초적 프로그램 포함 

 

/sbin 

root 사용자 (시스템 관리/ 운영을 위한 명령어)

/bin과 유사하지만 오직 root 사용자 전용 프로그램 

(예 rebbot, tcpdump, fdisk) 

 

/usr/bin

/bin에 있는 명령을 제외한 

기본적인 명령어 (일반 사용자)

 

/usr/sbin

/sbin에 있는 명령을 제외한

시스템 관리 위한 명령어 (root 사용자)

 

/root 

root 사용자의 홈 디렉토리 (다른 사용자 접근 불가) 


PATH - 절대경로, 상대경로 

절대경로 
Absolute path 

경로를 표현하는 방식이 root directory부터 시작~ 목적지까지의 실제 경로 

ex. /home, /eun , /bin

 

현재 나의 위치와 상관없이 이동할 수 있다! 

 

 

상대경로 
Relatvie Path 

현재 내 위치를 기반으로 나타내는 경로 

 

  • .  현재 내가 있는 경로요소 
  • ..  이전 위치로 가기 (이전 폴더)

 


환경변수

환경: 현재 돌아가고 있는 shell

변수: variable 

--> 환경변수 = shell의 어떤 설정값을 갖고 있는 변수 

 

shell이 돌아가는 동안 계속 존재하고 사용됨

(env 명령어)

PATH 환경변수

환경변수들 중 이해해야 하는 변수는

PATH 환경변수

 

명령어들을 찾을 수 있는 경로들을 저장해놓은 환경변수 

PATH 환경변수에는 터미널에서 사용하는 명령어들의 경로가 저장되어있음 (하나하나 프로그램 위치 찾는 게 아닌, 해당 명령어 실행되게)


Configs 설정파일 / 숨김파일/ dot file 

Linux에서 필요한 설정(config)들을 파일 통해 적용

ex.shell 

 

주로 . 로 시작 

숨김파일로 간주 (dot file)

ls-a 명령어로 볼 수 (all)