Hoe krijg ik toegang tot een usb flash drive vanaf de terminal?

Ik heb alleen toegang tot de command line.
Ik moet een backup maken van mijn gegevens (op de gebruikersmap) naar een pen (USB DOK).

  • Hoe kan ik een flash drive handmatig mounten?
  • Wat moet het kopieer commando zijn?
Oplossing

1. Zoek uit hoe het station heet

Je moet weten hoe de drive heet om hem te kunnen mounten. Om dat te doen, start een van de volgende (gerangschikt in volgorde van mijn voorkeur):

lsblk
sudo blkid
sudo fdisk -l

Je bent op zoek naar een partitie die er ongeveer zo uit moet zien als: /dev/sdb1. Hoe meer schijven je hebt, hoe hoger de letter die dit waarschijnlijk zal zijn. Hoe dan ook, vind het en onthoud hoe het heet.

2. Maak een koppelpunt (optioneel)

Dit moet ergens in het bestandssysteem aangekoppeld worden. U kunt gewoonlijk /mnt/ gebruiken als u lui bent en daar niets anders aangekoppeld is, maar anders zult u een nieuwe map moeten aanmaken:

sudo  mkdir /media/usb

3. Monteren!

sudo mount /dev/sdb1 /media/usb

Als je klaar bent, vuur dan gewoon af:

sudo umount /media/usb

Dit antwoord is bijna 6 jaar oud en hoewel de kern ervan nog steeds werkt, zijn dingen zoals fdisk -l niet de meest gebruiksvriendelijke opties. Er zijn ook nieuwe mechanismen in hogere stacks om apparaten op een verstandige en standaard manier te mounten, die misschien niet altijd beschikbaar zijn.

Dus ik'heb wat oppoets van de andere antwoorden toegevoegd. Terwijl je'deze voetnoot leest en je'dit op een desktop systeem doet, zijn er zeker argumenten voor het gebruik van udisksctl, per wecac's antwoord. Dit mount op dezelfde manier als de desktop dat doet -creëren van je eigen /media/$USER/device directory- maar ik denk dat er nog steeds argumenten zijn voor een statisch mountpoint, vooral wanneer je niet wilt dat het pad verandert.

Udisks vertrouwt ook op D-Bus, dus is misschien niet overal beschikbaar.

Commentaren (1)

Naast het gebruik van het standaard mount commando (dat root vereist) kunt u schijven mounten met udisks en dbus met uw standaard gebruiker.

Om dit te doen is het handig (maar niet vereist) om eerst een paar dingen over de schijf te weten:

  1. Welk apparaat het is (bijv. /dev/sdb1)
  2. Welk bestandssysteem het gebruikt.

Als je dit weet, kun je een eenvoudig commando gebruiken om een drive te mounten vanaf de commandoregel.

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

deze oproep moet het pad echoën waarop het gemount is als het mounten slaagt.

Om op deze manier aangekoppelde schijven te ontkoppelen kunt u uitvoeren:

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

N.B. het is gewoon het einde van het pad er naar toe. Dus als wat je wilt mounten bijvoorbeeld op `/dev/sdb2` staat, dan zet je `sdb2` in plaats van.


Als u niet weet welk apparaat het is of welk bestandssysteem het gebruikt, hoeft u niet bang te zijn. Je kunt al die informatie gemakkelijk uitprinten met dit kleine commando:

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

Dit zal iets als dit uitprinten:

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

Deze die IdUsage = 'filesystem' hebben, kunnen met bovenstaand commando gemount worden.

Dit betekent dat, bijvoorbeeld, als ik het apparaat 'USB DRIVE' wil mounten, ik het volgende commando zou uitvoeren

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

Deze commando's werken allemaal met het dbus berichtensysteem, op dezelfde manier als Nautilus en andere bestandsbeheerders dingen auto-mounten. In deze commando's sturen we verschillende objecten (b.v. /org/freedesktop/... berichten waarin we ze vragen om bepaalde apparaten te mounten en unmounten. Ze kunnen dit wel of niet doen, afhankelijk van de permissies die men heeft gekregen in PolicyKit.

Met soortgelijke commando's kan men bijna elk aspect van zijn ervaring in Ubuntu controleren en de meeste systeemprogramma's en functies simuleren (bijv. afsluiten, volume veranderen, enz.).

Commentaren (1)

Dat is simpel. Als ik een usb drive in terminal wil gebruiken doe ik dit:

Maak een map aan in /media met:

mkdir /media/mountDrive 

Deze map zal worden gebruikt voor het koppelpunt. Gebruik dit commando:

sudo mount /dev/sdd1 /media/mountDrive 

sdd1 is de eerste partitie van mijn USB. Dan kun je navigeren naar de map die je al gemount hebt met

cd /media/mountDrive

Als je een lijst van de bestanden op de schijf wilt zien, kun je het ls commando gebruiken.

Om de drive te unmounten kunt u gebruik maken van

sudo umount /dev/sdd1

Merk op dat in mijn systeem de usb drive /dev/sdd1 is, maar in uw systeem kan het iets anders zijn. Om uit te vinden wat het is, kunt u het df commando gebruiken om alle schijven te zien die op dit moment zijn aangesloten.

Commentaren (0)