[운영체제] Basic Computer Class - OS, file system, terminal

Recorder·2021년 7월 20일
0

CS 이론

목록 보기
6/7

프로그래밍을 하기 위해선 컴퓨터의 기본적인 구조와 원리를 알아두는 것이 좋다. 여기선 그 중 파일 시스템과 터미널의 기본적인 원리를 간단히 알아보도록 하겠다.

(기본적인 내용이라 프로그래머라면 이미 익숙한 경우가 많겠지만, 초심자이거나 아직 모른다면 반드시 기본적으로 숙지해야 하는 내용이다. 모른다면 관련 공부를 할 때 실습을 따라갈 수 없을 가능성이 높다.)


1. Computer Operating System

흔히 OS, 한국어로는 운영체제라고 부르는 것이다.
OS 란 프로그램이 동작할 수 있는 구동환경을 의미한다.

휴대폰이나 컴퓨터 등 하드웨어 디바이스와 어플리케이션 사이에 존재한다.

우리가 알고 있는 대표적인 OS로는 Windows, Mac, Linux 등이 있다.

A. OS 종속성

우리가 사용하는 대부분의 프로그램은 이 OS에 종속적이다. 즉 OS에 따라 사용하는 프로그램이 나뉘어 있는 것이다.

일반 사용자들이 OS 종속성을 경험할 수 있는 대표적인 예시는 프로그램을 다운로드할 때이다.
우리는 프로그램을 다운로드할 때, 자신이 Windows 환경을 사용하는지, Mac 환경을 사용하는지에 따라 다른 프로그램을 설치해야한다. 이 이유는 해당 프로그램이 OS에 종속적이기 때문이다.

(예외적으로 OS에 독립적으로 사용할 수 있는 것들도 있다. 예를 들면, Python은 OS에 독립적으로 사용할 수 있는 프로그래밍 언어이다.)


2. File System

파일시스템이란 OS에서 파일을 저장하는 트리구조의 저장체제이다.
흔히 우리가 노트북에 파일을 저장해두는 체계를 생각하면 된다.

파일 시스템은 파일과 디랙토리로 이루어져있다.
디렉토리는 윈도우에서 흔히 폴더라고 부르는 것으로, 파일이나 다른 디텍토리를 포함할 수 있는 그룹을 의미한다.
파일은 컴퓨터에서 정보를 저장하는 논리적인 단위로, 파일명과 확장자 형태로 식별된다. 예를 들면, hello.py라는 파일이 있으면, hello는 파일면 py는 확장자이다.

대표적으로 Windows에서 windows key + E를 누르면 나타나는 파일탐색기도 파일시스템이다.
아래와 같은 화면에서 다운로드, 동영상, 바탕화면 등과 그 속의 캡쳐, 비디오프로텍트, 스크린샷 등의 폴더들이 모두 디렉토리이며, 그 속 txt, word 등 문서들이 모두 파일이다.

A. 경로

경로란 파일의 고유한 위치를 나타내기 위해, 트리구조 상의 노드의 연결을 표시하는 것을 의미한다.

경로는 절대경로와 상대경로로 나누어진다.

👉 절대경로루트 디텍토리를 기준으로 위치를 나타내는 것이다.
루트 디렉토리란 파일 시스템이 시작하는 첫 디렉토리로 윈도우의 경우 C드라이브가 일반적인 루트 리텍토리이다.

ex) C:\Users\abc\Desktop\부스트캠프\오리엔테이션.pdf
위의 예의 경우 C드라이브 안에 Users라는 폴더가 있고, 그 속에 abc라는 폴더가 있고, 그 속에 Desktop이라는 폴더가 있고, 그 속에 부스트캠프라는 폴더가 있을 때, 그 속에 있는 오리엔테이션.pdf라는 파일의 절대경로를 나타내는 것이다.

👉 상대경로현재 디렉토리를 기준으로 위치를 나타내는 것이다.
.\는 현재 디렉토리를, ..\는 부모 디텍토리(해당 폴더를 포함하는 한 단계 위 상위 디렉토리)를 의미한다. 현재 디텍토리를 나타내는 .\는 생략되기도 한다.
ex) .\..\부스트캠프\오리엔테이션.pdf
위의 예의 경우, 현재있는 폴더를 포함하고 있는 A폴더가 있고, A폴더 속에 부스트캠프라는 폴더가 있으며, 그 속에 있는 오리엔테이션.pdf라는 폴더를 나타낸다.


3. Terminal

터미널이란 마우스가 아닌 키보드로 명령을 입력하는 환경을 의미한다.

A. 입력 환경

대표적인 명령 입력 환경은 GUI, CLI 2가지가 있다.
👉 GUI(Graphical User InterFace)는 우리가 일반적으로 컴퓨터에서 마우스로 아이콘을 클릭해서 원하는 기능(파일 열기, 화면 전환 등)을 실행하는 것을 의미한다.
👉 CLI(Command Line Interface)는 마우스를 사용하지 않고, 키보드로 명령어(text)를 입력해서 원하는 기능을 수행하는 것을 의미한다.

Windows에서는 CMD window, Windows Terminal 이라는 CLI를 제공하고,
Mac이나 Linux는 Terminal 이라는 CLI를 제공한다.

B. Terminal 시작하기

👉 Mac : 빠른실행 terminal 입력
맥 사용자의 경우 일반적으로 많이 사용하는 환경이다.
👉 윈도우
윈도우 사용자의 경우 CLI 사용이 익숙하지 않을 수 있다. 가장 쉽게 접근하라 수 있는 방법은 명령프롬프트(CMD)를 이용하는 것이다. CMD에 접근하는 가장 쉬운 방법은

window key + R 입력 후 cmd라고 입력하거나

windows key를 누른 후 명령 프롬프트를 선택하는 것이 일반적이다.

위 둘 중 하나를 할 경우, 아래와 같은 terminal이 나타난다.

이는 기본적으로 윈도우에 내장 되어있는 terminal이다.

🔑 편의에 따라 추가적으로 프로그램을 설치해서 terminal을 사용할 수도 있다.

예를 들어, microsoft store에 들어가서 Windows Terminal이나 Ubuntu를 설치해서 사용할 수 있다.

또는 cmder(https://cmder.net/)를 설치해서 사용할 수도 있다. 리눅스 명령어를 그대로 사요할 수 있으며 화면 조정이 편하다는 장점이 있다.
(구글에 검색하면 환경변수 설정 등 설치법을 참고할 수 있다.)

또한 Anaconda Prompt 도 많이 사용한다.

C. 명령어 사용법

각 터미널에는 shell이 존재하며, shell마다 다른 명령어를 사용한다.

shell은 명령어를 인식해서, 동작하도록 연결해 주는 인터페이스이다.
대표적으로는 PowerShell, CMD 창, bash, zsh 등이 있다.

👉 그 중 윈도우 CMD의 예를 통해, CLI에서 명령어를 사용하는 방법을 알아보자.

윈도우 CMD에서 사용하는 가장 기본적인 명령어 예는 아래와 같다.

- cd : change directory, 현재 디렉터리 이름을 보여주거나 바꾼다.
- cls : clear screen, CMD 화면에 표시된 것을 모두 지운다.
- copy : copy, 하나 이상의 파일을 다른 위치로 복사한다.
- del : delete, 하나 이상의 파일을 지운다.
- dir : directory, 디렉터리에 있는 파일과 하위 디렉터리 목록을 보여준다.

CMD 창을 열면 아래와 같은 화면이 보인다.

위와 같이 나타난다면, 현재 디렉토리는 C:\Users\hj99y> 이다.

여기서 다른 디렉토리로 이동해보자.
현재 디텍토리를 바꾸는 명령어는 cd이다. cd 경로 형태로 입력해주면 원하는 경로로 이동할 수 있다.

이와 같이 입력하고 enter key를 눌러주면

이와 같이 현재 디렉토리의 위치가 바뀐 것을 확인 할 수 있다.

profile
기억은 나 대신 컴퓨터가

0개의 댓글