이 글은 맥 OS를 기준으로 작성되었습니다.
○ CLI 와 GUI
명령줄 인터페이스(Command-Line-Interface, CLI)
- 명령어로 컴퓨터를 제어하는 방식
- 그래픽 작업을 안 거치기 때문에 빠르고 안정적
- AWS(Amazon Web Service) 같은 서버는 CLI 사용
- 터미널, 도스 등
그래픽 사용자 인터페이스(Graphic User Interface, GUI)
- 사용자가 편리하도록 입출력 기능을 쉽게 그래픽으로 나타내어 클릭 등으로 쉽게 컴퓨터를 제어하는 방식
- 그래픽에 컴퓨터 자원을 사용해서 CLI 보다는 느림
- 윈도우, 맥 등
프롬프트(Prompt)
- 터미널에서 키보드의 입력을 확인하고 편집할 수 있는 한 줄의 공간
- CLI의 명령줄 대기모드
○ CLI 기본 명령어
※ CLI에서 명령어와 생성할 폴더 이름 사이 공백으로 구분
ex) mkdir wjcodding
pwd : 현재 위치 확인하기
print working directory의 약자
현재 작업중인 폴더 위치 출력
mkdir : 새로운 폴더 생성
make direcotries
ls : 특정 폴더에 포함된 파일, 폴더 확인하기
- list의 약자
- 자주 같이 사용하는 옵션(‘ - ‘를 이용해 옵션을 입력했다고 컴퓨터에 전달)
- ls -l (파일의 포맷을 전부 표현)
- ls -a (all, 숨어있는 폴더나 파일을 포함한 모든 항목 출력)
- ls -al 또는 ls-la (옵션의 순서는 기능에 영향 미치지 않음)로 사용
- -l 옵션에서 맨 앞에 d로 시작하는 건 폴더(directory), -로 시작하는 건 파일
open .
현재 위치를 GUI로 열음
cd
change directory의 약자
폴더로 진입
touch
파일을 생성
cat
- 파일의 모든 내용을 터미널에 출력
- 파일을 연달아 입력하면 순차적으로 출력
- 크기가 큰 파일을 출력할 때는 비효율적
rm
- remove 폴더나 파일 삭제
- 휴지통을 거치지 않고 삭제됨
- 파일 삭제할 떄는 'rm [파일명]' 으로 사용
- 폴더 삭제할 때 rm [폴더명]만 입력하면 오류 뜸
- 폴더 삭제시에는 'rm -r [폴더명]'
<자주 사용하는 옵션>
-f : force, 강제로 파일이나 폴더를 삭제하고 대상이 없는 경우에는 메시지를 출력하지 않음
-r : recursive(재귀적), 폴더 지움
-d : 비어있는 폴더들만 제거
-i : 매번 삭제할때마다 사용자에게 삭제할것인지 물어봄
-l : 3개의 이상의 파일을 삭제하거나 폴더 내부가 비어있지 않을때만 삭제할것인지 물어봄
-v : 삭제되는 대상의 정보를 출력
mv
- move의 약자
- 폴더나 파일의 이름 변경, 또는 위치 옮기기
- 위치 옮기기: mv [옮길 폴더나 파일의 이름] [도착할 폴더 이름]
- 이름 바꾸기: mv [바꿀 폴더나 파일 이름] [변경하고자 하는 이름]
cp
- copy의 약자
- 폴더나 파일 복사하기
- 파일 복사하기: cp [원본 파일 이름] [복사할 파일 이름]
- 폴더 복사하기: cp -rf [원본 폴더 이름] [복사할 폴더 이름]
clear
터미널 정리하기
history
이전에 사용한 명령어 확인하기
man
명령어 메뉴얼 확인하기
-h 또는 --help
명령어의 옵션 확인하기
명령어 이름만 입력해도 됨
○ 관리자 권한
절대 경로와 상대경로
절대경로
처음부터 시작하여 현재까지 절대적인 경로
기준점 : 루트 폴더(/,최상위)
' / '(root, 루트)는 Linux의 관리자 영역
Linux는 사용자와 관리자 명확히 분리
- 사용자가 필요할 때마다 관리자권한(프로그램 변경, 설치, 삭제)만 부여받음
- 루트폴더로 이동해서 mkdir로 폴더 생성하려하면 Read-only file system 에러(파일을 읽을 수만 있고 생성,변경,삭제는 할 수 없다는 뜻)
루트 폴더는 관리자의 영역임, 사용자 권한으로는 할 수 있는 일이 없음
현재 로그인된 사용자를 확인하는 명령어 : whoami
관리자는 사용자 폴더는 물론 시스템 자체에도 접근이 가능
관리자 권한으로 변경한 내용은 사용자 권한으로 해결 못함
상대경로
현재 위치를 기준으로 상대적인 경로
최상위(/)를 거치지 않고도 이동이 가능
사용자와 관리자
※ CLI 경로
.
현재폴더
..
현재 폴더보다 앞에 있는 폴더
/
경로 사이에 쓰는 슬래시는 폴더를 의미
폴더 대상일 땐 마지막 슬래시 생략 가능
~/helloWorld/hello/ 와 ~/helloWorld/hello 는 동일한 위치
~
현재 작업 폴더가 홈폴더라는 의미, 홈폴더로 이동하는 명령어
(Mac은 [사용자이름]@Macbook ~ %)
sudo
- 사용자가 관리자 권한을 얻을 수 있는 명령어
- 명령어 앞에 작성하면 관리자 권한으로 명령 실행
- ex) sudo mkdir hello
- 관리자(staff또는 root) 소유의 폴더
- 관리자 권한으로 프로그램 설치,변경 또는 삭제하는 권한을 차단하여 시스템을 안전하게 보호
- sudo를 사용한다고 사용자가 관리자가 되는 것은 아님!
○ CLI 환경 에디터
- vim(vi), emacs, nano 등
- vim과 emacs는 진입장벽이 있음
- nano는 리눅스, 맥에 기본으로 깔려있고 난이도가 쉬운 편
nano
실행: 'nano [파일명]' 또는 'nano' 명령어로 그냥 실행할 수 있다.
'TIL(Today I Learned)' 카테고리의 다른 글
5/3 (화) Git 기초 (0) | 2022.05.04 |
---|---|
5/2 (월) Linux 기초2 (0) | 2022.05.03 |
4/29 (금) 페어 프로그래밍 회고 / 트위틀러 목업(Twittler Mockup) 만들기 (2) | 2022.04.29 |
4/28 (목) 페이지 레이아웃 / FlexBox (0) | 2022.04.28 |
4/27 (수) CSS 기초 (0) | 2022.04.28 |