wecode 7. Linux + Terminal

윤남주·2022년 1월 5일
0

wecode archive

목록 보기
7/13
post-thumbnail

운영체제 (OS)

  • 쉘(Shell) : 사용자에게 더 가까운 쪽 (= 터미널)
  • 커널(Kernel) : 컴퓨터 (기계)에 더 가까운 족



Linux

사용 이유

  • 오픈소스 : 자유롭게 확인, 수정, 배포할 수 있는 코드
  • 네트워크 운영체제 : 멀티태스킹, 멀티 스레드
  • 여러 종류의 리눅스가 있음 : 우분투, CentOS, 안드로이드 등

CLI vs GUI

  • Command Line Interface → 서버 관리 유지에 필수
  • Graphic User Interface : 우리에게 익숙



Linux 핵심 개념

파일구조

root : 리눅스의 최상위 디렉토리

  • /로 바로 접근 (cd / → root로 이동)

/home : 유저의 공간

  • ~ 로 바로 접근
  • 터미널을 켰을 때 위치하는 부분

/bin : OS 구동을 위한 최소한의 필요 프로그램이 있는 폴더

  • Binary의 약자
  • CLI에서 쓸 수 있는 명령어들이 담겨있음
  • sbin 폴더는 bin과 유사하지만 오직 루트유저 전용 프로그램 포함

/usr : User

  • 각 유저 이름에 해당하는 폴더이름이 존재. 각 폴더마다 bin, sbin, shared, lib과같이 각 유저들이 사용할 수 있는 폴더가 생성되어 있음. 각각의 유저별로 다른 파티션으로 존재하기 때문에 다른 사용자들이 사용할 수 있도 록 마운트할 수 있지만 이 경우 수정할 수는 없음.

PATH

절대 경로

/home/eun/bin

  • 절대적인 기준이 있음
  • /부터 시작

상대 경로

cd ..

  • . 현재 경로
  • .. 상위 경로

환경변수

env : linux의 환경변수 확인 명령어

$PATH : 터미널의 명령어의 위치

  • 여러 경로를 저장하기 위해 각 경로는 : 으로 구분된다.
  • 실제 ls 명령어는 /bin 디렉토리 안에 위치해 있다. whereis ls 를 입력해보자. 해당 명령어가 위치해 있는 경로를 별도로 지정해주지 않더라도 어디서든 사용이 가능한 이유 역시 환경 변수 덕분이다.

Configs

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

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

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

  • ls에 a 옵션을(all) 주어야지만 볼 수 있음.

  • alias(별칭, "다른 방법으로") : 일종의 사용자 지정 단축 명령어 (.zshrc.bashrc 등에 등록)

    alias myip="ipconfig getifaddr en0" # macOS
    alias myip="hostname -I" # ubuntu



터미널 명령어

pwd Print Working Directory
현재 위치 출력

~ Home Directory

ls List Segments
현재 위치의 파일 목록 출력
ls -al : 숨겨진 폴더 파일까지 볼 수 있음

cd Change Directory
디렉토리(폴더) 이동

mkdir Make Directory
디렉토리 생성

touch
파일 생성

**vi (파일명.확장자)**
파일 편집할 수 있는 에디터(vim) 활성화

  • i : insert, 편집모드
  • esc
  • :
  • wq : write (저장) & quit

rm remove
파일 삭제

rm -r remove -recursive
디렉토리(폴더) 삭제

🔥rm -rf *
remove -recursive -force 전체 → 내 위치부터 하위 모든 것이 다 날라감

mv (이동시키고 싶은 파일의 경로) (이동할 곳의 위치)
파일 이동하기

cp (복사하고싶은 대상) (복사할 위치)
파일 복사하기




터미널 꾸미기 완료 ✨

profile
Dig a little deeper

0개의 댓글