오픈 소스 비영리 기관 'Open Source Initiative'의 로고. https://opensource.org/
본 글은 학교 '오픈소스 소프트웨어 입문' 과목을 수강하며 실습(또는 공부)한 내용을 정리한 글입니다.
개인 기록 용도로 작성한 글이라, 직접 이 글을 보고 실습을 따라하기엔 어려움이 많을 것으로 예상됩니다.
혹시 본 글을 보며 Linux를 공부하실 목적이라면, 일단 키워드 위주로 AI에게 물어봐가면서, 본인의 Linux 터미널에서 직접 타이핑해가며 공부하시기를 추천드립니다.
질문이나 의견이 있다면 자유롭게 댓글 달아주세요!
디스크 유틸리티들은 우리가 쓸 일은 거의 없음.
우리가 쓸 일은 디스크가 고장나서 fsck -A -N을 써서 파일 시스템을 체크하고 수리해 주거나,
디스크를 하나 더 달아서 lvcreate로 논리적 디스크를 만들어 두 개 디스크를 합치거나 해줌.
참고로, 리눅스 시스템에선 디스크 하나 더 달았다고 그게 잘 스무스하게 되지 않음.
lvcreate로 논리적 디스크 만들어줘야 함.
mount amount 같은 건 슈퍼유저 명렁.
cd /tmp
ls
ls -ld .
drwxrwxrwt 23 root root 12288 Apr 8 01:47 .
-> 어? 다 열려있네? -> touch foss110 하는 등 내가 (거의) 암거나 다 할 수 있음.
이건 상당히 취약함... 그래서 나 혼자 쓸 수 있는 디렉토리가 필요할 수 있음.
-> 이거 우리 이미 봤었음. file descripter. fd.
foss110@ajousw:/tmp$ls -al /dev/stdin
lrwxrwxrwx 1 root root 15 Feb 25 18:57 /dev/stdin -> /proc/self/fd/0
/dev/stdin 은 표준 입력.
근데 실제로는 /proc/self/fd/0 으로 소프트 링크가 연결되어 있음.
즉, 교수님이랑 나 둘다 같은 경로가 보이지만,
proc에 들어가는 순간, 내가 보는 self와, 교수님이 보는 self는 다름.
이런 걸 만들기 위해 만들어 놓은 temp system이 df할 때 나오는 것.
그게 tmpfs인데, 임시 파일 시스템을 의미함.
foss110@ajousw:/tmp$ df | grep tmpfs
tmpfs 1582232 74180 1508052 5% /run
tmpfs 7911160 84 7911076 1% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
tmpfs 7911160 0 7911160 0% /sys/fs/cgroup
tmpfs 1582232 36 1582196 1% /run/user/118
tmpfs 1582232 0 1582232 0% /run/user/3035
tmpfs 1582232 0 1582232 0% /run/user/3105
tmpfs 1582232 4 1582228 1% /run/user/3141
tmpfs 1582232 4 1582228 1% /run/user/3110
-> 하면 나오는 /dev/shm, /run 이런 얘들은,
임시로 쓰는 메모리 기반 파일 시스템이라 디스크가 아닌 메모리에 잡히는데,
그래서 빠르고, 휘발성(재부팅하면 날아감)이고, /proc 같은 것처럼 프로세스마다 다르게 보일 수 있음.
df 는 실제 물리 디스크만 보여주는 게 아니라,
파일 시스템으로 마운트된 모든 걸 보여주는 거라서,
이런 tmpfs 들도 같이 나오는 거.
foss110@ajousw:/tmp$ df | head (앞부분 보여주는 그 head 명령어 쓴 거)
Filesystem 1K-blocks Used Available Use% Mounted on
udev 7862608 0 7862608 0% /dev
tmpfs 1582232 74160 1508072 5% /run
/dev/sda2 458755216 184432184 250946088 43% /
tmpfs 7911160 84 7911076 1% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
tmpfs 7911160 0 7911160 0% /sys/fs/cgroup
/dev/sda1 1098632 6240 1092392 1% /boot/efi
/dev/loop0 65280 65280 0 100% /snap/core20/2434
/dev/loop1 65280 65280 0 100% /snap/core20/2496
저기에 저 root file system이 /dev/sda2에 있다고 함.
저게 고장나면 큰일남. 리눅스 파일 시스템은 트리 구조니까.
df의 첫 열은 디스크나 파티션 이름임. 즉, 장치 파일 또는 파일 시스템 이름.
리눅스에서는 /dev/sda2같은 식으로 표시됨.
마지막 열은 이 파일 시스템이 현재 마운트된(연결된) 디렉토리 위치를 의미함.
즉, 연결된 디렉토리에 대한 파일 시스템 내역을 출력하는 느낌.
---
솔직히 윗부분 df 잘 이해안가긴 하는데... 일단 넘어가.
df: 파일 시스템(ex. 디스크, 메모리, ...)의 사용량과 남은 공간을 보여주는 명령어
---
df | head -20 -> 앞의 20줄만 보여줘라.
df -h 옵션 -> 사람이 읽기 쉬운 형태로 출력. 단위 등.
여담) 백업 하는 그 명령어 시험 낼 수 있으니 기억.
tar -cvf backup250401.tar 대상 파일/디렉토리들
--- 실습 출첵용
cd ~/lab0401
ps -l > ps.result
'Tools and Utilities > Linux' 카테고리의 다른 글
[Shell Script 실습] Ch2. 따옴표와 변수 설정(Quote and Variable) (0) | 2025.04.10 |
---|---|
[Shell Script 실습] Ch1. 배쉬 쉘 스크립트 기초들(Bash Shell Script Basics) (0) | 2025.04.09 |
[Linux 실습] Ch9. 프로세스 상태 및 메모리와 프로세서(Process Status, Memory and Processor) (0) | 2025.03.27 |
[Linux 실습] Ch8.2. 심화 리다이렉션(Advanced Redirection) (0) | 2025.03.27 |
[Linux 실습] Ch8.1. 리다이렉션 기본(Redirection Basic) (0) | 2025.03.27 |