오늘은 칼리 리눅스에 CLI를 다뤄보겠습니다
CLI : Command Line Interface
검은 화면에 글자를 입력해서 명령을 내리는 방식을 CLI라고 합니다
CLI, GUI 개념
우리가 사용하는 Windows 운영체제는 GUI 방식으로 구현되어 있습니다
GUI : Graphical User Interface 그래픽 화면으로 컴퓨터에게 명령을 내리는 방식입니다
Linux 운영체제는 CLI 기반으로 구현되어 있습니다 최근에는 GUI가 기본적으로 탑재되어 있지만, CLI로 더 많은 일을 할 수 있습니다
왜 CLI를 사용할까요?
첫 번째로 효율성이 뛰어납니다 GUI 방식으로 화면을 만들어서 표시하고, 처리하는 과정은 생각보다 많은 자원이 필요하지만 CLI 방식은 검은 화면에 글자를 입력만 하면 결과만 출력되기 때문에 그래픽으로 표현하는 과정을 생략할 수 있습니다
두 번째 작업 속도가 빨라집니다 예를 들어 Windows 특정 파일을 찾고 그 파일을 다른 폴더로 이동시키는 과정에서 많은 시간을 소모할 수 있습니다 하지만 CLI 방식으로 명령어 한 줄만 입력하면 이런 과정을 빠르게 해결할 수 있습니다
앞서 운영체제 소개 글에서 실제로 많은 서버들이 Linux를 서버를 사용하기 때문에 CLI 방식을 공부해봅시다
Kali Linux Command 입력하기
터미널을 키고 ifconfig 명령어를 입력해 보세요 이 명령어는 현재 IP 주소를 확인할 수 있습니다
clear 명령어를 입력하면 현재 입력된 내용들을 깨끗이 지울 수 있습니다
이렇게 말이죠 추가로 Ctrl + l(L 소문자)를 눌러보면 clear와 동일한 기능을 사용할 수 있습니다
clear의 단축키입니다!
그다음 id 명령어는 사용자의 계정 정보를 알려줍니다
Kali Linux Shell 개념
쉘은 명령어를 전달해 주는 프로그램입니다
OS(운영체제) 컴퓨터와 사용자 사이에 번역과 통역을 하는 역할인데요
운영체제는 통역 말고 다양한 일을 할 수 있고, 통역 일은 쉘이 할 수 있습니다
사용자가 컴퓨터에게 명령을 내렸을 때 이 명령을 컴퓨터의 언어로 바꿔 전달하고 실행한 결과를 받아 우리에게 전달해 주는 게 쉘이라고 합니다
쉘 프로그램은 종류도 다양합니다 zsh, bash, sh, csh, ksh 등등
기본적으로 사용자의 명령어를 컴퓨터에게 전달하는 일을 수행합니다
우리는 zsh를 다뤄보겠습니다 ( 칼리 리눅스가 zsh를 사용하기 때문입니다 )
이 터미널 프로그램에서 Shell이라는 프로그램을 실행시킬 수 있습니다
(터미널 프로그램 안에 Shell 프로그램이 실행됩니다)
ps -ef라는 명령어를 입력해 보면
이렇게 무언가 좌르륵 나오게 됩니다 ps 명령어는 현재 실행되고 있는 프로세스의 리스트를 확인하는 명령어입니다
뒤에 -ef는 옵션이라고 합니다
이 사진을 보면 빨간색 사각형 안에 qterminal이라는 프로세스가 실행되는 걸 알 수 있습니다
또한, 바로 밑에 zsh 프로세스가 실행되고 있습니다
root 바로 오른쪽에 있는 숫자는 PID, PPID ... 순서입니다
(현재 사진과 숫자가 다르게 보일 수 있습니다)
PID : Process ID 프로세스의 숫자 ID입니다
PPID : Parent Process ID입니다 (이 프로세스를 실행한 부모를 지칭합니다)
현재 qterminal PID:1310, PPID:1이고,
zsh PID:1323, PPID:1310입니다
즉 1310 ID를 가진 프로세스인 qterminal가 zsh를 실행시킨 겁니다
이 결과 터미널이라는 프로그램이 Shell이라는 프로그램을 실행시키는 걸 알 수 있습니다
다음 시간에는 쉘에게 명령어를 내리며 리눅스를 다뤄봅시다
[ 참고 사이트 ]