본 내용은 아래의 강의를 토대로 하여 작성하였습니다.
링크:https://opentutorials.org/module/3747
1. 강의 내용
GUI와 CLI
운영체제(OS)를 조작하는 방법은 두 가지가 있다. 비교해보면 아래와 같다.
Graphic User Interface(GUI) | Command Line Interface(CLI) |
쉽다 접근성 대중화 |
어렵다 |
당장 표로 봤을 때는 GUI가 압도적으로 CLI보다 훨씬 좋아 보인다. 하지만, CLI는 표에 기입하기 어려울 정도로 심오한 장점들을 가지고 있다.
CLI의 장점
-
시간의 순서에 따라 명령을 내릴 수 있다
-
GUI에 비해서 컴퓨터 자원을 거의 사용하지 않는다.
즉, CLI는 GUI에 비해서 배우기는 다소 어렵지만, 배운다면 효율적인 작업을 할 수 있다. 대표적으로, UI를 사용할 필요가 없는 서버 컴퓨터에서는 CLI를 주로 사용한다. 때문에, 서버 관련 프로그래밍을 배우고 싶다면, CLI는 기본 소양이라고 할 수 있다.
POSIX
POSIX(Portable Operating System Interface)는 유닉스 계열의 컴퓨터를 동일한 방법으로 제어하기 위한 표준이다. 유닉스 계열의 OS는 Linux, MacOS가 대표적이다. 이 운영체제들은 공통적으로 터미널로 제어할 수 있다.
반면에, 윈도는 CMD, PowerShell이라는 독자적인 기반이기 때문에 POSIX를 직접적으로 제어할 수 없고 에뮬레이터를 사용해야 한다.
CRUD
데이터를 저장하는 곳은 파일이고 많은 File을 정리하기 위해서 만들어진 도구는 Directory이다. CRUD는 이들 File과 Directory를 Create, Read, Update, Delete 하는 것을 말한다. 어떤 언어를 제어할 때, 이 4가지 요소가 가장 중요하다. POSIX의 CRUD는 아래와 같다.
명령어 사용하기
아주 간단하다. 맥 기준으로, 터미널을 켜고 명령어를 입력하면 끝. 이 강의에서 배운 명령어들은 3. 명령어에 있다.
숨긴 파일과 만들기
모든 숨긴 파일은. file.txt 형태로 존재한다. touch 명령어를 통해서 숨김 파일을 만들 수 있다.
touch. file.txt
상대 경로와 절대 경로
상대 경로는 내가 있는 경로를 기준으로 상위나 하위의 경로를 칭한다.. 반면, 절대 경로는 내가 어느 경로에 위치하든 간에, 언제나 그 해당 경로를 말한다.
절대경로 | 상대경로 |
cd users/username/documents | cd .. |
순차 작업시키기
mkdir dummy;cd dummy; touch dummy.txt;cd..;ls -R
;(세미콜론)을 사용하여 여러 명령어들을 입력하고 컴퓨터에게 한 번에 순차적으로 작업을 시킬 수 있다. 여기서 주의할 점이, 삭제와 같은 위험한 명령어를 썼을 경우에는 ;(세미콜론) 대신에 &&를 사용한다. &&의 기능은 해당 명령을 실행할 수 있으면 실행하고 성공한다면 다음 명령어로 넘어간다.
2. 느낀 점
터미널을 처음에 켰을 때, 영화에서 보던 검은색 바탕화면에 깜박이는 커서와 흰 글자들의 나열들이 나를 압도했었다. 과연 내가 이걸 다룰 수 있을까?라는 두려움이 있었지만, 생각보다 수업을 수월하게 따라갔다. (물론 이 강의는 아주 기초적인 수준이다) 그리고 HTML이나 CSS보다 더 재밌다는 생각을 하였다. 실습을 하는 도중에 터미널의 기본 화면이 너무 눈이 아파서 Homebrew와 iterm2, zsh, oh-my-zsh를 설치해서 보기 좋은 테마를 설정하였고 아주 만족스러웠다. 패키 지니 Shell이니 아주 복잡한 용어들이 많아서 설치하면서 컴퓨터에 해를 끼칠까 조마조마했다. 체크해서 나중에 단어의 개념들을 공부해야 할 것 같다.
순차 작업을 입력하다가 컴퓨터가 에러를 일으킬 뻔했다. 내 디렉터리에서 새로운 디렉토리를 만들고 그 디렉토리에 새로운 파일들을 만든 뒤 ls 명령으로 화면에 출력하려고 했는데, 왠걸. 파바밧하면서 글자들이 쭈루룩 올라오는 것이었다. 당황해서 강제 종료해버렸는데, 원인은 아마 나의 경로를 잘못 파악해서 한 단계 위의 디렉토리에서 ls명령이 실행되었기 때문에 그랬던 것 같다. 만약, 내가 rm -r과 같은 위험한 명령어를 썼다면 아주 꽤나 고생했을 것이다. 주의해야겠다.
3. 명령어
'programming study > CLI' 카테고리의 다른 글
[코드잇] 유닉스 커맨드 라인 (5) (2021.2.28) (0) | 2021.02.28 |
---|---|
[코드잇] 유닉스 커맨드 라인 (4) (2021.2.28) (0) | 2021.02.28 |
[코드잇] 유닉스 커맨드 라인 (3) (2021.2.28) (0) | 2021.02.28 |
[코드잇] 유닉스 커맨드 라인 (2) (2021.2.28) (0) | 2021.02.28 |
[코드잇] 유닉스 커맨드 라인 (1) (2021.2.27) (0) | 2021.02.27 |