Bagaimana cara mendaftar semua perangkat penyimpanan (thumb drive / hard drive eksternal) yang terhubung melalui USB, dari baris perintah?


18

Saya ingin mendaftar HANYA perangkat yang terhubung melalui usb.

Masalahnya adalah bahwa Ubuntu tampaknya melihat semua thumb drive sebagai removable (in /sys/block/*/removable), tetapi tidak melihat hard drive eksternal dengan cara yang sama.

Ini sedikit lebih spesifik daripada Bagaimana mendeteksi perangkat USB?

Jawaban:


14

Jika Anda mencari disk yang dipasang, sederhana

df

akan mencantumkannya bersama dengan semua disk Anda lainnya bersama dengan beberapa info berguna.


2
tetapi ini memberikan semua perangkat blokir, tidak hanya yang terpasang melalui USB.
Jeremy Kerr

9

Saya akan merekomendasikan memeriksa properti udev perangkat, khususnya ID_BUSproperti:

for device in /sys/block/*
do
    if udevadm info --query=property --path=$device | grep -q ^ID_BUS=usb
    then
        echo $device
    fi
done

Ini memuntahkan perangkat untuk pembaca kartu built-in saya bahkan ketika tidak ada kartu yang dimasukkan.
b_laoshi

@b_laoshi: ya, itu masih akan dilaporkan sebagai perangkat penyimpanan, tetapi tanpa media.
Jeremy Kerr

2

kupikir

lsusb

akan memberi Anda apa yang Anda inginkan, setidaknya jika saya mengerti apa yang Anda minta. (Tentu saja, ini mencantumkan semua perangkat usb, bukan hanya penyimpanan.)


2

Daftar hanya perangkat penyimpanan USB yang terpasang

Sunting: Ketika saya punya waktu, saya akan mengunjungi kembali posting ini untuk membuatnya hanya daftar perangkat USB. Untuk saat ini, ia mencantumkan semua perangkat yang dipasang di /mediamana mungkin cukup baik untuk beberapa orang.

Mendaftar semua perangkat yang terpasang di /media

Semua jawaban lain di sini tampaknya gagal dalam menyaring baik perangkat penyimpanan USB atau perangkat USB non-penyimpanan. Berikut adalah perintah yang hanya boleh mencantumkan perangkat penyimpanan yang terpasang melalui USB. Satu pengecualian, yang mungkin tidak menjadi masalah bagi siapa pun adalah bahwa ini tidak akan menampilkan drive optik USB yang terhubung dengan media yang terpasang.

Persyaratan agar ini berfungsi

  • Perangkat USB harus dipasang. OS desktop Ubuntu biasanya dipasang secara otomatis
  • Media harus dipasang di /mediadirektori. Jika perangkat USB Anda dikonfigurasi di fstab untuk dipasang di tempat lain, Anda harus mengubah perintah berikut

Mendaftarkan perangkat penyimpanan USB
Dalam kasus khusus saya untuk skrip yang saya tulis, saya mencantumkan partisi individual. Berikut ini dua perintah. Satu akan mencantumkan partisi perangkat yang dilampirkan, dan yang lain hanya akan daftar perangkat.

  • Daftar partisi:
    lsblk | grep /media | grep -oP "sd[a-z][0-9]?" | awk '{print "/dev/"$1}'
    Contoh Output:

    /dev/sdd1
    /dev/sdi1
    /dev/sdj1
    /dev/sdj2
    
  • Perangkat daftar:
    lsblk | grep /media | grep -oP "sd[a-z]" | awk '{print "/dev/"$1}' | sort | uniq
    Contoh Output:

    /dev/sdd
    /dev/sdi
    /dev/sdj
    

Bagaimana dengan partisi disk internal yang dipasang di /media?
muru

Itu akan menimbulkan masalah, tapi itu tidak akan mempengaruhi kebanyakan pengguna. Saya akan memikirkannya dan memperbarui nanti.
b_laoshi
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.