2개의 하드 드라이브가 있는 서버가 있습니다. 두 번째 드라이브에는 무엇이 있는지 궁금합니다. 물리적 장치의 모든 항목을 나열하는 방법은 무엇입니까?
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 40G 0 disk
└─xvda1 202:1 0 40G 0 part /
xvde 202:64 0 40G 0 disk
└─xvde1 202:65 0 40G 0 part
위의 코드를 실행합니다. 이는 두 번째 드라이브가 비어 있고 사용되지 않음을 의미합니까?
답변1
귀하의 질문에 대한 대답은 아마도 '예'일 것입니다.
lsblk
빈 장치는 숨겨집니다. 그러나 이 경우 파티션에 대해서만 설명하고 해당 파티션의 데이터는 설명하지 않습니다. lsblk
여기서 작업에 가장 적합한 도구는 아닙니다.
그러나 이는 파티션이 아직 마운트되지 않았음을 알려줍니다.네, 현재는 사용되지 않습니다.
그렇다면 파티션(및 드라이브)에 데이터가 있습니까?
df
이는 명령이나 "disk free"를 통해 찾을 수 있습니다.
파티션의 내용을 보려면(파티션이 하나뿐이므로 이를 드라이브 자체의 내용이라고 부를 수 있음) 먼저 해당 파티션을 마운트해야 합니다.
루트로 디렉터리를 만들어 보겠습니다.
# mkdir /mnt/xvde1
그런 다음 이 파티션을 마운트하세요.
# mount /dev/xvde1 /mnt/xvde1
다음으로 실제 정보를 살펴보기 전에...많은디스크 공간(있는 경우)이 사용되고 있습니다. 파티션 크기가 약 40GB라는 것을 알고 있지만 이는 사용된 공간이 아니라 할당된 공간입니다. [파티션을 매개변수로 사용하도록 제안한 의견에 @n.st에게 감사드립니다 df
! ]
# df -H /dev/xvde1
얼마나 많은 공간이 사용되고 있는지 알려줄 것입니다. 내 파일 시스템의 예는 다음과 같습니다.
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 43G 15G 29G 35% /
두 번째 열(15GB)은 사용된 양입니다. 이것이 우리가 찾고 있는 것입니다! > 0이면 드라이브가 비어 있지 않습니다!
당신은 볼 수 있습니다모두마운트된 파일 시스템에 대한 정보를 얻으려면 간단히 다음을 사용하십시오.
$ df -H
-H
그런데 우리는 "사람이 읽을 수 있는" 방법을 사용합니다. 그것 없이 시도해 -H
보면 모든 것이 K 블록에 있다는 것을 알게 될 것입니다!
마지막으로 우리는 볼 수 있습니다모두해당 내용(적어도 파일 이름)은 다음을 사용하여 얻습니다.
# ls -R /mnt/xvde1
행운을 빌어요!
답변2
먼저 질문의 예를 구체적으로 고려하십시오.
아니요! 이는 두 번째 드라이브가 비어 있다는 의미는 아닙니다.
선
xvde 202:64 0 40G 0 disk
└─xvde1 202:65 0 40G 0 part
디스크에 40GB 파티션이 있음을 의미합니다.현재 설치되지 않음이며 파일 시스템을 포함할 수도 있고 포함하지 않을 수도 있습니다. 해당 데이터에 대해서는 언급하지 않습니다. 또한 설치가 가능한지 여부도 나와 있지 않습니다.
일반적으로 말하면:
모든 로컬 파티션(마운트 및 마운트 해제)을 나열하려면 다음을 사용할 수 있습니다.
fdisk -l
cat /proc/partitions
@Ramesh의 답변에서 제안한 것과 유사하지만 디스크와 파티션을 식별하는 데 도움이 될 수 있는 몇 가지 추가 세부 정보(예: 파티션 유형 ID, 부팅 플래그, 디스크 식별자)가 포함된 파티션 테이블이 표시됩니다 .
아래 샘플 출력을 참조하세요.
파티션 내의 실제 데이터를 식별하려면 file -s
@Ramesh의 제안에 따라 다음을 사용하십시오.
# file -s /dev/sdc1
/dev/sdc1: Linux rev 1.0 ext4 filesystem data, UUID=[...]
출력 예 fdisk -l
(축약):
Disk /dev/sdc: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders, total 234441648 sectors
[...]
Disk identifier: 0x0005550d
Device Boot Start End Blocks Id System
/dev/sdc1 2048 217643007 108820480 83 Linux
/dev/sdc2 217645054 234440703 8397825 5 Extended
/dev/sdc5 217645056 234440703 8397824 82 Linux swap / Solaris
Disk /dev/sdd: 160.0 GB, 160041885696 bytes
[...]
답변3
/proc/partitions
시스템에서 인식되는 모든 블록 장치 및 파티션이 나열됩니다. 그런 다음 file -s <device>
파티션에 어떤 유형의 파일 시스템이 있는지 확인할 수 있습니다 .
더 많은 옵션을 찾을 수 있습니다여기.
답변4
파일 시스템을 마운트한 다음 파일(있는 경우)을 나열해야 합니다.
mount /dev/xvde1 /mnt || echo 'No filesystem found'
ls -lR /mnt | tee /tmp/xvde1_files.txt
umount /mnt