본문 바로가기
BackEnd

Linux & Terminal

by SoriKim 2023. 8. 2.
반응형

1. 커널(Kernel) 이란

운영체제의 가장 중심으로 매우 중요한 소프트웨어와 하드웨어의 자원을 자원이 필요한 프로세스 나눠주며 프로그램이 운영 체제에 요구하는 시스템 콜(파일 생성, 쓰기, 읽기, 키보드 입력 등)을 수행하는 부분입니다. 

커널로 운영 체제의 정체성을 결정하여 매우 중요합니다. 

2. Linux란 

리눅스 커널을 사용하는 운영체제(OS)를 가리키는 말입니다. 안드로이드도 해당 리눅스 커널을 가져다 사용하며 모든 소스 코드가 공개되어 있는 대표적인 오픈 소스 소프웨어입니다. 

리눅스는 핀란드 헬싱키 공대 대학생이던 리누스 토르발스가 미닉스 OS를 사용하는 컴퓨터에서 작업해 만들어졌으며 이후 리누스가 개발해 '리눅스'라는 이름이 붙여져 리눅스로 불리게 되었습니다. 

 

2-1.  Linux의 파일 구조 

리눅스의 파일구조는 tree 형태로 되어 있으며 tree의 구조는 노드(트리를 구성하는 기본 요소)들이 나무 가지 처럼 연결된 비선형 계층적 자료구조 입니다. 리눅스의 운영 체제의 주 디렉토리를 정의하는 파일 시스템 계층구조 표준(Filesystem Hierachy Standard, FHS)으로 Root directory라고 합니다. 

시작점에 root 디렉토리 안에 여러 하위 디렉토리 들이 존재하며 각 디렉토리들은   /    로 구분합니다. 

시작점에 root는 최상위 경로를 의미하고, /home은 유저의 공간을 뜻하며  ~   해당 기호로 접근이 가능합니다.  

또한 /bin & /sbin은 Binary의 약자로 OS의 최소한 구동을 위해 필요한 프로그램이 들어가 있는 디렉토리 입니다. 

/sbin은 /bin과 유사하지만 오직 root 유저 전용 프로그램을 포함합니다. 

 

2-2. PATH와 PATH환경변수 

PATH는 절대경로와 상대경로가 있는데 경로를 표시하는 위치가 다릅니다. 

먼저 절대경로는 root 디렉토리부터 시작해 목적지까지의 실제 모든 경로들을 나타내며, 

상대경로는 내 위치와 상관없이 이동할 수 있는 절대경로와는 다르게 내 위치를 기반으로 나타내는 경로입니다. 

상대경로를 사용할 때는   .    : 현재 경로이며   ..   : 상위 경로를 뜻하는 심볼이 있습니다. 

 

환경변수는 shell의 어떤 설정 값을 가지고 있는 변수를 의미하며 이런 환경 변수들은 shell이 돌아가는 동안 계속 존재하고 사용됩니다. 환경 변수는  env  라는 명령어를 통해 PATH= ~ 라는 환경변수를 확인할 수 있습니다. 

PATH 환경변수는 명령어들을 찾을 수 있는 경로들을 저장해놓은 환경 변수로 터미널에서 현재 위치 파일 목록을 입력해 볼 수 있는 ls 라는 명령어를 사용할 때 정확한 경로를 입력하지 않고 ls 라는 명령어를 사용할 수 있는 이유는 PATH 환경 변수 때문에 가능합니다. 

 

2-3. Configs 

리눅스에서 필요한 설정(config)들은 파일을 통해 적용하며 대표적 설정 파일로는 shell 설정 파일이 있습니다. 

설정 파일은 주로  으로 시작 되며 해당 파일과 디렉토리는 숨긴 파일로 간주합니다. 

이런 숨긴 파일을 볼 수 있는 명령어는 ls 라는 명령어의 al 이라는 옵션을 붙여준 ls -al 를 입력하면 

해당 파일에 숨겨진 모든 파일들이 보여줍니다. 

 

 

[Wecode 자료 참고]

반응형

'BackEnd' 카테고리의 다른 글

Wecode 2st Project 회고록  (0) 2023.09.03
Wecode 1차 프로젝트 회고록  (0) 2023.08.20
Database  (0) 2023.08.15
API에 대해 알아보기  (0) 2023.08.02
웹 서비스란? 웹 서비스의 역사와 발전  (0) 2023.07.31

댓글