어쩌다 IT
article thumbnail
반응형

리뷰 (Review)

더보기
  • Linux 접속 방법
    • 직접 접속
    • 원격 접속

 

  • Linux 구조

 

  • Linux Kernel 구조

 

  • 관리자 (Supervisor)
    • Linux 시스템에 대한 모든 권한을 갖는 사용자
    • ID는 root로 고정, 명령 프롬프트는 # 으로 표시
    • 기본 홈 디렉토리는 /root
  • 일반 사용자
    • 명령 프롬프트에 $ 로 표시
    • 기본 홈 디렉토리 /home/<사용자ID>
  • shell
    • Linux Kernel과 사용자 사이의 상호 작용하는 Linux 응용 프로그램
    • terminal != shell
    • 현재 기본 shell은 bash가 사용되고 있음
  • Linux 파일 시스템
    • 일반 파일 (데이터 저장 목적)
      • 텍스트 파일
      • 바이너리 파일
    • 디렉토리 파일
    • 특수 파일
      • 링크 파일
      • 디바이스 파일 (연결 목적의 파일)
        • 문자 (character) 디바이스 파일
        • 블록 (block) 디바이스 파일
      • 파이프 파일 (연결 목적의 파일)
  • Linux 기본 디렉토리 구조
  • /root, /home, /etc, /dev, /usr, /var, /proc

Linux 개요

파일 종류와 특징

  • 파일 시스템 (디렉토리) 경로
    • 경로 (path) - 원하는 디렉토리로 이동하거나 명령을 적용하는 디렉토리 위치를 결정하는 방법
    • 경로 지정 방법
      • 절대 경로 지정
        • 항상 / 로 부터의 경로를 지정하는 방법
        • 경로 지정을 할 때 항상 / 로 시작
        • 같은 디렉토리에 대한 경로가 항상 동일
      • 상대 경로 지정
        • 현재 디렉토리(위치)를 기준으로 경로를 지정하는 방법
        • 하위 디렉토리에 대한 경로 지정시 유리
        • 현재 위치를 기준으로 경로 지정 시작
        • 상대 경로 지정을 위한 특수 문자
          • . : 현재 디렉토리, 즉 자기자신
          • .. : 상위 디렉토리, 현재 디렉토리의 부모 디렉토리
          • ~(틸트) : login 사용자 홈 디렉토리
          • ~사용자 : 특정 사용자 홈 디렉토리

 

  • 사용자 / 그룹 / 권한
    • 사용자
      • Linux 사용자는 기본적으로 ID를 이용하여 식별
      • Linux Kernel은 사용자 식별을 이름이 아닌 번호로 식별
      • 사용자 식별 번호를 UID (User ID) 라 한다.
      • UID는 Kernel에 의해서 임의로 부여된다.
      • 정수 형태로 부여되고 0번부터 부여된다.
      • UID 0번은 root
      • UID 확인 명령
        • id - 현재 사용자 정보 출력
        • id <사용자명> - 지정 사용자 정보 출력
        • whoami - 현재 사용자 ID 출력
    • 그룹
      • 사용자 집합
      • 최소 하나의 사용자가 그룹에 소속된다.
      • Linux 사용자는 한 개 이상의 그룹에 소속된다.
      • 각 사용자는 기본 그룹과 기타 그룹에 소속된다.
      • Linux 사용자는 여러 그룹에 소속될 수 있다.
      • 그룹 식별 번호를 GID (Group ID)라 하고 Kernel에 의해 관리 된다.
      • GID 0은 root 그룹
    • 권한
      • 파일에 대한 읽기(Read) / 쓰기(Write) / 실행(eXecute) 에 대한 권한을 결정해야 한다.
        • 읽기(Read) 권한 - 파일 내용 읽기 권한, 권한 부여시 r, 미부여시 - 표시
        • 쓰기(Write) 권한 - 파일에 내용 쓰기(기록) 권한, 권한 부여시 w, 미부여시 - 표시
        • 실행(eXecute) 권한 - 파일 실행 권한, 권한 부여시 x, 권한 미부여시 - 표시
        • 실행 권한이 없으면 바이너리 파일이라도 실행할 수 없고, 권한이 있다면 텍스트 파일도 실행 가능
      • 파일 소유자(파일 생성 사용자), 소유자 그룹, 기타 사용자에 대하여 읽기/쓰기/실행에 대한 권한 부여

파일 다루기

  • shell 기본 명령어 (파일 다루기 포함)
    • 명령 형식
      • 명령 [옵션] [인수]
        • 명령 (command) - shell 내장 명령 및 외부 명령
        • 옵션 (option) - 생략 가능
          • 명령에 대한 부가 기능 추가
          • - 옵션 : 약자 형식(한글자)의 옵션, 여러 옵션을 중첩해서 사용 가능
          • -- 옵션 : GNU 옵션, 옵션 full name 사용, 여러 옵션 중첩이 불가능
        • 인수 (argument) - 생략 가능
          • 명령 수행에 필요한 추가값
    • shell 기본 명령
      • history - shell에 명령한 history 목록 출력
      • file - 파일 형식 확인
      • sudo - 관리자 권한 일시 획득
        • sudo 명령 [옵션] [인수]
      • su
        • switch user, 사용자 전환 명령
        • su - : root로 사용자 전환
        • su <사용자 명> : 일반 유저로 사용자 전환
      • pwd - 현재 위치에 대한 경로
      • man - 명령에 대한 매뉴얼을 표시
        • man <명령>
        • man [매뉴얼 페이지] <명령>
        • man 명령 종료 : q 키
        • 페이지 종류
          1. 일반 명령어
          2. 시스템 호출
          3. C 표준 라이브러리 함수 (libc)
          4. 특수 파일
          5. 파일 형식과 Convertions
          6. 게임과 화면 보호기
          7. 기타
          8. 시스템 관리 명령과 데몬
    • shell 기본 명령 - 파일 시스템 명령
      • whereis : 명령 위치 확인
        • 명령어와 관련된 파일 위치도 표시
      • which : 명령 위치 확인
      • ls [옵션] [파일명 또는 디렉토리명] : 디렉토리 목록 확인
        • ls : list, 현재 디렉토리의 파일 목록 출력
        • --color : 파일 유형에 따라 색상을 다르게 해서 출력, 기본 적용되어 있는 옵션
        • -l : long, 파일 상세 정보 출력
        • -i : inode 번호 출력
        • -a : hidden 파일을 포함한 모든 파일 출력
          • . (dot)으로 시작하는 파일은 hidden 파일, 환경 설정 파일을 통상 hidden 파일로 생성
          • . : 현재 폴더
          • .. : 상위 폴더
        • -R : 하위 디렉토리 내용도 모두 출력
        • -F : 파일 형식에 따라 파일명 끝에 문자 표시
          • / : 디렉토리 파일
          • @ : Symbolic(Soft) link 파일
          • * : 실행 가능 파일
      • dir - ls 명령과 같은 결과 출력, 색상 지정 없음
      • vdir - ls -l 명령과 같은 결과 출력, 색상 지정 없음
      • cd - 디렉토리 이동 명령어
        • cd <디렉토리명>
        • cd - : 바로 전 경로로 이동
        • cd, cd ~, cd ~<사용자명> : 사용자 홈 디렉토리로 이동
      • mkdir - 디렉토리 생성 명령어
        • mkdir <디렉토리명>
          • 새로 생성된 디렉토리에는 항상 . , .. 파일이 기본 생성
          • Linux 파일 시스템상 계층 관리를 위해서 기본 생성 
        • -p : 다중 경로상의 중간 경로 디렉토리 생성
      • rmdir - 디렉토리 삭제 명령어
        • rmdir <디렉토리명>
          • 디렉토리가 비어 있는 경우에만 삭제 가능
          • 삭제되면 복구 불가능
      • cp (copy) - 파일 복사 명령어
        • cp <원본 파일명> <복사 파일명 or 디렉토리명>
        • cp <원본 파일명> <원본 파일명>... <복사 파일명 or 디렉토리명>
          • 원본 파일 여러개 복사
          • ex) cp hosts ls home/
        • -i : 파일 복사시 같은 이름을 가진 파일명에 대해서 덮어쓸 것인지 확인 메세지 출력
        • -r : 디렉토리 복사시 하위 디렉토리 포함 복사
      • mv (move) - 파일 이동 / 이름 변경 명령어
        • mv <이동 파일명> <디렉토리명> - 파일 이동
        • mv <원본 파일명> <새로운 이름의 파일명> - 파일명 변경
        • -i
        • -f : mv 기본 동작, 무조건 파일이 이동되고 같은 이름의 파일이 있으면 덮어쓴다.
      • rm - 삭제 명령어
        • rm <삭제 파일명>
          • 확인 없이 삭제
          • 파일 삭제되면 복구 불가능
        • -i
        • -r : 디렉토리 삭제
        • -f : rm 기본 동작, 확인 없이 삭제
        • -rf : 확인 없이 디렉토리 내용이 존재하고 있어도 삭제

ETC

Linux 파일 구조

  • inode block + data block
    • inode block - 파일 정보 저장
      • inode 번호 - 파일 식별자
      • 파일 유형
      • 파일 권한
      • 파일 소유자
      • 파일 소유자 그룹
      • 파일 생성 / 수정 날짜 시간
      • 파일 크기
    • data block
      • 실제 데이터 저장
      • 기본 4kb 크기로 생성되는데 데이터 추가로 인해 4kb를 넘으면 새로운 data block 생성
  • drwxr-xr-x 2 jwlish jwlish 4096 8월 5 15:53
    • d - 파일 유형
      • d : 디렉토리
      • - : 일반 파일
      • l : Symbolic(Soft) link 파일
      • c : character device 파일
      • b : block device 파일
        • device 파일은 파일 크기 대신에 Major 번호, Minor 번호 표시
      • p : pipe 파일
    • rwxr-xr-x - 권한
      • rwx : 파일 소유자 권한
      • r-x : 파일 소유자 그룹 권한
      • r-x : 기타 사용자 권한
    • 2 - 하드 링크 파일 수, 하드 링크는 파일 복사본이라고 생각하면 됨.
    • jwlish - 파일 소유자 ID
    • jwlish - 파일 소유자 그룹 ID
    • 4096 - 파일 크기, byte 단위로 4kb 의미
    • 8월 5 15:53 - 파일 최종 수정 날짜 시간

TIF

Linux 의 기본적이고 간단하지만 중요한 명령어들을 실습해보는 시간이었다.

명령어, 단축키 이런 것들은 계속 써보면서 익숙해져야지 그게 아닌 이상 금방 까먹는다.

과정 진행 중에도 종종 쓰일 것이고, 응용하다보면 자연스럽게 체득될 것이다.

 

cp, mv, rm 같은 경우에는 윈도우에서도 자주 쓰이지만

클릭 한번, 엔터 한번에 돌이킬 수 없는 실수를 할 수 있으니 -i 를 통해 항상 확인하도록 해야겠다.

 

 

2022. 08. 09 에 작성된 글입니다.

반응형
profile

어쩌다 IT

@jwlish

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!