![기존 광학 드라이브를 모두 나열하는 방법은 무엇입니까?](https://linux55.com/image/29543/%EA%B8%B0%EC%A1%B4%20%EA%B4%91%ED%95%99%20%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%A5%BC%20%EB%AA%A8%EB%91%90%20%EB%82%98%EC%97%B4%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
설치된 모든 광학 드라이브를 나열하는 방법우데브아니면 다른 핵심 기반 도구가 있습니까(Perl도 좋을 것입니다)?
추신: 이 명령을 알고 있지만 wodim --devices
환영받지 못하는 종속성입니다.
답변1
Perl을 좋아한다면 이 예제 코드확립된이 문제는 CPAN에서 해결될 수 있습니다. 또한 종속성이 낮습니다. 당신에게 필요한 라이브러리는장비-Cdio.
use strict;
BEGIN {
chdir 'example' if -d 'example';
use lib '../lib';
eval "use blib"; # if we fail keep going - maybe we have installed Cdio
}
use Device::Cdio;
use Device::Cdio::Device;
use Device::Cdio::Track;
use vars qw($0 $program $pause %opts);
sub print_drive_class($$$) {
my ($msg, $bitmask, $any) = @_;
my @cd_drives = Device::Cdio::get_devices_with_cap($bitmask, $any);
print "$msg...\n";
foreach my $drive (@cd_drives) {
print "Drive $drive\n";
}
print "-----\n";
}
my @cd_drives = Device::Cdio::get_devices($perlcdio::DRIVER_DEVICE);
foreach my $drive (@cd_drives) {
print "Drive $drive\n";
}
print "-----\n";
print_drive_class("All CD-ROM drives (again)", $perlcdio::FS_MATCH_ALL, 0);