TIL#19 Linux & Terminal

luneah·2021년 11월 23일
0

Developer

목록 보기
2/16
post-thumbnail

리눅스 Linux

Linux는 1991년 Linus Torvals가 개발한 운영체제이다. 오픈소스이며 누구나 코드를 볼 수 있기 때문에 가장 널리 사용되는 운영체제가 되었다. 시스템 서버는 대부분 Linux 기반으로 운영되기 때문에 개발자는 Linux를 잘 알아야 한다.

Linux 파일 구조

리눅스는 다음과 같이 tree 형태로 구성되어 있다. Filesystem Hierarchy Standard(FHS)의 가장 위에는 / (Root) 디렉토리가 있다. 하위 디렉토리들 역시 /로 구분된다.

  • root : 루트폴더 최상위경로 / 기호로 접근
  • /home : 유저의 공간, ~기호로 바로 접근
    • Mac에서는 /Users 디렉토리에 유저의 home 디렉토리가 있다.
      예) cd ~/bin == cd /home/bin
  • /bin : Binary의 약자, OS 최소한의 구동을 위해 필요한 프로그램이 있는 폴더

Directory Path

디렉토리 경로에는 2가지 유형이 있다. absolute path와 relative path 이다.

Absolute Path

절대적 경로, 완전한 경로라고 생각하면 된다. Absolute Path는 Root 디렉토리부터 시작하는 경로를 의미한다. 현재 나의 위치와 상관 없이 항상 정확히 해당 경로로 이동할 수 있다.

Relative Path

이름 그대로 "상대적인 경로"를 뜻한다. 현재 내 위치를 기반으로 움직이는 경로이다. 두 가지 심볼을 사용한다. ., ..이다. Single dot은 현재 디렉토리를 의미하고, Double dot은 현재 디렉토리의 상위 디렉토리를 의미한다. ../../ 이렇게 되면 두 단계 상위 디렉토리라고 생각하면 된다.

절대경로상대경로
/home/eun/bincd ..
항상 /로 시작. 현재 경로
eun 폴더가 상위 폴더.. 이전 경로



Terminal

터미널(Terminal, Terminal.app)은 애플이 개발한 macOS 운영 체제에 포함된 단말 에뮬레이터이다. 터미널은 macOS의 전작 운영 체제인 NeXTSTEP, 오픈스텝에서 기원이 된다.

단말 에뮬레이터로서 이 애플리케이션은 bash(맥 OS X 10.2 이후의 기본 셸) 등의 유닉스 셸과 결합하여 사용할 때 명령 줄 인터페이스를 운영 체제에 제공함으로써 운영 체제에 대한 텍스트 기반 접근을 제공하며, 이는 macOS의 그래픽 사용자 경험에 대비된다. 사용자는 macOS와 사용할 콘 셸, Tcsh, Z 셸과 같은 다른 셸을 지정할 수 있다.

CLI (Command Line InterFace)

명령 줄 인터페이스(CLI, Command line interface) 또는 명령어 인터페이스는 텍스트 터미널을 통해 사용자와 컴퓨터가 상호 작용하는 방식을 뜻한다. 즉, 작업 명령은 사용자가 컴퓨터 키보드 등을 통해 문자열의 형태로 입력하며, 컴퓨터로부터의 출력 역시 문자열의 형태로 주어진다.

GUI (Graphic User Interface)

그래픽 사용자 인터페이스(graphical user interface, GUI)는 사용자가 편리하게 사용할 수 있도록 입출력 등의 기능을 알기 쉬운 아이콘 따위의 그래픽으로 나타낸 것이다. 컴퓨터를 사용하면서, 화면 위의 물체나 틀, 색상과 같은 그래픽 요소들을 어떠한 기능과 용도를 나타내기 위해 고안된 사용자를 위한 컴퓨터 인터페이스이다.

터미널 명령어

리눅스 shell 기본 명령어

  • pwd (Print Working Directory) : 현재 위치(경로) 출력
  • ~ : Home Directory
  • ls (List Segments) : 현재 위치 파일 목록
  • cd (Change Directory) : 디렉토리(폴더) 이동
  • (cd).. : 지금 위치에서 상위디렉토리(폴더)로 이동
  • mkdir (Make Directory) : 디렉토리(폴더) 생성
  • rm -r (remove -recursive) : 디렉토리(폴더) 삭제 하지말 것: rm -rf*
  • touch : 파일 생성
  • rm (remove) : 파일 삭제
  • vi(파일명.확장자) : 파일 편집할 수 있는 에디터 활성화
    • i : insert, 편집모드(-끼워넣기-)
    • esc
    • shift + ;
    • wq : write & quite
profile
하늘이의 개발 일기

0개의 댓글