[공통] Linux & Terminal_10.25

송철진·2022년 10월 25일
0

학습내용

0.학습목표

  1. GUI (Graphic User Interface)와 CLI (Command Line Interface)의 차이점.
    👉 GUI는 마우스로 아이콘을 클릭하며 작업을 수행
    👉 CLI는 터미널에 명령어를 한줄씩 입력해서 작업을 수행
  2. 리눅스 기본 명령어(cd, ls, pwd, mkdir, rm, rm -rf, cp, mv, ., .., /, ~) 사용
  3. 터미널에 리눅스 명령어를 입력해 파일의 생성 & 삭제.
  4. vi 에디터로 파일을 생성 & 수정 & 삭제.

1. FHS(Filesystem Hierarchy Standard)

  • root / : 루트 폴더. 최상위 경로
  • /home ~ : 리눅스의 운영과 관리에 관련한 파일들이 존재하는 디렉토리들
  • /bin & /sbin : Binary의 약자.
    OS의 최소한의 구동을 위해 필요한 프로그램이 들어있는 폴더.
    cat, chmod, chown, cp, date, echo, kill, ln, ls, mkdir, etx 와 같은 기초적인 프로그램들을 포함.
  • /usr : user의 약자.
    각 유저 이름에 해당하는 폴더이름이 존재.
    각 폴더마다 bin, sbin, shared, lib과같이 각 유저들이 사용할 수 있는 폴더가 생성되어 있음.
    각각의 유저별로 다른 파티션으로 존재하기 때문에 다른 사용자들이 사용할 수 있도록 마운트할 수 있지만 이 경우 수정할 수는 없음.
    sbin 폴더는 bin과 유사하지만 오직 루트유저 전용 프로그램 포함.

2. PATH

  • / : root 디렉토리
  • ~ : home 디렉토리
  • 절대 경로 : Absolute path. 경로를 표현하는 방식이 root 디렉토리 부터 시작한다는 점에서 "완전한"의 의미에 더욱 가까움.
    (ex. /home/eun/bin)
  • 상대 경로 : Relative path. 현재 자신의 위치를 기반으로 움직이는 경로.
    (ex. cd ..)
    . : 현재 경로
    .. : 상위 경로
  • 환경 변수
    OS이 프로그램으로서 동작하기 위해 필요한 변수
    • env : linux의 환경변수 확인
    • $PATH : 터미널에서 사용하는 명령어의 경로가 저장되어 있다.
      : 으로 구분하여 여러 경로를 작성.
    • 실제 ls 명령어의 위치는 /bin 디렉토리 안이지만,
      환경변수를 설정했기 때문에 경로를 지정하지 않아도 whereis ls 등의 명령어를 어디서든 사용 가능!
PATH=/Users/apple/miniconda3/condabin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

3. 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

4. 자주 쓰는 명령어

명령어설명활용
cdchange directory폴더이동cd (경로→ . .. /usr)
lslist segments현재경로내 파일목록 출력ls -al
pwdprint working directory현재경로 출력
mkdir/rmdirmake/remove directory디렉토리 생성/제거
rmremove파일,디렉토리 제거rm -rf
cpcopy파일,디렉토리 복사
mvmove파일,디렉토리 이동
catconcatenate터미널에 파일내용 출력
touchtouch파일생성 및 날짜정보 변경touch readme.md
chmodchange mode파일,디렉토리 권한 설정chmod u+x readme.md

Assignment

Task 1

: 터미널에서 현재 경로 확인 후 Desktop(바탕화면)으로 이동

Task 2

: 폴더 생성 후 폴더 내부에 readme.md, move 디렉토리 생성

Task 3

: vi 에디터로 내용 작성 후 저장

명령어의미
vi readme.md(엔터)vim에디터로 readme.md파일 열기
i입력 모드 전환
(내용입력), ESC내용 입력 후 입력모드 나가기
:wq저장 후 종료

Task 4

: README.md 복사 후, 복사 된 파일 move 디렉토리로 이동

복사

명령어의미
cp (원본파일) (대상파일)원본파일을 대상파일에 복사합니다
ls현재 목록 보기

이동

명령어의미
mv 원본파일 ./move원본파일을 현재폴더(.)밑의(/) move폴더로 이동합니다
cd movemove폴더 들어가기
ls현재 목록 보기

Task 5

: move 폴더 및 파일 삭제

삭제

명령어의미
cd ..현재폴더(.)기준으로 위쪽 폴더로 들어갑니다
rm -rf movemove폴더 삭제
ls현재 목록 확인

profile
검색하고 기록하며 학습하는 백엔드 개발자

0개의 댓글