최근에 미니멀리스트 비지박스 시스템을 사용해 보았는데 작은 문제를 발견했습니다. lsblk
명령이 없다는 것이었습니다. 예를 들어 디스크, 파티션, 크기를 나열할 수 있는 다른 명령이 있습니까 lsblk
?
일부는 작동하지 않습니다.
lsblk
lsusb
fdisk -l
cfdisk
답변1
위키 페이지를 통해 보기바쁜 상자df
, 디스크 사용량을 찾는 명령을 지원하는 것을 확인했습니다 .
다음 명령을 시도해 볼 수 있습니다.
df -h - 마운트된 파일 시스템에서 사용 가능한 공간을 표시합니다.
~에서남성busybox 페이지에서는 df
이 명령을 사용하는 방법에 대한 예를 제공합니다.
그러나 @nwildner가 지적했듯이 df는 파티션 관련 구성표가 아닌 마운트된 파일 시스템의 저장소를 표시합니다. 그것을 찾으려면 다음 파일을 확인하십시오.
cat /proc/partitions
언급한 대로 fdisk -l
위 파일은 작동하지 않으며 파티션 정보가 포함될 수 있습니다.
시험
fdisk -l은 내 시스템에서 다음 출력을 생성합니다.
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 9726 78019672+ 8e Linux LVM
이제 cat을 사용하면 파티션 정보를 얻을 수 있습니다 /proc/partitions
. 출력은,
major minor #blocks name
8 0 78125000 sda
8 1 104391 sda1
8 2 78019672 sda2
253 0 78019156 dm-0
253 1 72581120 dm-1
253 2 5406720 dm-2
주요 장치 번호는 8이며 이는 디스크 장치임을 나타냅니다. 더 작은 파티션은 동일한 장치에 있는 파티션입니다. 0은 전체 디스크, 1은 기본 디스크, 2는 확장 디스크, 5는 논리 파티션입니다. 물론 나머지는 블록 크기와 디스크/파티션의 이름입니다.
sudo fdisk -l
이것이 현명한 조언인지는 확실하지 않지만, 그것이 효과가 있는지 확인하기 위해 시도해 보셨습니까 ?
편집 #1
실행할 수도 있습니다 $ df -T
. 이는 실행하는 데 슈퍼유저 권한이 필요하지 않은 또 다른 명령입니다. 그러나 이는 모든 마운트 지점을 보고합니다.
유용할 수 있는 또 다른 명령은 입니다 # file -sL /dev/sdXY
. 이는 전체 블록 장치에서는 작동하지 않는다는 단점이 있습니다. 정확한 장치를 통과해야 합니다. 출력은 매우 간결합니다.
인용하다
답변2
다른 응답자는 실제로 BusyBox에서 테스트하지 않은 것 같습니다. 다음은 initramfs의 BusyBox에서 작동하는 유일한 명령입니다.
cat /proc/partitions
디스크 및 파티션 크기를 블록(KiB) 단위로 표시합니다.blkid
파티션 레이블, UUID 및 유형(EXT4, NTFS 등) 표시
답변3
Busy box 명령은 일반적으로 더 큰 배포판에 포함된 전체 버전보다 더 제한적이며 이전 답변에서는 동일한 문제가 발생하는 동안 이 문제를 발견했기 때문에 이 문제를 제대로 해결하지 못합니다.
ext
tune2fs
현재 사용 중인 임베디드 Linux에서 사용할 수 있는 필요한 파일 시스템 정보 등을 찾았습니다 . 다른 유형의 마운트 해제된 파일 시스템에서 이 작업을 수행하는 방법을 잘 모르겠습니다.
tune2fs -l /dev/sdbXY | grep 'Block' | tr -s ' ' | cut -f3 -d' '
488378112
4096
group:
tr -s
중복된 공백이 제거되고 cut -f3 -d ' '
출력의 세 번째 필드가 제공되므로 이 출력이 제공됩니다 . 무슨 일이 일어나고 있는지 자세히 알아보려면 연속 파이프를 제거하기만 하면 됩니다.
첫 번째 숫자는 블록 수이고 두 번째 숫자는 블록 크기입니다. 이를 곱하면 바이트 단위로 답을 얻을 수 있습니다. 이 용어는 group:
필터링된 예외일 뿐이므로 무시할 수 있습니다.