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
'Code > Dev environment' 카테고리의 다른 글
[package] patch-package로 오픈 소스 수정하여 사용하기 (0) | 2023.10.01 |
---|---|
[AWS] amplify 배포 / 빌드 현황 슬랙 웹훅(slack webhook) 알람봇 구현 (lambda) (0) | 2023.09.23 |