Bagaimana cara mengakses USB flash drive dari terminal?

Saya hanya memiliki akses ke baris perintah.
Saya perlu membuat cadangan data saya (pada folder pengguna) ke pena (USB DOK).

  • Bagaimana cara memasang flash drive secara manual?
  • Apa yang harus menjadi perintah salin?

1. Temukan apa yang disebut drive

Anda harus tahu apa yang disebut drive untuk memasangnya. Untuk melakukan itu api dari salah satu dari berikut (peringkat dalam urutan preferensi saya):

lsblksudo blkidsudo fdisk -l

Anda sedang mencari partisi yang akan terlihat seperti: /dev/sdb1. Semakin banyak disk yang anda miliki semakin tinggi huruf ini. Bagaimanapun, temukan dan ingat apa namanya.

2. Buat titik pemasangan (opsional)

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

sudo  mkdir /media/usb

3. Mount!

sudo mount /dev/sdb1 /media/usb

Ketika Anda sudah selesai, hanya api off:

sudo umount /media/usb

Jawaban ini hampir 6 tahun dan sementara intinya masih berfungsi, hal-hal seperti fdisk -l bukan opsi yang paling ramah pengguna. Ada juga mekanisme baru di tumpukan yang lebih tinggi untuk memasang 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 di sistem desktop, pasti ada argumen untuk menggunakan udisksctl, per jawaban wecac. Ini gunung dengan cara yang sama desktop tidak —membuat Anda sendiri /media/$USER/device direktori-tapi saya pikir masih ada argumen untuk titik pemasangan statis, terutama ketika Anda tidak ingin jalurnya berubah.

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

pmount / pumount

Instal pmount. Mount disk di / media/

pmount /dev/sdb1pumount /dev/sdb1

Tidak sudo dibutuhkan.

Ganti "sdb1" dengan jalur perangkat spesifik Anda. Untuk informasi lebih lanjut lihat manpage:

pmount  ("policy mount") is a wrapper around the standard mount programwhich 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.

Gunakan udisksctl dari paket=udisks2 (di Ubuntu dan Debian). Prosedur adalah:

  1. Temukan ID perangkat blok yang ingin Anda pasang, menggunakan lsblk:

    user@machine:~$ lsblkNAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTsda      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 partsdd      8:48   0   1.8T  0 disk└─sdd1   8:49   0   1.8T  0 part

    Dari ukurannya, /dev/sdc1 tampaknya menjadi USB drive saya ingin me-mount.

  2. Gunakan udisksctl untuk memasang perangkat. Perhatikan bahwa -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): 1Password:==== AUTHENTICATION COMPLETE ===Mounted /dev/sdc1 at /media/user/USBDRIVELABEL.

Mengatasi Hans Deragon komentar di bawah ini: Anda juga dapat memberitahu udisksctl untuk melakukan --no-user-interaction. Ini tidak mencoba untuk mengotentikasi pengguna, yang biasanya "hanya bekerja":

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.

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

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

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

Mengetahui hal ini, Anda dapat menggunakan perintah sederhana untuk memasang 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 jalur yang dipasang jika mount berhasil.

Untuk unmount drive 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. Yang <device> hanyalah akhir dari jalan menuju itu. Jadi misalnya jika apa yang Anda ingin me-mount adalah di /dev/sdb2 kemudian Anda akan menempatkan sdb2 di tempat <device>.


Jika Anda tidak tahu perangkat mana itu atau sistem file apa yang digunakannya, jangan 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 memiliki IdUsage = 'filesystem' dapat dipasang menggunakan perintah di atas.

Ini berarti bahwa, misalnya, jika saya ingin me-mount 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 bekerja menggunakan dbus sistem pesan, dengan cara yang sama bahwa Nautilus dan manajer file lainnya auto-mount hal. Dalam perintah ini kami mengirimkan berbagai objek (mis. /org/freedesktop/... pesan meminta mereka untuk me-mount dan unmount perangkat tertentu. Mereka mungkin atau mungkin tidak melakukan ini tergantung pada izin yang telah diberikan PolicyKit.

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

Anda juga dapat secara otomatis me-mount perangkat USB pada Ubuntu Server dengan bantuan USBmount.

Pastikan Anda menjalankan apt-get update / upgrade sebelum memulai instalasi:

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

Sekarang instal USBmount dari repositori:

sudo apt-get install usbmount

USBmount memasang semua drive USB di /media/usb* (usb0, usb1, usb2 ...)

Sekarang colokkan drive USB dan tunggu hingga terdeteksi dan dipasang. Selama OS host mendukung sistem File itu harus dipasang.

Untuk memverifikasi apakah drive USB dipasang dengan benar, Anda dapat menggunakan df -h untuk melihat semua drive yang tersedia dan titik mount masing-masing

Untuk un-mount drive Anda dapat menggunakan umount.

sudo umount /media/usb0

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

Buat folder di /media dengan:

mkdir /media/mountDrive 

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

sudo mount /dev/sdd1 /media/mountDrive 

sdd1 adalah partisi pertama dari USB saya. Kemudian Anda dapat menavigasi ke folder Anda sudah terpasang dengan

cd /media/mountDrive

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

Untuk meng-unmount drive yang dapat Anda gunakan

sudo umount /dev/sdd1

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

Saya tidak akan menambahkan tentang cara memasang drive. Namun karena penanya juga menanyakan perintah apa yang terbaik untuk digunakan untuk menyalin data, saya akan menjawabnya karena tidak dijawab sejauh yang saya tahu.

Saya akan merekomendasikan terlebih dahulu membuat folder pada drive (bahkan jika itu kosong) untuk mendukung barang-barang anda ke dalam untuk menyediakan organisasi. Sesuatu di sepanjang garis mkdir <mountpath>/mybackup harus melakukannya.

Kedua, saya akan menggunakan rsync untuk menyalin semuanya. Lakukan sesuatu di sepanjang garis rsync -r ~/* <mountpoint>/mybackup. Anda juga dapat menggunakan cp -r jika Anda ingin, namun, saya telah menemukan bahwa hal itu tidak melakukan cukup segala sesuatu yang anda harapkan sepanjang waktu.