Umount tất cả các đĩa usb đính kèm với một lệnh duy nhất


8

Có cách nào (an toàn) để vượt qua tất cả các phân vùng trên tất cả các thiết bị usb được gắn (usb-hdds, usb-stick) bằng một lệnh dòng lệnh duy nhất, bao gồm một số phân vùng luks được mã hóa không?

Chỉ có các phân vùng trên các thiết bị usb nên được bỏ qua, không có gì hơn!

Câu trả lời:


4

Đã cố gắng hết sức để duy trì trạng thái ổn định với điều này, lưu ý rằng nó sẽ thất bại nếu bạn không có gói "udevadm" phù hợp có sẵn để hiển thị thông tin udev.

#!/bin/bash

command_exists () {
    type "$1" &> /dev/null
}

CMD=""

if command_exists udevadm; then
        CMD="$(which udevadm) info -q all -n"
fi

if command_exists udevinfo; then
        CMD="$(which udevinfo) -q all -n"
fi

echo "The udevinfo command for this system is $CMD"


for disk in /dev/sd*
do
        DISK=$($CMD $disk | grep ID_BUS)
        if [[ "$DISK" == *usb ]]; then
                echo "$disk is USB, now unmounting.."
                umount $disk
        fi
done

Cảm ơn, nhưng nó không hoạt động cho các phân vùng luks.
sinh viên
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.