4 분 소요

📝 Linux 기본 명령어(파일시스템)

  • 명령어를 들어가기 전에 우선 리눅스에서 파일시스템을 인식하는 과정을 간략히 정리해 보겠습니다.

0. 하드디스크 추가 및 연결

새로 HDD 또는 SSD를 추가한다고 예를 들어 설명하겠습니다. 128G SSD 하드가 있다고 할때, 해당 하드를

컴퓨터 혹은 노트북 본체에 연결시켜 줍니다.

1. 하드디스크 인식

보통 새로 하드를 추가하게 되면 자동으로 인식이 됩니다. fdisk -l 명령으로 인식여부를 확인하고 장치에 대한

파일명을 확인할 수 있습니다.

장치가 인식되지 않았을 경우에는 재부팅을 하는 방법과 명령어로 인식하게 하는 방법이있습니다.

echo "- - -" > /sys/class/scsi_host/host0/scan

host0에서 인식이 안된다면 4까지 시도해줍니다.

2. 파티션 생성&분할

fdisk 명령으로 파티션을 생성하거나 분할시킬 수 있습니다.

파티션은 뜻그대로 분할 로서, 대표적으로 윈도우의 C,D 드라이브가 있습니다. 역할에 맞추어서 파티션 작업

을 하면 일처리에 도움이 되지만 너무 많은 파티션은 오히려 관리가 힘들어 집니다.

3. 파일시스템 생성

원하는 파일시스템을 mkfs 명령어를 사용하여 만들어 줍니다.

4. 디렉터리 생성

해당 하드가 사용할 디렉터리를 만들어 줍니다. mkdir

5. 마운트 및 설정 등록

마운트는 파일시스템이 생성된 파티션을 위에서 만들어준 디렉터리로 연결하는 것 입니다. mount 명령으로

사용되며, 마운트 후에는 정상적으로 사용이 가능하나 재부팅하면 다시 마운트를 해줘야 하기 때문에

/etc/fstab 에 해당 내용을 등록해 계속 사용이 가능하도록 해야 합니다.

간략하게 하드 추가 과정을 적어 보았습니다. 이제 명령어를 알아보도록 하겠습니다.


✔fdisk

  • 하드디스크에 대한 정보확인 및 파티션 추가/삭제에 관한 명령어 입니다.
    • fdisk [옵션] 장치
옵션 의 미
-l 파티션 정보를 출력해 줍니다.
-s 특정 파티션의 크기를 출력합니다. 512byte 단위
-t 지정된 파티션 테이블 유형만 인식합니다.
-v fdisk 버젼을 출력합니다.

fdisk -l 로 현재 인식되있는 파티션을 조회하고 해당 정보를 조회할 수 있습니다. 여기서 Id는 Type의 코드입니다.

img

fdisk -s 로 /dev/sda1 의 파티션 크기를 출력합니다.

img

fdisk 명령으로 대화식 명령도 가능합니다. 아래는 실행 화면입니다. m을 입력하면 대화식 명령의

도움말이 나옵니다.

img

m을 입력하고 나오는 것을 보고 명령에 참고하시면 될거 같습니다. 몇가지 주요 명령어만 알아 보겠습니다.

키워드 의 미
d 파티션을 삭제 합니다.
F 파티션이 없는 빈 공간을 조회합니다.
l 파티션 타입의 종류를 조회합니다.
n 파티션을 새롭게 추가 합니다.
p 현재 디스크의 정보를 출력합니다.
t 파티션의 속성을 변경합니다. 속성은 l 로 종류를 확인할 수 있습니다.
v 파티션 테이블을 확인합니다.
i 파티션에 대한 정보를 출력합니다.

키워드로 파티션 타입 종류를 조회 해보았습니다.

img


✔mkfs

  • 새로운 파일 시스템을 만드는 명령입니다. root 만 사용가능합니다.
    • mkfs -t 타입 [옵션] 장치
옵션 의 미
-c 배드블록 체크 후에 파일시스템을 생성 합니다.
-t 파일시스템의 유형을 지정하는 옵션입니다. 뒤에 파일시스템 유형을 기재하는데 지정하지 않으면 ext2유형으로 생성됩니다.
-v 상세히 출력합니다.

리눅스 주요 파일시스템의 종류에 대해 정리해 보겠습니다.

file system 설 명
minix minux 운영체제의 파일시스템으로서 파티션사이즈 64M, 파일이름 30자로 제한되고 단일 타임스탬프 체제입니다. 초기 리눅스의 파일시스템의 모체입니다.
ext 파티션사이즈가 2G, 파일이름 255자로 기능이 좋아졌으나 타임스탬프, 아이노드 수정을 하지 못합니다.
ext2 ext의 단점을 보완하였고, 고용량, 확장성을 염두에 두고 많은 개선을 거쳐 만들어진 파일시스템입니다.
ext3 저널링 파일시스템을 탑재하였고 Access Control List를 통한 접근 제어를 지원한 ext2의 확장 파일시스템입니다.
ext4 ext2, ext3와 호환이 가능하고 대형파일시스템을 위한 파일 시스템입니다.

❗ 저널링 파일시스템 : Journaling File System 은 변경사항을 적용하기 전에 저널이라고 부르는 로그에 해당 변경사항을 저장하여 확인할 수 있도록 한 파일 시스템입니다. 이로 인하여 데이터 복구가 용이해 지도록 합니다.

$ mkfs -t ext4 /dev/sda1

/dev/sda1 을 ext4 파일시스템으로 만듭니다.

✔mke2fs

  • ext2, 3, 4 파일시스템을 만드는 명령어 입니다. mkfs 명령실행시 실제로 이명령이 실행됩니다.
    • mke2fs [옵션] 장치
옵션 의 미
-b 블록사이즈를 지정하는 옵션입니다.(1024, 2048, 4096)
-j 저널링파일시스템(ext3)로 만듭니다.
-t 파일시스템의 유형을 지정하는 옵션입니다.

mke2fs는 옵션 없이 사용시 자동으로 ext2로 만들게 됩니다.

mkfs와 비슷한 명령이기 때문에 간단한 예시를 들고 넘어가겠습니다.

$ mke2fs -j -b 2048 /dev/sda1

/dev/sda1을 ext3 파일시스템, 블록사이즈는 2048 바이트로 생성합니다.

$ mke2fs -t ext4 /dev/sda1

/dev/sda1을 ext4 파일시스템으로 생성합니다.

$ mke2fs /dev/sda1

/dev/sda1을 ext2 파일시스템으로 생성합니다.

✔ mount

  • 보조기억장치를 특정 디렉터리에 연결해 사용가능하게 하는 명령입니다. 다른 파일시스템도 사용가능하게

    할 수 있습니다.

    • mount [옵션] [장치] [디렉토리]
옵션 의 미
-a /etc/fstab 에 쓰인 파일시스템을 마운트 하는 옵션입니다.
-f 시스템 호출을 하지않고 마운트가 가능한지 점검하는 옵션입니다.
-o 추가적인 설정을 할 수 있도록 하는 옵션으로서 여러조건을 쓸 경우 콤마(,) 로 구분하여 씁니다.
-r 읽기만 가능하도록 마운트 합니다.
-w 읽기와 쓰기 모드로 마운트 합니다.
-t 파일시스템의 유형을 지정하는 옵션입니다. 미 지정시 fstab을 참고합니다.
-v 자세한 정보를 출력합니다.

-o 에서 사용가능한 추가 옵션을 알아보겠습니다.

옵션 의 미
async 파일시스템의 입출력이 비동기적으로 이루어지게 합니다.
sync 파일시스템의 입출력이 동기적으로 이루어지게 합니다.
exec 파일시스템상의 바이너리 실행을 가능하게 합니다.
noexec 파일시스템상의 바이너리 실행을 불가능하게 합니다.
suid set-uid, set-gid 가 적용되도록 합니다.
nosuid set-uid, set-gid 를 무시합니다.
user 일반사용자도 마운트할 수 있도록 합니다.
nouser 일반사용자가 마운트할 수 없도록 합니다.
ro 읽기만 가능하도록 마운트합니다.
rw 읽기와 쓰기가 가능하도록 마운트 합니다.
remount 마운트된 파일시스템을 다시 마운트합니다.

다음으로 mount -t 에서 사용하는 파일시스템을 알아보겠습니다.

file system 설명
cifs 윈도우와 리눅스의 파일공유인 삼바의 확장 파일 시스템입니다.
ext2, 3, 4 리눅스의 파일시스템 입니다.
iso9660 CD 나 DVD를 마운트할때 쓰입니다.
nfs 네트워크 파일시스템 입니다.
ntfs 마이크로소프트의 XP 이후에서 사용하는 파일시스템입니다.
vfat 마이크로소프트의 FAT-32 파일 시스템입니다.

그냥 mount 명령을 입력하면 현재 마운트된 상황을 출력해 줍니다.

img

몇가지 예시를 들고 넘어가겠습니다.

$ mount -o remount /dev/sda1

/dev/sda1 을 다시 마운트 합니다.

$ mount -t ext4 -o rw /dev/sda1 /cho

ext4 파일시스템인 /dev/sda1을 읽기 쓰기가 가능하게 /cho 에 마운트합니다.

4. umount

** **

마운트된 파일 시스템을 해제하는 명령입니다.

옵션 의 미
-a /mtab 에 있는 모든 파일시스템을 마운트 해제 합니다.
-A 현제 네임스페이스에 주어진 장치에 대한 모든 마운트를 해제합니다.
-f 강제로 마운트를 해제 합니다.
-n /etc/mtab에 쓰지 않고 마운트 해제 합니다.
-r 마운트 해제를 실패하면 읽기전용으로 다시 마운트 합니다.
-t 언마운트할 파일 시스템을 지정합니다.
-v 정보를 자세히 출력합니다.

위와 마찬가지로 몇가지 예시를 들고 넘어가겠습니다.

$ umount /dev/sda1

/dev/sda1 장치의 마운트를 해제 합니다.

$ umount -a -f -t iso9660

파일시스템이 iso9660 으로 된 마운트 모두를 강제로 해제 합니다.

✔eject

이동식 보조장치의 미디어를 꺼내는 명령어 입니다. 이 명령은 마운트 해제 기능도 포함되있습니다.

  • eject 장치 또는 디렉터리
    • 디렉터리를 지정할 경우 해당 디렉터리에 마운트된 장치가 언마운트 됩니다.
  • $ eject /cho
    • /cho 디렉터리에 마운트된 장치를 언마운트 합니다.
  • $ eject /dev/sda1
    • /dev/sda1 장치를 언마운트 합니다.

댓글남기기