이 글은 맥 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' 명령어로 그냥 실행할 수 있다.