가상 터미널 또는 텍스트 터미널을 통해 사용자와 컴퓨터가 상호 작용하는 방식
Graphic User Interface(사용자가 화면을 통해 컴퓨터와 소통하는 방식, 이하 GUI)와는 다르게, 마우스와 각종 UI 컴포넌트 대신 표준 입출력 시스템(Standard I/O)을 통한 입력과 그에 따른 결과를 출력하는 형태로 나타남
Why Command Line Interface?
Why *NIX(LINUX/UNIX)?
프롬프트란?
pwd
- 현재 위치(디렉토리=폴더) 확인
mkdir [dir_name]
- 새로운 폴더 생성
ls
- 특정 폴더에 포함된 파일이나 폴더 확인
ls-a
- 숨어있는 폴더나 파일을 포함한 모든 항목을 터미널에 출력
ls-l
- 폴더나 파일의 포맷을 전부 표현
ls-al
또는 ls-la
- 모든 항목의 포맷을 표현
ls
와 함께 옵션 l
을 사용하면, 가장 왼쪽에 출력되는 두 글자 d
와 -
를 확인할 수 있다. 여기서 d
로 출력된 경우는 폴더를, -
로 출력된 경우는 파일을 나타낸다. 폴더는 다음 명령어 cd
를 통해 진입할 수 있지만, 파일이라면 진입할 수 없다. jeyoon@MacBookAir desktop % ls -la
total 9368
drwx------@ 13 jeyoon staff 416 4 14 09:46 .
drwxr-xr-x+ 32 jeyoon staff 1024 4 14 09:32 ..
-rw-r--r--@ 1 jeyoon staff 10244 4 14 09:39 .DS_Store
-rw-r--r-- 1 jeyoon staff 0 3 3 22:14 .localized
drwxrwxr-x@ 4 jeyoon staff 128 1 27 21:42 05-Guess-My-Number
drwxr-xr-x 16 jeyoon staff 512 4 9 09:47 IM27
drwxr-xr-x 5 jeyoon staff 160 4 1 05:36 NomadCoder
drwxr-xr-x 6 jeyoon staff 192 4 14 00:47 codestates
drwxr-xr-x 2 jeyoon staff 64 4 14 09:39 helloWorld
drwxr-xr-x 12 jeyoon staff 384 4 1 05:28 images
-rw-r--r--@ 1 jeyoon staff 4781530 4 14 00:36 pathways.pdf
drwxr-xr-x 4 jeyoon staff 128 4 14 01:25 udemy
drwxr-xr-x 6 jeyoon staff 192 4 1 05:35 생활코딩
cd
- 폴더(디렉토리)로 이동
홈 디렉토리 (현재 사용자의 개인화 파일들이 있는 디렉토리)
cd ~
루트 디렉토리 (시스템의 최상위 디렉토리)
cd /
현재 디렉토리
cd .
부모 디렉토리
cd ..
파일 이름에 공백이 있을 경우엔?
cd My\ Documents
open .
- 현재 폴더를 GUI의 탐색기로 실행하기
touch [file_name]
- 새로운 파일 생성
cat [file_name]
- 텍스트 파일의 내용을 터미널에 출력
rm
- 폴더나 파일 삭제
rm
명령어는 정말 삭제할 것인지 확인하지 않으며 한번 삭제된 파일은 휴지통에 들어가지 않는다!(조심해서 써야함)
rm [filename]
- 파일 삭제
rm -rf [dirname]
- 폴더 삭제
mv
- 폴더나 파일의 이름 변경 또는 위치 옮기기
mv [file_or_dir] [target_dir]
mv [file_or_dir] [new_name]
cp
- 폴더나 파일을 복사
cp [원본 파일 이름] [복사할 파일 이름]
cp -rf [원본 폴더 이름] [복사할 폴더 이름]
pwd
명령어로 확인 가능/
))으로부터의 절대적인 위치를 나타냄. 즉, 루트 폴더로부터 어떤 폴더로 진입하는 경우 특정 폴더나 파일을 만날 수 있는지 나타냄..
)으로, 상위 폴더는 두 개의 점(..
)으로 표현악성코드의 침입, 프로그램들간 충돌로 인한 시스템 강제종료 등의 문제를 관리하기 위해 사용
절대 경로의 기준점인 루트 폴더(/
)는 Linux의 관리자 영역으로, 일반 사용자의 권한으로는 어떤 폴더나 파일도 생성, 변경, 삭제할 수 없다. Linux 관리자의 가장 큰 특징은, 어떤 일이 있더라도 일반 사용자에게 관리자 권한(루트 권한)을 완전하게 넘기지 않는다는 것이다. 사용자가 관리자 권한을 필요로 하는 경우는 새로운 프로그램을 설치하거나 프로그램을 변경 또는 삭제하는 경우이므로, 해당 프로그램을 설치, 변경 또는 삭제할 수 있는 관리자 권한만 전달한다. 사용자와 관리자를 명확히 분리하여 사용자의 실수로 발생할 수 있는 시스템 에러로부터 운영체제를 보호한다.
Mac에서 사용자 폴더의 경로(Path)는 ~/
로 표시된다. 물결기호(~
)는 루트폴더(/
)로부터 사용자 폴더(username)까지의 경로(/User/username
)를 축약한 형태이다.
sudo
- 관리자 권한을 획득하는 명령어
sudo
를 이용해 일시적으로 관리자 권한을 획득할 수 있다.sudo
는 한시적으로나마 관리자 권한을 가지기 때문에 항상 비밀번호와 함께 사용된다.jeyoon@MacBookAir hello % sudo mkdir sudoMkdir
Password:
jeyoon@jeongjeyun-ui-MacBookAir hello % ls
bye hi justMkdir sudoMkdir
jeyoon@jeongjeyun-ui-MacBookAir hello % ls -l
total 0
drwxr-xr-x 4 jeyoon staff 128 4 14 10:19 bye
drwxr-xr-x 3 jeyoon staff 96 4 14 10:41 hi
drwxr-xr-x 2 jeyoon staff 64 4 14 10:49 justMkdir
drwxr-xr-x 2 root staff 64 4 14 10:49 sudoMkdir
실행: nano
파일 열기: nano -w 파일명
저장: Ctrl+O
끝내기: Ctrl+X, 정말로 끝낼 것인지를 묻는 화면에서 Y를 누르고 저장하려는 파일명을 확인한 후에 엔터
자르기와 붙이기
찾기: Ctrl+w