Linux & Terminal

강현구·2021년 12월 9일
0

1. 운영체제(OS)

윈도우, 리눅스, MacOS 등, 컴퓨터를 움직이는 가장 중요한 소프트웨어.
사람의 말(명령)을 0과1의 컴퓨터 언어로 바꿔 명령을 수행할 수 있도록 해준다.

User <-> shell <-> kernel <-> hardware
쉘은 유저에 가까운 번역기, 커널은 컴퓨터 쪽에 가까운 번역기로서 언어를 바꿔준다.
쉘은 보통 우리가 사용하는 터미널이다.

2. 왜 Linux를 쓰는가??

  • 오픈소스 소프트웨어
  • 누구나 자유롭게 확인, 수정, 베포할수 있는 코드
    (서버 쪽의 컴퓨터는 대체로 리눅스 기반이다.)
  • 네트워크 운영체제(멀티테스킹, 멀티 스레드)

CLI vs GUI
CLI : Command Line Interface
GUI : Graphic User Interface

3. Linux의 핵심 개념

  • 파일 구조
  • PATH
  • 환경변수

1. 파일 구조

원하는 위치로 가기 위해서 파일 구조를 알아야 한다.
home : 온전히 유저를 위해 할당된 공간.
bin : 기본적으로 필요한 명령어들이 저장되어 있다.

절대 경로 : Root부터 시작하는 파일의 경로. (ex. /home/eun/bin)
상대 경로 : 현재의 위치를 기준으로하는 파일의 경로 (ex. cd ..)

2. 환경 변수

자주 사용하거나, 민감한 값들을 넣어서 사용한다.
env를 치면 환경 변수를 확인할 수 있다.

HOME : 홈 디렉토리의 위치
PATH : 우리가 사용하는 프로그램 커맨드를 사용할 수 있도록 저장해놓는 프로그램의 경로 (일종의 바로가기)
> 예를들어 conda를 쓸때 이 경로를 통해서 conda 프로그램의 경로를 확인하여 conda를 실행할 수 있게 해준다.
그렇지 않으면 conda의 절대 경로를 전부 알려줘야 실행할 수 있다.

4. 터미널 명령어

pwd : print working directory ; 현재 위치(경로) 출력
~ : Home directory
ls : list segments ; 현재 위치 파일 목록 출력
-> -a : 숨김파일까지 모두 출력
mkdir : make directory ; 디렉토리(폴더) 생성
touch : 파일 생성
vi (파일명.확장자) : 파일 편집 에디터 활성화
-> i : insert, 편집 상태
-> ESC : 기능 상태 완료, 노멀 모드로 돌아감
-> Shift + : 다음 줄로 넘김
-> :w : write
-> :q : quit
-> :q! : quit with no save
rm : remove ; 파일 삭제
rm -r : remove -recursive ; 디렉토리(폴더) 삭제 (rm -rf : 강제 삭제 ; 만약 *와 같이하면... 무서운일이)
cp (source) (target) : copy ; 복사
mv (source) (target) : move ; 이동

profile
한걸음씩

0개의 댓글