CLI (Command Line Interface) 개념 및 주요 명령어
Code/Dev environment

CLI (Command Line Interface) 개념 및 주요 명령어

반응형

Command Line Interface(이하 CLI)는 Graphic User Interface(이하 GUI)와는 다르게  마우스와 각종 UI 컴포넌트 대신, 표준 입출력 시스템(Standard I/O)을 통한 입력과 그에 따른 결과를 출력하는 형태로 나타낸다.

 

컴퓨터의 시작은 GUI가 아닌 CLI였으며, 시대를 거쳐서 우리는 마우스나, 터치를 이용한 직관적인 프로그램의 형태를 만날 수 있었다.

그러나 여전히 CLI는 여러가지 측면에서 유리하고, 개발자라면 반드시 배워야 할 주요 스킬이다.

강력하고 빠른 배치 작업들을 수행할 수 있으며, 컴퓨터, 특히 Unix/Linux 시스템을 깊이 알기 위해서는 많은 부분을 CLI를 이용해야만한다.

 

왜 Command Line interface인가?

빠르고, 강력하고, 접근성이 좋다.

 

왜 LINUX/UNIX 인가?

서버 시장에서의 *nix 점유율이 매우 높다.

AWS 및 Azure등에서 제공하는 서버는 대부분 *nix 계열

Open Source이다.

 

CLI 사용법

MAC : 기본 앱 중 '터미널' 을 검색하여 실행한다.

 

터미널 초기 실행 화면

터미널이 정상적으로 실행 되었다면, 명령어를 사용하여 터미널을 이용할 수 있다.

 

주요 명령어

 

디렉토리로 이동cd

 

cd ~

-홈 디렉토리 (현재 사용자의 개인화 파일들이 있는 디렉토리)

 

cd /

-루트 디렉토리 (시스템의 최상위 디렉토리)

 

cd .

-현재 디렉토리

 

cd ..

-부모 디렉토리

 

pwd

-현재 디렉토리 확인

 

touch [file_name]

- 빈 파일 생성

 

mkdir [dir_name]

- 디렉토리 생성

 

cat [file_name]

- 텍스트 형태의 파일 확인

 

mv [file_or_dir]  [target_dir]

- 파일 및 디렉토리 옮기기

 

mv [file_or_dir] [new_name]

- 파일 및 디렉토리 이름 바꾸기

 

cp [file] [target_dir]

cp -r [folder]

- 복사

 

파일 이름에 공백이 있을 경우엔?

[Tab]키로 자동 완성이 가능하다.

My Documents라는 디렉토리로 이동하고 싶다면?

 - cd my\ Documents

 

주요 명령어 사용 예시

 

 

삭제

 

rm 명령어는 정말 삭제할 것인지 확인을 하지 않으며, 한 번 삭제된 파일은 휴지통에 들어가지 않는다.

 

rm [filename]

- 파일 삭제

 

rm -r [dirname]

- 폴더 삭제

 

관리자 권한으로 실행

sudo

관리자만 읽을 수 있는 파일 읽기

 

 

sudo는 권한 문제를 해결하는 솔루션이 아니다.

필요에 따라 현명하게 사용해야 한다. // 가능한 user 권한으로 해결할 수 있어야 한다.

sudo는 한 번만 인증하면 그 이후는 생략 가능하다.

 

권한?

 

ls -al의 상세 내용

 

1. 접근 권한 (읽기/쓰기/실행 가능) 여부

  - chmod 명령어

 

2. 링크된 파일 갯수

3. 소유자

4, 소유 그룹

5. 파일 크기

6. 만든 날짜

7. 만든 시간

8. 파일 / 디렉토리 이름

 

파일 소유권 변경

chown owner:group file

 

 

GUI 프로그램의 실행으로 더 간편하게 하는 법

 

explorer .

현재 폴더를 Windows 파일 관리자에서 보기

 

open .

현재 폴더를 macOS Finder에서 보기

 

code .

현재 폴더를 VS Code 에디터로 열기

 

자주 사용하게 될 CLI 프로그램

-버전 관리 시스템 git

 

-Package Manager (프로그램 추가/삭제)

 ㄴ Ubuntu: apt

 ㄴ macOS: Homebrew

 ㄴ Windows: chocolatey

 

-텍스트 에디터 vim

-클라우드 서비스 관리 AWS CLI

 

반응형