CLI

Verba volant, scripta manent·2021년 1월 16일
0

Git & CLI

목록 보기
2/2
post-thumbnail

CLI란?

Command Line Interface(CLI)란 가상 터미널 또는 [텍스트 터미널]을 통해 사용자와 컴퓨터가 상호 작용하는 방식을 뜻한다.
즉, 작업 명령은 사용자가 툴바 키보드 등을 통해 문자열의 형태로 입력하며, 컴퓨터로부터의 출력 역시 문자열의 형태로 주어진다.

CLI의 장점

  1. 빠르다.
  2. 강력하다.
  3. 접근성이 좋다.

CLI 작동방식

CLI는 "입력"과 "출력"이라는 2개의 단위로 구성되어있다.

이러한 입출력이 가능하게 해주는 소프트웨어나 하드웨어를 터미널(terminal)이라고 하는데, 앞으로는 이 터미널에서 CLI의 명령어를 쓰게 될 것이다.

기본적인 CLI 명령어

1. 파일보기 : ls (list / list the information about the files)

현재 디렉토리 안의 자식 디렉토리나 파일들의 리스트를 보여준다.

yeon@yeon-System-Product-Name:~$ ls
Downloads   pre-sprint-calculator      공개      바탕화면  음악
README.md   pre-sprint-query-selector  다운로드  비디오    템플릿
codestates  snap                       문서      사진

<세부 명령어>
ls -l (long listing format): 결과를 긴 리스트 형식으로 보여준다
ls -a (all): 숨겨져 있는 자식 디렉토리나 파일을 볼 수 있음
ls -al: 두 가지를 모두 실행. 이렇게 겹쳐 사용도 가능하다
ls -l .파일명: 이렇게 파일도 자세히 볼 수 있다.

2. 디렉토리로 이동 : cd (change directory)

cd 뒤에 이동하기를 원하는 디렉토리를 쓴다.

홈 디렉토리 (현재 사용자의 개인화 파일들이 있는 디렉토리)
cd ~
루트 디렉토리 (시스템의 최상위 디렉토리)
cd /
현재 디렉토리
cd .
부모 디렉토리
cd ..
현재 디렉토리 확인
pwd

파일이름에 공백이 있을 경우에는 [Tab]키를 눌러본다.
만약 My Documents라는 디렉토리로 이동하고 싶다면
cd My\ Documents 를 입력한다.

3. 빈 파일 생성 : touch

새 파일을 생성한다.

touch [file_name]

ex)
touch CS : CS 라는 파일이 만들어진다.

4. 디렉토리 생성 : mkdir (make directory)

디렉토리를 만든다.

mkdir [dir_name]

ex)
mkdir code : code 라는 디렉토리가 만들어진다.
mkdir code/pad : code 디렉토리 안에 pad 디렉토리가 만들어진다.

5. 텍스트 형태의 파일 확인 : cat (concat)

cat [file_name]

6. 파일 및 디렉토리 옮기기 : mv (move)

디렉토리나 파일을 옮긴다.

mv [file_or_dir] [target_dir]

ex)
mv test code : test 파일을 code 디렉토리로 옮긴다.
mv code .. : code 라는 파일을 홈 디렉토리로 옮긴다.

7. 파일 및 디렉토리 이름 바꾸기 : mv (move)

디렉토리나 파일의 이름을 변경한다.

mv [file_or_dir] [new_name]

ex)
mv test sparta : test 파일을 sparta로 바꾼다.
mv code kit : code라는 디렉토리를 kit로 바꾼다.

8. 복사 & 붙여넣기 : cp (copy & paste)

파일을 복사해서 붙여넣는다.

이때 붙여 넣으려는 파일이 이미 존재하면 기존 파일의 내용을 덮어쓴다.

cp [file] [target_dir]
cp -r [folder]

ex)
cp first second : 원본 first 파일로 복사본 second를 만든다.

9. 삭제 : rm (remove)

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

  • 파일 삭제 : rm [filename]
  • 폴더 삭제 : rm -r [dirname]

sudo

sudo는 권한 문제를 해결하는 솔루션이 아니다.
필요에 따라 현명하게 사용해야 하며 가능한한 user 권한으로 해결할 수 있어야 한다.
sudo는 한번만 인증하면 그 이후는 생략한다.

파일 소유권 변경

chown owner:group file
sudo touch testfile.txt
ls -al

GUI 프로그램의 실행을 더 간편하게 하기 위한 것

  • 현재 폴더를 Windows 파일 관리자에서 보기
    explorer .
  • 현재 폴더를 macOS Finder에서 보기
    open .
  • 현재 폴더를 VS Code 에디터로 열기
    code .

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

  • 버전 관리 시스템 git
  • Package Manager (프로그램 추가/삭제)
    Ubuntu: apt
    macOS: Homebrew
    Windows: chocolatey
  • 텍스트 에디터 vim
  • 클라우드 서비스 관리 AWS CLI
profile
말은 사라지지만 기록은 남는다

0개의 댓글