CLI(Command-Line Interface)
명령어를 입력해 컴퓨터를 조작하는 방식이고 GUI(Graphical User Interface) 과 같은 기능을 담당한다.
GUI는 윈도우즈나 macOS, 또는 Linux에서 사용자가 화면을 통해 컴퓨터와 소통하는 방식, GUI의 대표 주자는 윈도우즈
윈도우즈는 새로운 폴더를 만드고 이름을 정하는 방법을 모르는 사람은 없다. 그건 GUI가 익숙하기 때문.
CLI는 "mkdir codestates" 명령어 한 줄로 폴더를 만들 수 있다.
CLI의 기본 명령어
컴퓨터를 조작하기 위해서는 다양한 입력(Input)이 필요하고 키보드, 마우스, 마이크, 카메라등 컴퓨터에 새로운 명령을 전달하는 모든 소스
를 입력 소스(input source)라 한다.
반대로, 입력소스에 의해 또는 작성된 프로그램에 의해 모니터에 화면을 나타내거나, 음악을 재생하면 소리를 스피커로 전달하여 사용자가
인식할 수 있도록 하는 일을 출력(Output)이라고 한다. 그외에도 스마트 홈을 연결하여 전등이나 공기청정기를 조작하는 경우, 전등이나 공
기청정기도 출력(Output)이다.
컴퓨터를 조작하기 위한 입력과 출력을 간단하게 I/O(Input/Output)라고 표기하며, "아이오"라고 읽습니다.
pwd : 현재 위치 확인하기 - 입력 Code : pwd

mkdir : 새로운 폴더 생성하기 - 입력 Code : mkdir [폴더명]

ls : 특정 폴더에 포함된 파일 및 폴더 확인하기 - 입력 Code : ls

ls -a : 숨어있는 폴더나 파일을 포함한 모든 항목을 터미널에 출력
ls -l : 폴더나 파일의 포맷을 전부 표현하라는 의미
nautilus . / open . : 폴더를 GUI의 형태로 탐색기 실행(Ubuntu / Mac)

cd : 폴더에 진입하기 - 입력 Code : cd [폴더명]
폴더명을 적지않을시 외부폴더로 이동

touch : 파일 생성하기 - 입력 Code : touch [파일명]

cat : 파일의 내용을 터미널에 출력하기 - 입력 Code : cat [파일명]

rm : 폴더 또는 파일 삭제하기 - 입력 Code : rm -rf [폴더명] & rm [파일명]
옵션 r 은 폴더를 지울 때 사용하고, 옵션 f 는 질문을 받지 않고 지울 때 사용
따라서 파일을 지울때는 rm, 폴더를 지울때는 rm -rf 를 사용하면 됨

mv : 폴더 또는 파일 이동하기 / 폴더 또는 파일 이름 바꾸기 - 입력 Code : mv [파일명] [폴더명]

cp : 폴더 또는 파일을 복제하기 - 입력 Code : cp [파일명] [파일명2] & cp -rf [폴더명] [폴더명2]

CLI 에디터 nano
CLI에서 환경에서 가장 사용하기 쉬운 에디터, AWS(Amazon Web Service)와 같은 원격 서버 환경에서 원격으로 텍스트 파일을 편집해야 하는 경우 사용
nano : nano 실행 - 입력 Code : nano 또는 nano [파일명]

nano 기능 설명
파일 열기
^R , Ctrl + R 을 눌러 열기 가능
파일 편집 후 종료
^X , Ctrl + X 를 눌러 파일의 변경사항이 존재하면, 종료시에 저장여부를 확인
Ctrl + X 를 누르면 수정한 버퍼 내용을 저장하시겠습니까? 라는 문구가 뜸
Y 또는 N 를 눌러 저장 여부를 결정할 수 있음
파일 저장
^O , Ctrl + O 을 눌러 저장 가능