bxm's IT Story

Linux 이론#3 - 하드디스크 Mount 본문

서버/Linux

Linux 이론#3 - 하드디스크 Mount

bxmsta9ram 2021. 6. 21. 16:16

## 선생님 판서

## Linux File Systems

파일 시스템이란? 최소 저장단위를 파일로 가지고 있고, 이 파일들의 이름과 기록 위치를 표시한 일련번호의 목록을

만들어 파일들을 관리하는 시스템이다.

 

자료를 계층적으로 저장, 탐색, 접근, 조작하기 위한 추상적 자료구조의 집합으로 정의한다.

대부분 리눅스 파일시스템은 커널에 포함되어 있다.

이름 표기 특징
일반 파일 - 실행파일, 스크립트, 그림 문서 압축 파일 등이 여기에 속한다.
디렉토리 d 윈도우즈에서 폴더와 같다. 최상위 디렉토리에서 /bin, /etc 등이 여기에 속한다.
블록 디바이스 b 하드디스크, 플로피디스크 같은 장치들이 여기에 속한다.
문자 디바이스 c 사운드카드, 마우스, 프린터 등이 여기에 포함된다.
링크 파일 l 다른 디렉토리에 위치한 파일을 제어할 때 사용된다.
윈도우즈로 따지면 바로가기임! 한마디로 가짜 파일!! cdrom이나 core를 보면 ->로 진짜
파일을 알려줌.

 

 

[o][ooo][ooo][ooo]

파일 유형 R(소유자) W(소유자) X(소유자) R(그룹) W(그룹) X(그룹) R(기타) W(기타) X(기타)

 

rwx,rwx,rwx가 끝나고 나오는 숫자 = 윈도우즈에서 바탕화면은 실제 실행파일이 아닌 바로가기 이다.

                                               그것처럼 바로가기가 몇개인지 나옴.

 

 

I-NODE

리눅스 파일 시스템에서 가장 기본이 되는 단위로 모든 파일들은 각각의 I-NODE로 표현된다. 이는 파일의

mode(퍼미션), 링크 수, 소유자, 그룹, 크기, 주소, 마지막 접근 및 수정 정보 등을 가지고 있다.


cd / dev

ls -l

순서대로, [파일유형과 권한] [바로가기 개수] [위치] [?] [?] [크기] [마지막 수정날짜]
tty는 '가상 터미널' 을 뜻한다.

 


## 하드링크와 소프트링크 만드는 실습

 

cd /temp

 

## 용량이 0인 이름이 a인 빈 파일을 만드는 명령어

touch a 

ls -l

## long 타입으로 자세히 알려주세요.

용량이 0인 빈 파일 a가 만들어졌다.

 

ln a aaaa

## 링크 a에 대한 하드링크인 aaaa를 만들었다.

여기서 잠깐!! 하드링크와 바로가기는 다른 개념임!!

## 같은 I-NODE를 가리키는 서로 다른 파일

같은 I-NODE를 쓰며, 용량이 같다.

 

a (2,b ; 3,c) // aaaa (2,b ; 3,c)

## a와 aaaa는 같은 I-NODE를 가짐 (하드 링크 ==> 바로가기와 다름!!)

## 데이터는 한 곳에 있고, 좌표도 똑같은 곳임. 용량도 똑같음!!

## 그래서 '복사본' 개념이 아님!!

 

하드링크 VS 소프트링크

 

##    a   (0,a ; 1,b)

## aaah (2,e ; 3,f)

 

ln -s a aaah

## 소프트 링크를 만들어보자.

 

ls -l

이런 개념임!! 다시 파일 다 지워보고 해보자.


rm -rf ./*

## 모두 지우는 명령어

비어있는 것을 확인.

 

cp /etc/passwd ./

ls -l

## 2259 바이트짜리를 카피해서 가져왔음.

 

ln passwd hardlink_aa

## 하드링크 생성

 

ln -s passwd symbollink_aa

## 소프트링크 생성

## 하드링크와 소프트링크는 용량 자체부터 다름.

## 정말 윈도우즈에서의 바로가기 역할을 하는 것은 '소프트링크'임.


하드디스크 실습. 새로운 하드디스크를 하나 사서 꼽은 것임!!

순서 : 장착 - 파티셔닝 - 포맷 - 마운트

 

 

shutdown -h now 해서 재부팅

add - Hard Disk - next - SCSI - create a new virtual disk - 1GB(연습이므로!) 
1GB 짜리 하드디스크가 1개를 장착하였다.

 

##VM ware 실행.

##슈퍼계정으로 전환.

 

## 하드웨어가 /dev에 파일명으로 존재하므로 /dev로 이동.

## 뒤에는 무엇이 되도 좋으므로, sd*로 시작하는 파일들을 보여주세요.

 

 

## 깨알 정보) 윈도우즈98까지는 파티션을 썼었는데, XP에서는 자체 기능이 있어 파티션이 사라짐.

##                리눅스에서는 아직도 파티션 기능을 사용한다.

 

## 현재 sda라는 파일에 파티션이 3개가 들어있는 것임.

## 파티션은 '사무실 안의 할당공간'으로 생각하면 된다.

## sdb는 내가 방금 달은 하드디스크임!! (b, c, d, e ... 순서대로 만들어진다.)

## 그럼 이제 파티션을 칠 것인지, 친다면 몇 칸으로 나눌 것인지에 대해서 정해야함!!

## 하지만 연습이므로, 하드디스크 1개를 방 1개로 쓸 것임. (파티션 X)

 

fdisk ./sdb : 새 파티션을 할당하겠다.

m을 눌러보니 명령어들이 나옴.

이제 n을 눌러 파티션을 할당해보자.

 

C 윈도우 설치 Pri(Primary) 33% 
D D1 (업무용) Ex(Extended) 66% D 33
E D2 (가정용) E 33

Windows는 Extended에 설치할 수 없음. Primary에만 설치할 수 있다.

 

 

그렇다면 리눅스에서의 파티션을 어떻게 나눠볼 것인가?

C 윈도우 Pri 1 33%
D 리눅스 Pri 2 33%
E D2 Ex 33%

기본으로 1개 만들 것이다. 엔터-엔터 치면 기본값으로 설정

 

p 명령어를 통해 파티션이 생성되었음.
저장!


밭고랑을 먼저 갈고 씨앗을 뿌리는 것처럼, 밭은 먼저 가는 행위를 '포맷'이라고 한다.

 

① mkfs -t ext4 /dev/sdb1

 

②  <마운트>

     cd /

     mkdir hdd2

     mount /dev/sdb1  /hdd2   ## hdd2에 마운트하자. 

    

     df -h

     ## 맨 아랫줄에 뜨는 /dev/sdb1 991M 그 줄을 사용할 수 있다는 뜻.

 

③  cd /hdd2

     cp /etc/passwd ./

     ls