학습 목표
✔️ linux가 무엇인지 이해한다.
✔️ 리눅스의 기본 명령어들과 파일시스템 구조를 이해한다.
✔️ 환경변수에 대해 이해한다.
✔️ Shell이란 무엇인지 이해한다.
✔️ . 파일이 무엇인지 알고 있다.
✔️ 리눅스 명령어에 대해 알고 터미널에 명령어를 입력해 파일 생성, 수정 등 기본적인 동작을 할 수 있다.
- 안정적 (블루스크린 -> 서버중단!)
- 유연성 (오픈소스 -> 사용자 편의대로 소스코드 수정 가능)
- 무료 (오픈소스 활성화 -> 풍부한 생태계)
- CIL(Command Line Interface) 기반에서
: GUI(Graphic User Interface) 기능 추가 - GNOME
- 서버(로컬 서버, AWS에 설치된 인스턴스 등..)에 설치된 리눅스 환경 사용 가능!
- AWS EC2 등을 통해 배포하려 할 때, 해당 서버에 순수한 우분투 외에 아무것도 깔려있지 않다면?
- 만약 git을 GUI를 통해서만 사용할 줄 안다면?
- 여러 프로그램, 환경설정, 확장 프로그램 등을 모두 설치 후 사용가능
- Linux와 윈도우와의 호환은 아직 불안정하다고 한다
- 서버의 동작들을 매뉴얼하게 조작할 수 없다 (?)
👆🏻 서버, 인프라를 구축해야하는 백엔드 개발자들에게 아주 중요하다
리눅스에서는 주로 파일을 통하여 설정 (config)
:
.bashrc
,zshrc
shell 설정 파일을 비롯한 많은 설정 파일들이 대부분 유저의 home
디렉토리에 있다
.
으로 시작하는 파일 및 디렉토리는 숨김파일로 간주(dot file)
ls
에 a
옵션을(all) 주어야지만 볼 수 있다
alias myip="ipconfig getiadder en0" # macOS
alias myip="hostname -I" # ubuntu
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
로 바로 삭제할 수 있었다
많이 쓰는 명령어