English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Linux 디스크 관리의 좋고 나쁜은 전체 시스템의 성능 문제와 직접 관련이 있습니다.
Linux 디스크 관리에서 사용하는 일반적인 명령어는 df, du, fdisk입니다.
df:파일 시스템의 전체 디스크 사용량을 나열합니다
du:디스크 공간 사용량을 확인합니다
fdisk:디스크 파티션을 사용합니다
df 명령어 매개변수 기능: 파일 시스템의 디스크 공간 사용량을 확인합니다. 이 명령어를 사용하여 하드디스크가 얼마나 많은 공간을 사용했는지, 현재 남아 있는 공간이 얼마인지 등의 정보를 얻을 수 있습니다.
Syntax:
df [-ahikHTm] [디렉토리나 파일 이름]
옵션 및 매개변수:
-a :모든 파일 시스템을 나열합니다. 시스템이 특유한 것도 포함합니다 /proc 등의 파일 시스템;
-k :KBytes 용량으로 각 파일 시스템을 표시합니다;
-m :MBytes 용량으로 각 파일 시스템을 표시합니다;
-h :인간이 쉽게 읽을 수 있는 GBytes, MBytes, KBytes 등의 형식으로 자체로 표시합니다;
-H :M=으로 표시합니다1000K 대신 M=1024K의 진위 방식;
-T :파일 시스템 유형을 표시합니다, 해당 파티션의 filesystem 이름을 포함하여 (예: ext3)도 나열합니다;
-i :하드디스크 용량 대신 inode 수로 표시합니다
시스템 내의 모든 파일 시스템을 나열합니다!
[root@www ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/hdc2 9920624 3823112 5585444 41% / /dev/hdc3 4956316 141376 4559108 4% /home /dev/hdc1 101086 11126 84741 12% /boot tmpfs 371332 0 371332 0% /dev/shm
Linux에서 df에 어떤 옵션도 추가하지 않으면, 기본적으로 시스템 내의 모든 (특수 메모리 내의 파일 시스템 및 swap을 제외하고) 모두 1 Kbytes 용량으로 나열하십시오!
용량 결과를 읽기 쉬운 용량 형식으로 표시합니다
[root@www ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/hdc2 9.5G 3.7G 5.4G 41% / /dev/hdc3 4.8G 139M 4.4G 4% /home /dev/hdc1 99M 11M 83M 12% /boot tmpfs 363M 0 363M 0% /dev/shm
시스템 내의 모든 특수 파일 포맷 및 이름을 나열합니다
[root@www ~]# df -aT Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/hdc2 ext3 9920624 3823112 5585444 41% / proc proc 0 0 0 - /proc sysfs sysfs 0 0 0 - /sys devpts devpts 0 0 0 - /dev/pts /dev/hdc3 ext3 4956316 141376 4559108 4% /home /dev/hdc1 ext3 101086 11126 84741 12% /boot tmpfs tmpfs 371332 0 371332 0% /dev/shm none binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc sunrpc rpc_pipefs 0 0 0 - /var/lib/nfs/rpc_pipefs
을(를) /etc 아래의 사용 가능한 디스크 용량을 쉽게 읽을 수 있는 용량 형식으로 표시
[root@www ~]# df -h /etc Filesystem Size Used Avail Use% Mounted on /dev/hdc2 9.5G 3.7G 5.4G 41% /
Linux du 명령어는 공간을 확인하는 명령어이지만, df 명령어와 달리 Linux du 명령어는 파일과 디렉토리의 디스크 사용 공간을 확인하며, df 명령어와 약간 다릅니다. 여기서 Linux du 명령어를 소개합니다.
Syntax:
du [-ahskm] 파일이나 디렉토리 이름
옵션 및 매개변수:
-a :모든 파일과 디렉토리의 용량을 나열합니다. 기본적으로는 디렉토리 아래의 파일 용량만 계산합니다.
-h :사람들이 쉽게 읽을 수 있는 용량 형식(G)/M) 나열합니다;
-s :총량만 나열하며 각각의 디렉토리가 차지하는 용량을 나열하지 않습니다;
-S :자식 디렉토리의 총 합을 포함하지 않으며, -s는 약간 다릅니다.
-k :용량을 KBytes로 나열합니다;
-m :용량을 MBytes로 나열합니다;
현재 디렉토리에 있는 모든 폴더 용량을 나열합니다(숨겨진 폴더 포함):
[root@www ~]# du 8 ./test4 <==모든 디렉토리가 나열됩니다 8 ./test2 ....중간 생략.... 12 ./.gconfd <==숨겨진 파일이 포함된 디렉토리 220 . <==이 디렉토리(.)가 차지하는 총량
du를 직접 입력하면 옵션을 추가하지 않으면, du는 현재 디렉토리의 파일과 디렉토리가 차지하는 하드 디스크 공간을 분석합니다.
파일의 용량도 나열합니다
[root@www ~]# du -a 12 ./install.log.syslog <==파일 목록이 있습니다 8 ./.bash_logout 8 ./test4 8 ./test2 ....중간 생략.... 12 ./.gconfd 220 .
루트 디렉토리 아래의 각 디렉토리가 사용하는 공간을 확인합니다
[root@www ~]# du -sm /* 7 /bin 6 /boot ..... 중간 내용 생략.... 0 /proc ..... 중간 내용 생략.... 1 /tmp 3859 /usr <== 시스템 초기에는 이것이 가장 큽니다! 77 /var
패턴 문자 * 로 각 디렉토리를 대표합니다.
df와 다른 점은, du 명령어는 실제로 파일 시스템 내에 있는 모든 파일 데이터를 직접 검색합니다.
fdisk는 Linux의 디스크 파티션 테이블 작업 도구입니다.
Syntax:
fdisk [-l] 장치 이름
옵션 및 매개변수:
-l : 다음에 따르는 장치의 모든 파티션 내용을 출력합니다. 만약에만 fdisk -l 때 그렇게 하면 시스템이 전체 시스템에서 검색할 수 있는 장치의 파티션을 모두 나열합니다.
모든 파티션 정보를 나열합니다
[root@AY120919111755c246621 tmp]# fdisk -l 디스크 /dev/xvda: 21.5 GB, 21474836480 바이트 255 헤드, 63 섹터/트랙, 2610 켜터 단위 = 마그넷 콜럼의 16065 * 512 = 8225280 바이트 섹터 크기 (로컬/물리적): 512 바이트 / 512 바이트 I/O 크기 (최소/최적): 512 바이트 / 512 바이트 디스크 식별자: 0x00000000 장치 부팅 시작 종료 블록 Id 시스템 /dev/xvda1 * 1 2550 20480000 83 Linux /dev/xvda2 2550 2611 490496 82 Linux swap / Solaris 디스크 /dev/xvdb: 21.5 GB, 21474836480 바이트 255 헤드, 63 섹터/트랙, 2610 켜터 단위 = 마그넷 콜럼의 16065 * 512 = 8225280 바이트 섹터 크기 (로컬/물리적): 512 바이트 / 512 바이트 I/O 크기 (최소/최적): 512 바이트 / 512 바이트 디스크 식별자: 0x56f40944 장치 부팅 시작 종료 블록 Id 시스템 /dev/xvdb2 1 2610 20964793+ 83 Linux
시스템에서 루트 디렉토리가 있는 디스크를 찾고 해당 하드디스크 내의 관련 정보를 확인하세요
[root@www ~]# df / <== 주의: 중요한 것은 디스크 파일 이름을 찾는 것입니다 Filesystem 1K-blocks Used Available Use% Mounted on /dev/hdc2 9920624 3823168 5585388 41% / [root@www ~]# fdisk /dev/hdc <== 숫자를 추가하지 마세요! 이 디스크의 켜터 수는 설정되었습니다 5005. 그것에 대해 문제가 없지만, 이것은 이렇게 큽니다 1024, 그러나 특정 설정에서 문제를 일으킬 수 있습니다: 1) 부팅 시 실행되는 소프트웨어 (예를 들어,古い 버전의 LILO) 2) 다른 OS에서의 부팅 및 파티션 소프트웨어 (예를 들어, DOS FDISK, OS)/2 FDISK) Command (m for help): <== 당신의 입력을 기다립니다!
입력 m을 입력하면, 아래에 있는 이러한 명령 설명을 볼 수 있습니다
Command (m for help): m <== 입력 m을 입력하면, 아래에 있는 이러한 명령 설명을 볼 수 있습니다 명령 작업 a 부팅 가능 플래그 전환 b bsd 디스크 레이블 편집 c dos 호환성 플래그 전환 d 분할 삭제 <== partition 삭제 l 알려진 분할 유형 목록 m 이 메뉴 출력 n 새로운 분할 추가 <== 새로운 partition 추가 o 새로운 비어 있는 DOS 분할 테이블 생성 p 분할 테이블 출력 <== 스크린에 분할 테이블을 표시합니다 q 변경 사항을 저장하지 않고 탈출 <== fdisk 프로그램을 저장하지 않고 나갑니다 s 새로운 비어 있는 Sun 디스크 레이블 생성 t 분할의 시스템 ID 변경 u 디스플레이 변경/단위 v 분할 테이블 확인 w 분할 테이블에 작업을 쓰고 종료 <== 최근의 작업을 분할 테이블에 쓰습니다 x 추가 기능 (전문가 전용)
fdisk을 떠나기 전에 q를 누르면 모든 작업이 효과가 없습니다! 반대로, w를 누르면 작업이 효과가 발생합니다.
명령 (m을 도움말로 입력): p <== 현재 디스크 상태를 출력할 수 있습니다 디스크 /dev/hdc: 41.1 GB, 41174138880 바이트 <== 이 디스크의 파일 이름과 용량 255 헤드, 63 섹터/트랙, 5005 마그넷 콜럼 <== 헤드, 섹터, 마그넷 콜럼의 크기 단위 = 마그넷 콜럼의 16065 * 512 = 8225280 바이트 <== 각 마그넷 콜럼의 크기 장치 부팅 시작 종료 블록 Id 시스템 /dev/hdc1 * 1 13 104391 83 Linux /dev/hdc2 14 1288 10241437+ 83 Linux /dev/hdc3 1289 1925 5116702+ 83 Linux /dev/hdc4 1926 5005 24740100 5 확장 /dev/hdc5 1926 2052 1020096 82 Linux swap / Solaris # 장치 파일 이름 시작 구역 없음 시작 마그넷 콜럼 종료 마그넷 콜럼 1K大小容量 磁盘分区槽内的系统 Command (m for help): q
想要不储存离开吗?按下 q 就对了!不要随便按 w 啊!
使用 p 可以列出目前这颗磁盘的分割表信息,这个信息的上半部在显示整体磁盘的状态。
磁盘分割完毕后自然就是要进行文件系统的格式化,格式化的命令非常的简单,使用 mkfs(make filesystem) 命令。
Syntax:
mkfs [-t 文件系统格式] 装置文件名
옵션 및 매개변수:
-t :可以接文件系统格式,例如 ext3, ext2, vfat 등(系统有支持才会生效)
查看 mkfs 支持的文件格式
[root@www ~]# mkfs[tab][tab] mkfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.msdos mkfs.vfat
按下两个[tab],会发现 mkfs 支持的文件格式如上所示。
将分区 /dev/hdc6(可指定你自己的分区) 格式化为 ext3 文件系统:
[root@www ~]# mkfs -t ext3 /dev/hdc6 mke2fs 1.39 (29-May-2006) Filesystem label= <==这里指的是分割槽的名称(label) OS type: Linux Block size=4096 (log=2) <==block 的大小配置为 4K Fragment size=4096 (log=2) 251392 inodes, 502023 blocks <==由此配置决定的inode/block数量 25101 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=515899392 16 block groups 32768 blocks per group, 32768 fragments per group 15712 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912 Writing inode tables: done Creating journal (8192 blocks): done <==有日志记录 Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 34 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. # This creates the Ext we need3 Filesystem! Simple and clear!
fsck (file system check) is used to check and maintain inconsistent filesystems.
If the system is powered off or a disk problem occurs, you can use the fsck command to check the filesystem.
Syntax:
fsck [-t 파일 시스템] [-ACay] Device name
옵션 및 매개변수:
-t : Specify the type of file system given, if in /etc/If it is already defined in fstab or supported by the kernel itself, this parameter does not need to be added
-s : Execute fsck instructions sequentially one by one to check
-A : For/etc/Check all partitions listed in fstab
-C : Display the complete check progress
-d : Print out e2fsck debug results
-p : At the same time -A condition, multiple fsck checks are executed together
-R : At the same time -A condition, omit / Do not check
-V : Detailed display mode
-a : If there are errors in the check, they are automatically repaired
-r : If there are errors in the check, the user decides whether to repair
-y : Options specify that each file is automatically input yes, in case of uncertainty about which ones are abnormal, you can execute # fsck -y Check and repair all.
Check how many filesystems the fsck command supports in the system:
[root@www ~]# fsck[tab][tab] fsck fsck.cramfs fsck.ext2 fsck.ext3 fsck.msdos fsck.vfat
Forced check /dev/hdc6 Partition:
[root@www ~]# fsck -C -f -t ext3 /dev/hdc6 fsck 1.39 (29-May-2006) e2fsck 1.39 (29-May-2006) Pass 1Checking inodes, blocks, and sizes Pass 2Checking directory structure Pass 3Checking directory connectivity Pass 4Checking reference counts Pass 5Checking group summary information vbird_logical: 11/251968 files (9.1% non-contiguous), 36926/1004046 blocks
없이 추가되지 않으면 -f 옵션을 선택하면 이 파일 시스템이 문제가 없었기 때문에 검사 과정이 매우 빠릅니다! 추가로 -f 강제 검사를 선택하면 단계별로 표시됩니다.
Linux의 디스크 마운트는 mount 명령어를 사용하며, 제거는 umount 명령어를 사용합니다.
디스크 마운트 문법:
mount [-t 파일 시스템] [-L 레이블 이름] [-o 추가 옵션] [-n] 장치 파일 이름 마운트 점
기본적인 방식으로, 최근에 생성한 /dev/hdc6 마운트에 /mnt/hdc6 위에!
[root@www ~]# mkdir /mnt/hdc6 [root@www ~]# mount /dev/hdc6 /mnt/hdc6 [root@www ~]# df Filesystem 1K-blocks Used Available Use% Mounted on ..... 중간 생략..... /dev/hdc6 1976312 42072 1833836 3% /mnt/hdc6
디스크 제거 명령어 umount 문법:
umount [-fn] 장치 파일 이름 또는 마운트 점
옵션 및 매개변수:
-f : 강제 제거! 네트워크 파일 시스템 (NFS)에서 읽을 수 없는 경우 사용할 수 있습니다;
-n : 업그레이드하지 않음 /etc/mtab 상태에서 제거합니다.
제거/dev/hdc6
[root@www ~]# umount /dev/hdc6