Command Line Interface(CLI)란 가상 터미널 또는 [텍스트 터미널]을 통해 사용자와 컴퓨터가 상호 작용하는 방식을 뜻한다.
즉, 작업 명령은 사용자가 툴바 키보드 등을 통해 문자열의 형태로 입력하며, 컴퓨터로부터의 출력 역시 문자열의 형태로 주어진다.
CLI는 "입력"과 "출력"이라는 2개의 단위로 구성되어있다.
이러한 입출력이 가능하게 해주는 소프트웨어나 하드웨어를 터미널(terminal)이라고 하는데, 앞으로는 이 터미널에서 CLI의 명령어를 쓰게 될 것이다.
현재 디렉토리 안의 자식 디렉토리나 파일들의 리스트를 보여준다.
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 .파일명
: 이렇게 파일도 자세히 볼 수 있다.
cd 뒤에 이동하기를 원하는 디렉토리를 쓴다.
홈 디렉토리 (현재 사용자의 개인화 파일들이 있는 디렉토리)
cd ~
루트 디렉토리 (시스템의 최상위 디렉토리)
cd /
현재 디렉토리
cd .
부모 디렉토리
cd ..
현재 디렉토리 확인
pwd
파일이름에 공백이 있을 경우에는 [Tab]
키를 눌러본다.
만약 My Documents라는 디렉토리로 이동하고 싶다면
cd My\ Documents 를 입력한다.
새 파일을 생성한다.
touch [file_name]
ex)
touch CS : CS 라는 파일이 만들어진다.
디렉토리를 만든다.
mkdir [dir_name]
ex)
mkdir code : code 라는 디렉토리가 만들어진다.
mkdir code/pad : code 디렉토리 안에 pad 디렉토리가 만들어진다.
cat [file_name]
디렉토리나 파일을 옮긴다.
mv [file_or_dir] [target_dir]
ex)
mv test code : test 파일을 code 디렉토리로 옮긴다.
mv code .. : code 라는 파일을 홈 디렉토리로 옮긴다.
디렉토리나 파일의 이름을 변경한다.
mv [file_or_dir] [new_name]
ex)
mv test sparta : test 파일을 sparta로 바꾼다.
mv code kit : code라는 디렉토리를 kit로 바꾼다.
파일을 복사해서 붙여넣는다.
이때 붙여 넣으려는 파일이 이미 존재하면 기존 파일의 내용을 덮어쓴다.
cp [file] [target_dir]
cp -r [folder]
ex)
cp first second : 원본 first 파일로 복사본 second를 만든다.
rm 명령어는 정말 삭제할것인지 확인을 하지 않으며 한번 삭제된 파일은 휴지통에 들어가지 않는다!!
rm [filename]
rm -r [dirname]
sudo
는 권한 문제를 해결하는 솔루션이 아니다.
필요에 따라 현명하게 사용해야 하며 가능한한 user 권한으로 해결할 수 있어야 한다.
sudo
는 한번만 인증하면 그 이후는 생략한다.
chown owner:group file
sudo touch testfile.txt
ls -al
explorer .
open .
code .