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


250

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

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

जवाबों:


348

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डायरेक्टरी को बनाता है- लेकिन मुझे लगता है कि स्टैटिक माउंटपॉइंट के लिए अभी भी तर्क हैं, खासकर जब आप बदलना नहीं चाहते हैं।

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


इस पद्धति का मुख्य नुकसान यह है कि यह डिवाइस को मूल के रूप में मापता है। यदि डिवाइस FAT स्वरूपित है, तो उपयोगकर्ता इसे लिखने में सक्षम नहीं होगा। / मीडिया / $ USER / डिवाइस
माउंटपॉइंट

45

स्थापित करें 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.

यह तब काम किया जब mountमेरे ड्राइव को रीड-ओनली बढ़ाने पर जोर दिया गया।
जोनाथन लैंड्रम

12

मानक 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 []

नायब ए <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'उपरोक्त आदेश का उपयोग करके माउंट किए जा सकते हैं।

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

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

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


1
2015 का तरीका हैgdbus introspect --system --dest org.freedesktop.UDisks2 --object-path /org/freedesktop/UDisks2/drives --recurse --only-properties
निक अलेक्जेंडर

12

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

  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लगता है कि मैं जिस USB ड्राइव को माउंट करना चाहता हूं।

  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.

क्या है --object-pathकि यह पूछता है?
CMCDragonkai

5

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

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

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

अब रिपॉजिटरी से USBmount स्थापित करें:

sudo apt-get install usbmount

USBmount सभी USB ड्राइव /media/usb*(usb0, usb1, usb2 ...) में माउंट करता है

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

यह सत्यापित करने के लिए कि क्या USB ड्राइव सही ढंग से माउंट किया गया था, आप df -hसभी उपलब्ध ड्राइव और उनके संबंधित माउंट बिंदुओं को देखने के लिए उपयोग कर सकते हैं

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

sudo umount /media/usb0

3

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

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

mkdir /media/mountDrive 

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

sudo mount /dev/sdd1 /media/mountDrive 

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

cd /media/mountDrive

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

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

sudo umount /dev/sdd1

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.