본문 바로가기

3. Pwnable (포너블)/2) 개념 정리

[2024.03.16] 1주차 활동 - 리눅스 기초

인프런 '생활코딩-리눅스' 강의를 함께 듣고 공부했다.

섹션 0에서는 리눅스 환경설정, 섹션 1에서는 리눅스 기초에 대해 공부했다.

 

https://inf.run/9Yxy


 

섹션 0.   상황별 준비 및 환경설정

  • codeonweb, cloud9 을 통해 설치 없이 리눅스를 사용할 수 있다.

섹션 1.   리눅스 기초

1. 리눅스 

  • 컴퓨터 운영체제의 한 종류, 커널 자체
  • 명령어 통해 제어한다. (명령어는 사용자가 머물고 있는 디렉토리를 대상으로 내려지기 때문에 사용자의 위치를 확인하고 명령을 내려야 한다.)
  • CLI(Command User Interface) : 가상 터미널/ 터미널을 통해 사용자와 컴퓨터가 상호작용한다.

2. 기초 명령어

  • pwd : 현재 작업 중인 디렉토리 정보 출력
  • ls : 디렉토리 목록 확인

         -a / --all : 모든 파일 보여줌(숨겨진 파일/ 디렉토리까지)

                     (*** -a(단축어)   --all(풀네임) )

         -l : 파일, 디렉토리 리스트, 파일 종류/ 권한, 링크 수, 사용자, 그룹, 파일크기, 수정시간 등 자세한 파일 리스트 보여줌

        -al : 감춰진 파일, 파일 모두 자세히 보기

        -S : 파일 크기 순으로 보여줌

 

  • mkdir (디렉토리 이름) : 디렉토리 생성 (make directory)

 

  • -p / --parents(디렉토리 이름) : 부모 디렉토리 생성하고 자식 디렉토리 만듦 (부모 디렉토리 없으면 에러)(mkdir은 보통 디렉토리 하나만 만듦) 

 

 

  • cd : 디렉토리  이동
cd /home(가고자 하는 위치) - 차상위 디렉토리부터 가고자 하는 곳으로 이동
- 어디에 있는냐에 따라 고정된 디렉토리로 감
- 절대경로
cd .. - 머물고 있는 부모(상위) 디렉토리로 이동
- 현재 어디에 있느냐에 따라 달라짐
- 상대경로

 

 

 

  • rm (파일명) : 파일 삭제 (디렉토리는 삭제 X)

            -r (디렉토리명) : 디렉토리 삭제 (재귀적(순차적)으로 삭제)

 

 

 

  • cp (복사하고 싶은 파일) (새롭게 생성할 파일이름) : 파일/ 디렉토리 복사

 

** help vs man

help man
명령어 도움말
간단 메뉴얼 상세 메뉴얼
원래 페이지 내부에서 작동 전용 페이지 있음

 

 *man 페이지에서

/sort + (enter) : sort 단어 포함된 메뉴얼 나옴,  N키 누를 때마다 내려가면서 sort 찾아줌

Q : 페이지 빠져나가기

단어 sort 찾는 방법

 

 

3. sudo

  • super user do
  • 권한이 필요할 때 경우에 따라 sudo 사용 

 

4. 파일 정보 저장(nano)

  • nano, vi (명령어 기반 파일 편집기) 이용
  • 대부분의 리눅스/ 유닉스 환경에서 사용
  • nano (파일이름).html => html 편집 페이지 불러오기
  • ^O : (Write Out) 쓰기, 저장
  • ^C : (Cancel) 취소
  • ^X : (Exit) 페이지 밖으로 빠져나가기
  • ^U : (Uncut Text) 붙여넣기
  • ^K : (Cut Text) 자르기
  • ^U(Uncut text), ^K(Cut text) 조합해서 복사하기
  • ^G : (Get Help)메뉴얼
  • ^W : (Where is) 텍스트 검색  

 

 

5. package manager

  • 앱스토어같은 개념. 기본적으로만 갖고 있지 않은 프로그램 설치할 때 사용
  • apt와 yum이 있음
  • sudo apt-get update; : apt 기능을 사용하고 싶을 때 먼저 목록 최신상태로 업데이트함 (업그레이드와 다름), (sudo 이용해 권한 부여 )
  • sudo apt-cache search (이름) : 설치할 프로그램 찾기 
  • sudo apt-get install (이름) : 프로그램 설치하기
  • sudo apt-get upgrade (이름) : 프로그램 업그레이드
  • sudo apt-get remove (이름) : 삭제하기

6. 리눅스 명령어 기반 파일다운 - wget

  • wget (링크) => 파일 다운로드
  • wget -O (저장할 파일 이름) 

7. 리눅스 명령어 기반 파일다운 - git

  • 버전 관리 시스템
  • 프로그램 개발 시 개선/ 변경사항 기록해서 과거 상태 분석
  • 과거 상태를 현 상태로 돌리거나 소스코드 백업, 개발 협업할 때 사용