[ Session ] Linux & Terminal

Hailee·2020년 11월 24일
0

 > wecode 

목록 보기
4/11
post-thumbnail

Linux

  • 개발한 프로그램이 배포되고 동작하게 되는 환경
    : Linux OS가 설치된 서버

Terminal

  • 서버에서 명령어를 전달하는 수단

학습 목표
✔️ linux가 무엇인지 이해한다.
✔️ 리눅스의 기본 명령어들과 파일시스템 구조를 이해한다.
✔️ 환경변수에 대해 이해한다.
✔️ Shell이란 무엇인지 이해한다.
✔️ . 파일이 무엇인지 알고 있다.
✔️ 리눅스 명령어에 대해 알고 터미널에 명령어를 입력해 파일 생성, 수정 등 기본적인 동작을 할 수 있다.

When we use Linux?

  • 안드로이드 기반 스마트폰, 임베디드 시스템
    : 구글 네스트, 삼성 TV, 테슬라 자동차
  • 안정적 (블루스크린 -> 서버중단!)
  • 유연성 (오픈소스 -> 사용자 편의대로 소스코드 수정 가능)
  • 무료 (오픈소스 활성화 -> 풍부한 생태계)
  • CIL(Command Line Interface) 기반에서
    : GUI(Graphic User Interface) 기능 추가 - GNOME
  • 서버(로컬 서버, AWS에 설치된 인스턴스 등..)에 설치된 리눅스 환경 사용 가능!
    • AWS EC2 등을 통해 배포하려 할 때, 해당 서버에 순수한 우분투 외에 아무것도 깔려있지 않다면?
    • 만약 git을 GUI를 통해서만 사용할 줄 안다면?
    • 여러 프로그램, 환경설정, 확장 프로그램 등을 모두 설치 후 사용가능
  • Linux와 윈도우와의 호환은 아직 불안정하다고 한다
  • 서버의 동작들을 매뉴얼하게 조작할 수 없다 (?)

    👆🏻 서버, 인프라를 구축해야하는 백엔드 개발자들에게 아주 중요하다

FHS(Filesystem Hierarchy Standard)



Configs

  • 리눅스에서는 주로 파일을 통하여 설정 (config)

    : .bashrc, zshrc

  • shell 설정 파일을 비롯한 많은 설정 파일들이 대부분 유저의 home 디렉토리에 있다

  • .으로 시작하는 파일 및 디렉토리는 숨김파일로 간주(dot file)

  • lsa 옵션을(all) 주어야지만 볼 수 있다

alias myip="ipconfig getiadder en0" # macOS
alias myip="hostname -I" # ubuntu
  • allias 별칭을 통해 사용자가 단축어를 지정할 수 있다.

실습하기


1. terminal 접속 후, 현재 위치 확인 👉🏻 pwd
2. Desktop으로 이동 후 새 폴더 'wecode' 생성 👉🏻 mkdir
3. wecode 내 새 폴더 'move'와 readme.md 파일 생성 👉🏻 mkdir, touch


4. readme.md 파일 용량이 0인 것 확인 후 글 작성해보기ls -la
: i 입력 시 하단에 INSERT 라는 단어가 뜨면 입력할 수 있다는 뜻!

: 입력이 끝나면 esc를 누른 뒤 : wq를 입력해서 readme.md파일 밖으로 나가기

글 작성을 마친 readme.md 파일의 용량이 달라져있는 것을 확인할 수 있다 👉🏻 ls, ls -la

5. 글 작성 후 파일을 닫고 'readme2.md' 생성 후 'move' 폴더로 옮기기 👉🏻 cp, rm

6. move 폴더 삭제해보기 👉🏻 rm -rd

  • rm : 삭제
  • rm -rd : 파일 있는 디렉토리 삭제
  • rmdir : 디렉토리 삭제
  • rm -rf : 파일/디렉토리 강제 삭제


폴더 내에 파일이 있는 경우 rmdir로 삭제되지 않았고 rm -rd를 사용해야 했다
파일은 rm으로 삭제할 수 있었고, 빈 디렉토리의 경우에는 rmdir로 바로 삭제할 수 있었다

많이 쓰는 명령어

profile
웹 개발 🐷😎👊🏻🔥

0개의 댓글