सवाल टर्मिनल से यूएसबी फ्लैश ड्राइव का उपयोग कैसे करें?


मुझे केवल कमांड लाइन तक पहुंच है।
मुझे अपने डेटा (उपयोगकर्ता फ़ोल्डर पर) को कलम (यूएसबी डीओके) में बैकअप लेना होगा।

  • मैं मैन्युअल रूप से फ्लैश ड्राइव कैसे माउंट कर सकता हूं?
  • कॉपी कमांड क्या होना चाहिए?

212
2018-04-29 00:26


मूल




जवाब:


1. ड्राइव को क्या कहा जाता है खोजें

आपको यह जानने की आवश्यकता होगी कि इसे माउंट करने के लिए ड्राइव क्या कहा जाता है। निम्नलिखित में से एक को बंद करने के लिए (मेरी वरीयता के क्रम में क्रमबद्ध):

lsblk
sudo blkid
sudo fdisk -l

आप एक ऐसे विभाजन की तलाश में हैं जो कुछ ऐसा दिखना चाहिए: /dev/sdb1। आपके पास जितना अधिक डिस्क होगा उतना अधिक पत्र होने की संभावना है। वैसे भी, इसे ढूंढें और याद रखें कि इसे क्या कहा जाता है।

2. एक माउंट प्वाइंट बनाएं (वैकल्पिक)

इसे फाइल सिस्टम में घुमाने की जरूरत है कहीं। आप आम तौर पर / mnt / का उपयोग कर सकते हैं यदि आप आलसी हैं और कुछ और नहीं है लेकिन अन्यथा आप एक नई निर्देशिका बनाना चाहते हैं:

sudo  mkdir /media/usb

3. माउंट!

sudo mount /dev/sdb1 /media/usb

जब आप पूरा कर लेंगे, तो बस आग लगें:

sudo umount /media/usb

यह उत्तर लगभग 6 साल पुराना है और जबकि इसका मूल अभी भी काम करता है, जैसे चीजें fdisk -l सबसे उपयोगकर्ता के अनुकूल विकल्प नहीं हैं। एक सैने और मानक तरीके से बढ़ते उपकरणों के लिए उच्च ढेर में नए तंत्र भी हैं जो हमेशा उपलब्ध नहीं हो सकते हैं।

तो मैंने दूसरे उत्तरों से कुछ पॉलिश जोड़ा है। जबकि आप इस फुटनोट को पढ़ रहे हैं और आप इसे डेस्कटॉप सिस्टम पर कर रहे हैं, निश्चित रूप से इसके लिए तर्क हैं का उपयोग करते हुए udisksctl, प्रति wecac के जवाब। यह माउंट करता है उसी तरह डेस्कटॉप करता है - स्वयं को तैयार करता है /media/$USER/device निर्देशिका- लेकिन मुझे लगता है कि एक स्थिर माउंटपॉइंट के लिए अभी भी तर्क हैं, खासकर जब आप बदलना चाहते हैं।

Udisks भी डी-बस पर निर्भर करता है, तो हर जगह उपलब्ध नहीं हो सकता है।


298
2018-04-29 00:43



इस विधि का मुख्य नुकसान यह है कि यह डिवाइस को रूट के रूप में माउंट करता है। यदि डिवाइस एफएटी स्वरूपित है तो उपयोगकर्ता इसे लिखने में सक्षम नहीं होगा। / मीडिया / $ उपयोगकर्ता / डिवाइस माउंटपॉइंट हमेशा भी वही होगा - eMBee


इंस्टॉल करें pmount। माउंट डिस्क / मीडिया /

pmount /dev/sdb1
pumount /dev/sdb1

कोई सूडो की जरूरत नहीं है। अपने विशिष्ट डिवाइस पथ के साथ "sdb1" को बदलें। अधिक जानकारी के लिए मैनपेज देखें:

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



यह कब काम किया mount केवल मेरे ड्राइव को पढ़ने के लिए जोर दिया। - Jonathan Landrum


मानक का उपयोग करने के अलावा mount आदेश (जिसके लिए रूट की आवश्यकता है) आप ड्राइव का उपयोग कर माउंट कर सकते हैं udisks तथा dbus अपने मानक उपयोगकर्ता के साथ।

ऐसा करने के लिए पहले ड्राइव के बारे में कुछ चीजों को जानने के लिए यह उपयोगी है (लेकिन आवश्यक नहीं):

  1. यह कौन सा डिवाइस है (यानी /dev/sdb1)
  2. यह किस फाइल सिस्टम का उपयोग करता है।

इन्हें जानना आप कमांड लाइन से ड्राइव को माउंट करने के लिए एक सरल कमांड का उपयोग कर सकते हैं।

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

इस कॉल को माउंट सफल होने पर उस पथ को प्रतिबिंबित करना चाहिए जिस पर इसे घुमाया जाता है।

इस तरह से घुड़सवार ड्राइव को अनमाउंट करने के लिए आप चला सकते हैं:

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

N.B. <device> बस इसके रास्ते का अंत है। तो उदाहरण के लिए यदि आप जो माउंट करना चाहते हैं वह है /dev/sdb2 तो आप डाल देंगे sdb2 की जगह में <device>


यदि आप नहीं जानते कि यह कौन सा डिवाइस है या यह किस फाइल सिस्टम का उपयोग करता है तो डर नहीं है। आप इस छोटी कमांड के साथ उस सारी जानकारी को आसानी से प्रिंट कर सकते हैं:

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) ).*|\}|.*\{)"

यह इस तरह कुछ प्रिंट करेगा:

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';
    };
  };
};

जिनके पास है IdUsage = 'filesystem' उपरोक्त आदेश का उपयोग कर आरोहित किया जा सकता है।

इसका मतलब यह है कि, उदाहरण के लिए, अगर मैं डिवाइस 'यूएसबी ड्राइव' को माउंट करना चाहता था तो मैं कमांड चलाऊंगा

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

ये सभी काम का उपयोग करते हैं dbus मैसेजिंग सिस्टम, वैसे ही Nautilus और अन्य फाइल प्रबंधक ऑटो-माउंट चीजें। इन आदेशों में हम विभिन्न वस्तुओं को भेज रहे हैं (यानी। /org/freedesktop/... संदेशों को माउंट करने और कुछ उपकरणों को अनमाउंट करने के लिए कह रहे हैं। वे अनुमति दी गई अनुमतियों के आधार पर ऐसा कर सकते हैं या नहीं कर सकते हैं PolicyKit

समान आदेशों का उपयोग करने से कोई उबंटू में अनुभव के लगभग हर पहलू को नियंत्रित कर सकता है और अधिकांश सिस्टम प्रोग्राम और कार्यों (यानी शट डाउन, वॉल्यूम चेंज इत्यादि) का अनुकरण कर सकता है।


11
2017-08-29 15:42



2015 रास्ता है gdbus introspect --system --dest org.freedesktop.UDisks2 --object-path /org/freedesktop/UDisks2/drives --recurse --only-properties - Nick Alexander


उपयोग udisksctl पैकेज से =udisks2 (उबंटू और डेबियन दोनों में)। प्रक्रिया है:

  1. उपयोग करने के लिए ब्लॉक डिवाइस की आईडी खोजें, जिसे आप माउंट करना चाहते हैं 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
    

    इसके आकार से, /dev/sdc1 ऐसा लगता है कि मैं यूएसबी ड्राइव माउंट करना चाहता हूं।

  2. उपयोग udisksctl डिवाइस को माउंट करने के लिए। ध्यान दें कि -b == --block-device (टाइपिंग को कम करने के लिए) लेकिन मैं दस्तावेज़ीकरण के लिए लंबे विकल्प पसंद करता हूं:

    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.
    

हंस डेरागोन को संबोधित करते हुए नीचे टिप्पणी करें: आप यह भी बता सकते हैं udisksctl करने के लिए --no-user-interaction। यह उपयोगकर्ता को प्रमाणीकृत करने का प्रयास नहीं करता है, जो आमतौर पर "बस काम करता है":

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





यह आसान है। जब मैं टर्मिनल में यूएसबी ड्राइव का उपयोग करना चाहता हूं तो मैं यह करता हूं:

में एक फ़ोल्डर बनाएँ /media साथ में:

mkdir /media/mountDrive 

इस फ़ोल्डर का उपयोग माउंट पॉइंट के लिए किया जाएगा। इस आदेश का प्रयोग करें:

sudo mount /dev/sdd1 /media/mountDrive 

sdd1 मेरे यूएसबी का पहला विभाजन है। फिर आप उस फ़ोल्डर में नेविगेट कर सकते हैं जिसे आपने पहले से आरोहित किया है

cd /media/mountDrive

यदि आप ड्राइव में फ़ाइलों को सूचीबद्ध करना चाहते हैं तो आप इसका उपयोग कर सकते हैं ls आदेश।

ड्राइव का अनमाउंट करने के लिए आप इसका उपयोग कर सकते हैं

sudo umount /dev/sdd1

ध्यान दें कि मेरे सिस्टम में यूएसबी ड्राइव है /dev/sdd1, लेकिन आपके सिस्टम में यह कुछ अलग हो सकता है। यह पता लगाने के लिए कि इसका क्या उपयोग किया जाता है df वर्तमान समय में जुड़े सभी डिस्क देखने के लिए आदेश।


2
2017-08-29 14:08





आप यूएसबीमाउंट की मदद से उबंटू सर्वर पर यूएसबी डिवाइस स्वचालित रूप से माउंट कर सकते हैं।

सुनिश्चित करें कि आप स्थापना शुरू करने से पहले apt-get अद्यतन / अपग्रेड चलाएं:

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

अब भंडार से यूएसबीमाउंट स्थापित करें:

sudo apt-get install usbmount

यूएसबीमाउंट में सभी यूएसबी ड्राइव माउंट हैं /media/usb* (यूएसबी 0, यूएसबी 1, यूएसबी 2 ...)

अब एक यूएसबी ड्राइव प्लग करें और इसका पता लगाने और घुड़सवार होने का इंतजार करें। जब तक होस्ट ओएस फाइल सिस्टम का समर्थन करता है, इसे आरोहित किया जाना चाहिए।

यह सत्यापित करने के लिए कि क्या यूएसबी ड्राइव सही ढंग से घुड़सवार था या नहीं df -h सभी उपलब्ध ड्राइव और उनके संबंधित माउंट पॉइंट देखने के लिए

ड्राइव को अन-माउंट करने के लिए आप umount का उपयोग कर सकते हैं।

sudo umount /media/usb0

2
2018-05-14 16:35