1. 디스크 확인

리눅스 시스템에서 디스크는 블록 디바이스로 취급되며, 이를 확인하는 명령어. 

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
vda    254:0    0  59.6G  0 disk
`-vda1 254:1    0  59.6G  0 part /etc/hosts
vdb    254:16   0   140M  1 disk
vdc    254:32   0 621.6M  1 disk

 

vda 블록 디바이스는 파티션이 vda1 하나로 이루어져 있음을 의미

vdb 블록 디바이스는 파티셔닝이 되어있지 않음을 의미

 

블록 디바이스(디스크) 이름 규칙

디스크 종류 디바이스 이름 규칙 파티션 이름 규칙 비고
플로피 디스크 /dev/fd0, /dev/fd1    
CDROM /dev/sr0, /dev/cdrom    
IDE 디스크 /dev/hda, /dev/hdb    
SCSI 디스크 /dev/sda, /dev/sdb /dev/sda1, /dev/sda2  
NVMe /dev/nvme0n1, /dev/nvme0n2 /dev/nvme0n1p1, /dev/nvme0n1p2 컨소시엄에서 SSD 전용으로 만든 표준

 

 

2. 블록 디바이스 id 확인

blkid

블록 디바이스의 uuid 와 파일 시스템 타입을 출력

 

 

 

블로그 이미지

망원동똑똑이

프로그래밍 지식을 자유롭게 모아두는 곳입니다.

,

1. 파티션 디스크 용량 확인

파티션 단위로 디스크 용량을 확인하는 명령어.

즉, 조회하려는 파일시스템이 속한 파티션에 대한 디스크 용량 정보를 나타낸다.

 

명령어: df [options] [디렉토리]

 

자주 쓰는 옵션

  • h: 용량을 읽기 좋은 형태로 출력(기본은 Kib)
  • T: 파일시스템 타입 포함
$ df -hT /

Filesystem     Type     Size  Used Avail Use% Mounted on
overlay        overlay   59G  4.4G   51G   8% /

 

 

속성 설명

  • Type: 파일시스템 타입
  • Size: 전체 용량
  • Used: 현재 사용중인 용량
  • Avail: 남은 용량
  • Use%: 현재 사용률
  • Mounted on: 마운트된 경로

2. 특정 디렉토리/파일 용량 확인

하위 디렉토리를 포함한 용량 확인.

 

명령어: du [options] 경로

 

자주 쓰는 옵션

  • h: 용량을 읽기 좋은 형태로 출력(기본은 Kib)
  • s: 요약(디렉토리의 경우 기본적으로 디렉토리 하위 파일이 따로 출력됨)
$ du -sh /home
68K	/home
블로그 이미지

망원동똑똑이

프로그래밍 지식을 자유롭게 모아두는 곳입니다.

,

일반적으로 root 유저로 계정을 전환할 때 우리는

$ su -

명령을 사용하게 된다.

그런데, 

$ sudo -i

라는 명령을 사용해도 동일하게 root 유저가 되는데 어떤 차이가 있는건지 궁금해졌다.

 

1. sudo -i 의 동작

sudo -i 에서 "-i" 옵션은 대화형 모드 + root 계정의 *로그인 쉘 실행을 의미한다.(interactive mode + root login shell)

이때, root 계정의 쉘 환경과 환경변수를 모두 적용한다. sudo는 (당연하게도)사용자가 현재 sudo 권한을 가질 때만 작동한다.

sudo 명령 자체가 단일 명령어를 root 권한으로 실행하는 것이기 때문에, 현재 로그인 쉘(세션)은 유지된다.

sudo -i 는 실제로 root 계정의 로그인 쉘을 실행하며, 환경변수 $HOME, $PATH 등을 root 계정의 것으로 설정한다.

 

*로그인 쉘: 로그인 쉘은 사용자가 로그인할 때 실행되는 쉘로, 사용자 계정의 환경 변수($PATH, $HOME 등)와 셸 프로파일(.bash_profile, .bashrc 등)이 로드된다. sudo -i는 root 계정으로 로그인한 것처럼 로그인 쉘을 실행하는 것이다.

2. su - 의 동작

su 는 substitute user 의 약자로, 현재 로그인 쉘을 유지하면서 새로운 유저의 로그인 쉘로 변경하는 것이다. "-" 옵션을 주면 root 계정으로 전환되고, root 계정의 쉘 환경과 환경변수가 모두 적용된다. 

 

3. sudo -i 와 su - 의 차이점

su - 는 root 계정의 비밀번호가 필요하다.

반면, sudo -i 는 자신의 비밀번호가 필요하다. root 계정의 비밀번호는 필요하지 않다. sudo 권한을 통해 root 계정의 환경을 임시로 사용한다고 이해하면 쉽다.

 

즉, sudo 명령어의 -i 옵션은 "interactive login shell" 이라고만 알아도 두가지의 차이점을 이해할 수 있다.

블로그 이미지

망원동똑똑이

프로그래밍 지식을 자유롭게 모아두는 곳입니다.

,