Pertanyaan Bagaimana cara mengakses usb flash drive dari terminal?


Saya hanya memiliki akses ke baris perintah.
Saya perlu mem-backup data saya (pada folder pengguna) ke pena (USB DOK).

  • Bagaimana saya bisa memasang flash drive secara manual?
  • Apa yang seharusnya menjadi perintah salin?

212
2018-04-29 00:26


asal




Jawaban:


1. Temukan apa drive itu dipanggil

Anda harus tahu apa yang disebut drive untuk memasangnya. Untuk melakukan itu, matikan salah satu dari yang berikut ini (peringkat berdasarkan preferensi saya):

lsblk
sudo blkid
sudo fdisk -l

Anda sedang mencari partisi yang seharusnya terlihat seperti ini: /dev/sdb1. Semakin banyak disk Anda memiliki semakin tinggi huruf ini mungkin. Pokoknya, temukan dan ingat apa namanya.

2. Buat titik mount (opsional)

Ini perlu dipasang ke dalam filesystem suatu tempat. Anda biasanya dapat menggunakan / mnt / jika Anda sedang malas dan tidak ada yang dipasang di sana tetapi sebaliknya Anda akan ingin membuat direktori baru:

sudo  mkdir /media/usb

3. Gunung!

sudo mount /dev/sdb1 /media/usb

Setelah selesai, cukup aktifkan:

sudo umount /media/usb

Jawaban ini hampir 6 tahun dan sementara inti dari itu masih berfungsi, hal-hal seperti fdisk -l bukan opsi yang paling mudah digunakan. Ada juga mekanisme baru dalam tumpukan yang lebih tinggi untuk pemasangan perangkat dengan cara yang waras dan standar yang mungkin tidak selalu tersedia.

Jadi saya telah menambahkan beberapa polesan dari jawaban lainnya. Saat Anda membaca catatan kaki ini dan Anda melakukan ini pada sistem desktop, pasti ada argumen untuk itu menggunakan udisksctl, per jawaban wecac. Ini dipasang dengan cara yang sama dengan desktop — membuat tablet Anda sendiri /media/$USER/device direktori — tetapi saya rasa masih ada argumen untuk mountpoint statis, terutama ketika Anda tidak ingin jalur berubah.

Udisks juga bergantung pada D-Bus, jadi mungkin tidak tersedia di mana-mana.


297
2018-04-29 00:43



Kerugian utama dari metode ini adalah karena me-mount perangkat sebagai root. jika perangkat FAT diformat maka pengguna tidak akan dapat menulis ke sana. / media / $ PENGGUNA / perangkat mountpoint juga akan selalu sama - eMBee


Memasang pmount. Mount disk di / media /

pmount /dev/sdb1
pumount /dev/sdb1

Tidak perlu sudo. Ganti "sdb1" dengan jalur perangkat khusus Anda. Untuk informasi lebih lanjut lihat halaman manual:

pmount  ("policy mount") is a wrapper around the standard mount program
which permits normal users to mount removable devices without a  match-
ing /etc/fstab entry.

pmount is invoked like this:

pmount device [ label ]

This  will  mount  device  to a directory below /media if policy is met
(see below). If label is given, the mount point will  be  /media/label,
otherwise it will be /media/device.

40
2017-11-06 01:39



Ini berhasil saat itu mount bersikeras memasang drive saya hanya-baca. - Jonathan Landrum


Selain menggunakan standar mount perintah (yang membutuhkan root) Anda dapat me-mount drive menggunakan udisks dan dbus dengan pengguna standar Anda.

Untuk melakukan ini, ini berguna (tetapi tidak diperlukan) untuk mengetahui beberapa hal tentang drive terlebih dahulu:

  1. Perangkat apa itu (mis. /dev/sdb1)
  2. filesystem apa yang digunakannya.

Mengetahui ini Anda dapat menggunakan perintah sederhana untuk me-mount drive dari baris perintah.

gdbus call --system --dest org.freedesktop.UDisks --object-path /org/freedesktop/UDisks/devices/<device> --method org.freedesktop.UDisks.Device.FilesystemMount "<filesystem>" []

panggilan ini harus menggemakan jalannya jika mount berhasil.

Untuk melepaskan drive yang dipasang dengan cara ini Anda dapat menjalankan:

gdbus call --system --dest org.freedesktop.UDisks --object-path /org/freedesktop/UDisks/devices/<device> --method org.freedesktop.UDisks.Device.FilesystemUnmount []

N.B. itu <device> hanyalah akhir dari jalan menuju itu. Jadi misalnya jika apa yang ingin Anda mount berada /dev/sdb2 maka Anda akan memasangnya sdb2 di tempat <device>.


Jika Anda tidak tahu perangkat mana atau sistem file apa yang digunakan tidak takut. Anda dapat dengan mudah mencetak semua informasi itu dengan perintah kecil ini:

gdbus introspect --system --dest org.freedesktop.UDisks --object-path /org/freedesktop/UDisks/devices --recurse --only-properties | grep -E "(readonly .+ (IdLabel|IdType|Device(IsMounted|IsDrive|File) ).*|\}|.*\{)"

Ini akan mencetak sesuatu seperti ini:

node /org/freedesktop/UDisks/devices {
  node /org/freedesktop/UDisks/devices/sda {
    interface org.freedesktop.UDisks.Device {
        readonly s IdLabel = '';
        readonly s IdType = '';
        readonly s IdUsage = '';
        readonly b DeviceIsMounted = false;
        readonly s DeviceFile = '/dev/sda';
    };
  };
  node /org/freedesktop/UDisks/devices/sda1 {
    interface org.freedesktop.UDisks.Device {
        readonly s IdLabel = 'SYSTEM';
        readonly s IdType = 'ntfs';
        readonly s IdUsage = 'filesystem';
        readonly b DeviceIsMounted = false;
        readonly s DeviceFile = '/dev/sda1';
    };
  };
  node /org/freedesktop/UDisks/devices/sda2 {
    interface org.freedesktop.UDisks.Device {
        readonly s IdLabel = 'Windows7';
        readonly s IdType = 'ntfs';
        readonly s IdUsage = 'filesystem';
        readonly b DeviceIsMounted = true;
        readonly s DeviceFile = '/dev/sda2';
    };
  };
  node /org/freedesktop/UDisks/devices/sda3 {
    interface org.freedesktop.UDisks.Device {
        readonly s IdLabel = 'Recovery';
        readonly s IdType = 'ntfs';
        readonly s IdUsage = 'filesystem';
        readonly b DeviceIsMounted = false;
        readonly s DeviceFile = '/dev/sda3';
    };
  };
  node /org/freedesktop/UDisks/devices/sda4 {
    interface org.freedesktop.UDisks.Device {
        readonly s IdLabel = '';
        readonly s IdType = '';
        readonly s IdUsage = '';
        readonly b DeviceIsMounted = false;
        readonly s DeviceFile = '/dev/sda4';
    };
  };
  node /org/freedesktop/UDisks/devices/sda5 {
    interface org.freedesktop.UDisks.Device {
        readonly s IdLabel = '';
        readonly s IdType = 'ext4';
        readonly s IdUsage = 'filesystem';
        readonly b DeviceIsMounted = true;
        readonly s DeviceFile = '/dev/sda5';
    };
  };
  node /org/freedesktop/UDisks/devices/sda6 {
    interface org.freedesktop.UDisks.Device {
        readonly s IdLabel = '';
        readonly s IdType = 'swap';
        readonly s IdUsage = 'other';
        readonly b DeviceIsMounted = false;
        readonly s DeviceFile = '/dev/sda6';
    };
  };
  node /org/freedesktop/UDisks/devices/sda7 {
    interface org.freedesktop.UDisks.Device {
        readonly s IdLabel = '';
        readonly s IdType = 'ext4';
        readonly s IdUsage = 'filesystem';
        readonly b DeviceIsMounted = true;
        readonly s DeviceFile = '/dev/sda7';
    };
  };
  node /org/freedesktop/UDisks/devices/sdb {
    interface org.freedesktop.UDisks.Device {
        readonly s IdLabel = '';
        readonly s IdType = '';
        readonly s IdUsage = '';
        readonly b DeviceIsMounted = false;
        readonly s DeviceFile = '/dev/sdb';
    };
  };
  node /org/freedesktop/UDisks/devices/sdb1 {
    interface org.freedesktop.UDisks.Device {
        readonly s IdLabel = 'USB DRIVE';
        readonly s IdType = 'vfat';
        readonly s IdUsage = 'filesystem';
        readonly b DeviceIsMounted = false;
        readonly s DeviceFile = '/dev/sdb1';
    };
  };
  node /org/freedesktop/UDisks/devices/sr0 {
    interface org.freedesktop.UDisks.Device {
        readonly s IdLabel = '';
        readonly s IdType = '';
        readonly s IdUsage = '';
        readonly b DeviceIsMounted = false;
        readonly s DeviceFile = '/dev/sr0';
    };
  };
};

Mereka yang memilikinya IdUsage = 'filesystem' dapat dipasang menggunakan perintah di atas.

Ini berarti bahwa, misalnya, jika saya ingin memasang perangkat 'USB DRIVE' saya akan menjalankan perintah

gdbus call --system --dest org.freedesktop.UDisks --object-path /org/freedesktop/UDisks/devices/sdb1 --method org.freedesktop.UDisks.Device.FilesystemMount "vfat" []

Semua perintah ini berfungsi menggunakan dbus sistem perpesanan, dengan cara yang sama Nautilus dan pengelola berkas lainnya melakukan mount secara otomatis. Dalam perintah ini kami mengirim berbagai objek (yaitu /org/freedesktop/... pesan yang meminta mereka untuk melakukan mount dan unmount perangkat tertentu. Mereka mungkin atau mungkin tidak melakukan ini tergantung pada izin yang telah diberikan PolicyKit.

Menggunakan perintah yang serupa dapat mengontrol hampir setiap aspek pengalaman di Ubuntu dan mensimulasikan sebagian besar program dan fungsi sistem (yaitu shutdown, perubahan volume, dll.).


11
2017-08-29 15:42



Cara 2015 adalah gdbus introspect --system --dest org.freedesktop.UDisks2 --object-path /org/freedesktop/UDisks2/drives --recurse --only-properties - Nick Alexander


Menggunakan udisksctl dari paket =udisks2 (di Ubuntu dan Debian). Prosedurnya adalah:

  1. Temukan ID perangkat blok yang ingin Anda pasangkan, gunakan lsblk:

    user@machine:~$ lsblk
    NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sda      8:0    0   1.8T  0 disk
    ├─sda1   8:1    0  19.1M  0 part /boot/efi
    ├─sda2   8:2    0   1.8T  0 part
    └─sda3   8:3    0    16G  0 part [SWAP]
    sdb      8:16   0 931.5G  0 disk
    ├─sdb1   8:17   0    37M  0 part
    ├─sdb2   8:18   0  15.9G  0 part [SWAP]
    └─sdb3   8:19   0 915.7G  0 part /
    sdc      8:32   1  14.4G  0 disk
    └─sdc1   8:33   1  14.4G  0 part
    sdd      8:48   0   1.8T  0 disk
    └─sdd1   8:49   0   1.8T  0 part
    

    Dari ukurannya, /dev/sdc1 tampaknya USB drive yang ingin saya pasang.

  2. Menggunakan udisksctl untuk memasang perangkat. Perhatikan itu -b == --block-device (untuk mengurangi pengetikan) tetapi saya lebih suka opsi panjang untuk dokumentasi:

    user@machine:~$ udisksctl mount --block-device /dev/sdc1
    ==== AUTHENTICATING FOR org.freedesktop.udisks2.filesystem-mount ===
    Authentication is required to mount Kingston DT microDuo 3C (/dev/sdc1)
    Multiple identities can be used for authentication:
     1.  XXXXX,,, (user)
     2.  ,,, (YYYYY)
    Choose identity to authenticate as (1-2): 1
    Password:
    ==== AUTHENTICATION COMPLETE ===
    Mounted /dev/sdc1 at /media/user/USBDRIVELABEL.
    

Mengatasi Hans Deragon komentar dibawah: Anda juga bisa tahu udisksctl melakukan --no-user-interaction. Itu tidak mencoba untuk mengotentikasi pengguna, yang biasanya "hanya berfungsi":

user@machine:~$ udisksctl mount --block-device /dev/sdc1 --no-user-interaction
# possibly some complaining here about I/O charset or need to run `fsck`
Mounted /dev/sdc1 at /media/user/USBDRIVELABEL.

10
2017-12-28 15:34





Itu sederhana. Ketika saya ingin menggunakan usb drive di terminal, saya melakukan ini:

Buat folder di /media dengan:

mkdir /media/mountDrive 

Folder ini akan digunakan untuk titik mount. Gunakan perintah ini:

sudo mount /dev/sdd1 /media/mountDrive 

sdd1 adalah partisi pertama dari USB saya. Kemudian Anda dapat menavigasi ke folder yang sudah Anda pasangi

cd /media/mountDrive

Jika Anda ingin daftar file di drive Anda dapat menggunakan ls perintah.

Untuk melepas drive yang dapat Anda gunakan

sudo umount /dev/sdd1

Perhatikan bahwa di sistem saya drive usb /dev/sdd1, tetapi di sistem Anda mungkin ada sesuatu yang berbeda. Untuk mengetahui apa itu menggunakan df perintah untuk melihat semua disk yang terhubung pada saat ini.


2
2017-08-29 14:08





Anda juga dapat secara otomatis memasang perangkat USB di Ubuntu Server dengan bantuan USBmount.

Pastikan Anda menjalankan pembaruan / peningkatan apt-get sebelum memulai instalasi:

sudo apt-get update && sudo apt-get upgrade

Sekarang instal USBmount dari repositori:

sudo apt-get install usbmount

USBmount me-mount semua drive USB /media/usb* (usb0, usb1, usb2 ...)

Sekarang pasang drive USB dan tunggu sampai terdeteksi dan dipasang. Asalkan OS host mendukung File System maka harus di-mount.

Untuk memverifikasi apakah USB drive sudah terpasang dengan benar Anda dapat menggunakan df -h untuk melihat semua drive yang tersedia dan titik mountnya masing-masing

Untuk un-mount drive Anda dapat menggunakan umount.

sudo umount /media/usb0

2
2018-05-14 16:35