Command-Line Interface(CLI)

유슬기·2022년 12월 28일
0

프론트엔드

목록 보기
11/64
post-thumbnail

기본적인 명령어

명령어 뒤에 옵션이나 내용 작성 시 띄어쓰기 후 작성해야 함
ex) cd ..: 현재 위치에서 상위폴더로 이동 | cd..: cd..라는 명령어가 없다고 뜸

  • 프롬프트(Prompt): 터미널 프로그램에서 키보드의 입력을 확인하고 편집할 수 있는 한 줄의 공간
  • 터미널: CLI(Command-Line Interface). 입력하는 글자와 출력되는 글자로 컴퓨터와 소통할 수 있음

  • pwd: 현재 위치 확인하기
    • pwd는 print working directory의 약자로, 여기서 말하는 디렉토리(directory)는 폴더
  • mkdir: 새로운 폴더 생성하기
    • CLI에서 폴더를 생성하기 위해 사용하는 명령어인 mkdir은 make directories의 약자로, 폴더를 만들라는 명령을 컴퓨터에 전달
    • mkdir helloWorld → "helloWorld"라는 이름의 폴더를 생성하라는 명령을 컴퓨터에 전달
  • ls: 특정 폴더에 포함된 파일이나 폴더 확인하기
    • ls : 기본형
    • ls -a : 숨어있는 폴더나 파일을 포함한 모든 항목을 터미널에 출력
    • ls -l : 폴더나 파일의 포맷을 전부 표현
      • 첫 글자가 d인 경우: 폴더
      • 첫 글자가 -인 경우: 파일
    • ls -al 또는 ls -la : 대쉬 뒤에 오는 옵션의 순서는 기능에 영향을 미치지 않음
  • open .: 명령어를 이용해 현재 위치의 폴더를 GUI의 탐색기(Finder)로 실행하기
  • cd: 폴더에 진입하기
    • 명령어 cd는 change directory의 약자로, 프롬프트로 상호작용하는 폴더를 다른 폴더로 변경한다는 의미
  • touch: 새로운 파일 생성하기
    • touch hi.txt → 현재 위치에 hi.txt 파일을 생성
  • cat: 파일의 내용을 터미널에 출력하기
    • cat hi.txt → cat을 이용해 hi.txt 파일의 내용을 확인
  • rm: 폴더나 파일 삭제하기(remove)
    • 명령어 rm으로 삭제한 폴더나 파일은 휴지통을 거치지 않고 삭제됨

      옵션 r은 "recursive"를 뜻하고, 폴더를 지울 때 사용
      옵션 f는 "force"를 뜻하고, 질문을 받지 않고 지울 때 사용

    • 폴더 삭제 시 rf옵션을 사용해야 함

      • rm -rf 폴더명
    • 파일 삭제 시 옵션 없이 명령어 rm 만 사용하면 됨

      • rm 파일명
  • mv: 폴더나 파일의 이름을 변경, 또는 폴더나 파일의 위치 옮기기
    • 위치 변경: mv [폴더나 파일의 이름] [도착 폴더의 이름]
    • 이름 변경: mv [폴더나 파일의 원본 이름] [변경할 이름]
      • 파일의 경우 확장자 까지 입력해서 파일명을 변경할 수 있으며 확장자 까지 변경하면 파일의 종류가 변경됨
    • 경로까지 지정하는 경우 위치 변경과 이름 변경을 동시에 할 수도 있음
      • 예시: mv /home/pg/money.txt /home/exmanual/bank.txt
      • /home/pg 경로에 있는 money.txt 파일을 /home/exmanual로 이동 + bank.txt로 파일명 변경
  • cp: 폴더나 파일을 복사하기
    • 파일 복사: cp [원본 파일 이름] [복사할 파일 이름]
    • 폴더 복사: cp -rf [원본 폴더 이름] [복사할 폴더 이름]

관리자 권한과 경로

  • 사용자와 관리자

    컴퓨터의 운영체제에는 사용자와 관리자가 있다.
    사용자는 일상적으로 PC를 켜서 바탕화면에 진입하기 위해 로그인하는 계정이고,
    관리자는 사용자가 접근할 수 없는 영역에 접근할 수 있는 높은 권한을 가지고 있다.

  • 절대경로: 특정 폴더나 파일이 루트 폴더로부터 어떤 폴더로 진입하는 경우 만날 수 있는지 나타냄

    • 예시: /Users/[username]/helloWorld/hello/
  • 상대경로: 특정 폴더 또는 파일의 위치를 현재 위치를 기준점으로 나타냄

    • . → 현재 폴더
    • .. → 상위 폴더
    • / → 폴더 내부
    • 예시: cd ../../ (현재 위치 기준으로 상위폴더의 상위폴더 내부로 진입하라는 명령)
  • 관리자(root) 권한

    • 관리자 영역을 실수로 변경하면 운영체제가 먹통이 될 수 있으니 주의!
      • sudo rm -rf / 라는 밈도 있다고…
    • 절대 경로의 기준점인 루트 폴더(/)는 Linux의 관리자 영역으로, 일반 사용자의 권한으로는 어떤 폴더나 파일도 생성, 변경, 삭제할 수 없음
    • Linux 관리자의 가장 큰 특징은 어떤 일이 있더라도 일반 사용자에게 관리자 권한(루트 권한)을 완전하게 넘기지 않음
    • 사용자가 관리자 권한이 있어야 하는 경우는 새로운 프로그램을 설치하거나, 프로그램을 변경 또는 삭제하는 경우이기 때문에 해당 프로그램을 설치, 변경 또는 삭제할 수 있는 관리자 권한만 전달함
  • sudo: 사용자 환경에서 관리자 권한을 획득하는 명령어

    • 기본적인 CLI 명령어의 앞에 작성하여, 관리자 권한을 일시적으로 획득하는 명령어

    • ls -l을 이용하면 폴더나 파일의 권한을 확인할 수 있음

      drwxr-xr-x  2 seulgi  staff      64 12 28 20:21 justMkdir
      drwxr-xr-x  2 root    staff      64 12 28 20:20 sudoMkdir

추가 학습

리눅스 권한정보

drwxr-xr-x 2 seulgi staff 64 12 28 20:21 justMkdir

위에 있는 문구를 하나씩 분석하면,

  • 제일 앞에 있는 d는 파일type을 나타냄
    'd' → dir(폴더) , '-' → 일반파일
  • rwxr-xr-x: 권한정보를 나타냄 (해당 파일에 어떤 권한이 부여되어 있는지 확인가능)
    • 퍼미션의 종류는 아래와 같음
      • r(읽기): 파일의 읽기 권한
      • w(쓰기): 파일의 쓰기 권한
      • x(실행): 파일의 실행 권한
      • -는 권한이 없다라고 생각하면 됨
    • 분석은 3자리씩 끊어서 rwx(소유자가 접근할 수 있는 권한) / r-x(그룹에 속한 사용자들 접근권한)/ r-x(모든 사용자가 접근할 수 있는권한) 으로 보면 된다
      rwx r-x r-x
      - 첫번째로 rwx: 소유자에 대한 권한으로, 소유자는 r(읽기),w(쓰기),x(실행)가 허용된다.
      - 두번째로 r-x: 그룹에 대한 권한으로, .소유그룹에 속하고 있는 사용자들은 r(읽기),x(실행)가 허용된다.
      - 세번째로 r-x: 모든사용자들에 대한 권한이다.소유그룹과 마찬가지로 r(읽기),x(실행)가 허용된다.
  • 2 → 링크수
  • seulgi → 해당 파일의 소유자
  • staff → 소유그룹
  • 64 → 파일의 용량
  • 12 28 20:21 → 생성날짜/시간
  • justMkdir → 파일의 이름
profile
아무것도 모르는 코린이

0개의 댓글