Linux & Terminal

설탕·2022년 1월 4일
0

쉘(Shell)이란 키보드로 입력한 명령어(Command)를 운영체제(OS)에 전달하여, 키보드로 입력한 명령어를 실행하게끔 하는 프로그램이다.

Linux

  • 오픈소스 소프트웨어
  • 누구나 자유롭게 확인, 수정, 배포할 수 있는 코드

GUI(Graphic User Interface)와 CLI(Command Line Interface)가 있는데 CLI에 익숙해지는 것이 좋다.

FHS(Filesystem Hierarchy Standard)

Linux의 디렉토리는 다음과 같은 구조를 가진다.

root(/)

  • 루트 폴더. 최상위 경로. / 기호로 접근.

/home(~)

  • ~ 기호로 바로 접근.
  • 윈도우 : C드라이브/Users/사용자명 ⇒ 바탕 화면, 다운로드, 내 문서
  • 유저의 공간. 가장 빈번하게 사용하게 되는 경로. Home 디렉토리 이외의 다른 디렉토리 들은 주로 system directory 라고 하는데, 즉 리눅스의 운영과 관리에 관련한 파일들이 존재하는 디렉토리들.

/bin

  • 윈도우 : C드라이브/windows/system32 폴더
  • Binary의 약자. OS의 최소한의 구동을 위해 필요한 프로그램이 들어있는 폴더. cat, chmod, chown, cp, date, echo, kill, ln, ls, mkdir, etx와 같은 기초적인 프로그램들이 포함.

PATH

절대경로와 상대경로

  • 절대경로(Absolute path): 절대적 경로. 경로를 표현하는 방식이 root 디렉토리 부터 시작한다는 점에서 "완전한"의 의미에 더욱 가까움.
    ex) /home/eun/bin

  • 상대경로(Relative path): 현재 자신의 위치를 기반으로 움직이는 경로.
    ex) cd ..

    • . 현재경로

    • .. 상위경로

      ex) cd ../.. 위위 디렉토리로 이동

환경변수

  • OS도 프로그램이기 때문에 OS가 동작하기 위해 변수가 필요하다.
  • env 명령어로 linux의 환경변수를 확인할 수 있다.

$PATH

  • 터미널에서 사용하는 명령어의 경로가 저장되어 있다.
  • 여러 경로를 저장하기 위해 각 경로는 : 으로 구분된다.

PATH=/Users/apple/miniconda3/condabin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

명령어

  • pwd Print Working Directory: 현재 위치(경로) 출력
  • ~ home Directory
  • ls List Segments: 현재 위치 파일 목록 출력
    • ls -al 숨겨져 있는 파일이나 폴더까지 출력
  • cd Change Directory: 디렉토리(폴더) 이동
  • mkdir Make Directory: 디렉토리(폴더) 생성
  • touch 파일 생성
    ex) touch test.md test.md 파일 생성
  • vi (파일명.확장자) 파일 편집할 수 있는 에디터 활성화
    • i insert: 편집모드 (-- 끼워넣기 --)
    • esc 편집모드 끝내기
    • :w write: 저장
    • :q quite: 나가기
    • :q! 저장하지 않고 나가기
    • :wq: write & quite: 저장하고 나가기
  • (cd) .. 상대경로로 이동
  • rm remove: 파일/디렉토리 삭제
  • rm -r remove -recursive: 디렉토리(폴더) 삭제
    • rm -rf* 내 위치부터 하위 디렉토리까지 전부 삭제. 쓰지 말 것.
  • mv 현재경로 이동할경로 Move: 파일/디렉토리 이동
    ex) mv ./test.md /new 현재 위치의 test.md 파일을 new 폴더로 이동
  • cp 현재경로 복사할경로 Copy: 파일/디렉토리 복사
    ex) cp test.md readme.md test.md 파일을 readme.md라는 이름으로 복사
    ex) cp ./test.md /new 현재 위치의 test.md 파일을 new 폴더로 복사
profile
공부 기록

0개의 댓글