Command Line Interface(CLI)
Why Command Line Interface?
- 빠르다.
- 강력하다.
- 접근성이 좋다.
Why *nix(linux/unix)?
- 서버 시장에서의 *nix 점유율이 매우 높음
- AWS 및 Azure 등에서 제공하는 서버는 대부분 *nix계열
- Open Source!
Useful Commands
- 파일 보기: ls
- 디렉토리로 이동: cd
- 홈 디렉토리(현재 사용자의 개인화 파일들이 있는 디렉토리)
cd ~
- 루트 디렉토리(시스템의 최상위 디렉토리)
cd /
- 현재 디렉토리
cd .
- 부모 디렉토리
cd ..
- 현재 디렉토리 확인
pwd
- 파일 이름에 공백이 있을 떈?
- 일단[Tab]키를 누르면 자동으로 완성이 됩니다.
- My Documents 라는 디렉토리로 이동하고 싶다면?
- cd My\ Documents
- 주요 명령어
- 빈 파일 생성
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]
- 삭제: rm
rm 명령어는 정말 삭제할 것인지 확인을 하지 않으며 한 번 삭제된 파일은 휴지통에 들어가지 않습
니다.
- 파일 삭제
rm [filename]
- 관리자 권한으로 실행: sudo
- 관리자만 읽을 수 있는 파일 읽기
- 새로운 프로그램 설치
- 새로운 프로그램 설치시 Package Manager를 이용하는 것이 보편적이비낟.
- sudo는 권한 문제를 해결하는 솔루션이 아닙니다. 필요에 따라 현명하게 사용해야 합니다. 가능한 user 권한으로 해결할 수 있어야 합니다.
- sudo는 한번만 인증하면 그 이후는 생략합니다.
- 권한 : ls -al의 상세 내용

1. 접근 권한(읽기/쓰기/실행 가능)여부 chmod 명령어
2. 링크된 파일 갯수
3. 소유자
4. 소유그룹
5. 파일 크기
6. 만든 날짜
7. 만든 시간
8. 파일/디렉토리 이름
- 파일 소유권 변경: (sudo) chown owner(유저네임): group(그룹네임) file
- GUI 프로그램의 실행을 더 간편하게
- 현재 폴더를 Windows 파일 관리자에서 보기
explorer .
- 현재 폴더를 macOS Finder에서 보기
open .
- 현재 폴더를 VS Code 에디터로 열기
code .
- 자주 사용하게 될 CLI 프로그램
- 버전 관리 시스템 git
- Package Manager(프로그램 추가/삭제)
-Ubuntu: apt
-macOS: Homebrew
-Windows: chocolatey
- 텍스트 에디터 vim
- 클라우드 서비스 관리 AWS CLI