터미널에서 USB 플래시 드라이브에 액세스하는 방법은 무엇입니까?


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하지만 가장 사용자 친화적 인 옵션은 아닙니다. 항상 사용할 수없는 제정신 표준 방식으로 장치를 장착하기 위해 더 높은 스택에 새로운 메커니즘이 있습니다.

그래서 나는 다른 답변에서 약간의 광택을 추가했습니다. 이 각주를 읽고 데스크탑 시스템 에서이 작업을 수행하는 동안 wecac 's answer에 따라을 사용udisksctl 하기위한 인수가 분명히 있습니다 . 이것은 데스크탑이 자신의 /media/$USER/device디렉토리를 만드는 것과 같은 방식으로 마운트 되지만, 특히 경로를 변경하지 않으려는 경우 정적 마운트 포인트에 대한 인수가 여전히 있다고 생각합니다.

Udisk는 또한 D-Bus에 의존하므로 일부 지역에서는 사용하지 못할 수 있습니다.


이 방법의 주요 단점은 장치를 루트로 마운트한다는 것입니다. 장치가 FAT 형식 인 경우 사용자는 장치에 쓸 수 없습니다. / media / $ USER / device 마운트 포인트도 항상 동일합니다
eMBee

45

설치하십시오 pmount. / media /에 디스크를 마운트합니다

pmount /dev/sdb1
pumount /dev/sdb1

sudo가 필요하지 않습니다. "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내 드라이브를 읽기 전용으로 마운트해야한다고 주장 했습니다 .
Jonathan Landrum 2016 년

12

표준 mount명령 (루트가 필요함) 을 사용하는 것 외에도 표준 사용자를 사용하여 표준 사용자 udisksdbus함께 드라이브를 마운트 할 수 있습니다 .

이렇게하려면 먼저 드라이브에 대한 몇 가지 사항을 아는 것이 유용하지만 필수는 아닙니다.

  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 []

NB <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 DRIVE'장치를 마운트하려는 경우 명령을 실행합니다.

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
Nick Alexander

12

udisksctlpackage =에서 사용하십시오 udisks2(우분투 및 데비안 모두). 절차는 다음과 같습니다

  1. 다음을 사용하여 마운트하려는 블록 장치의 ID를 찾으십시오 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.
    

한스 Deragon의 주소 코멘트 아래 : 당신은 또한 말할 수 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 장치를 Ubuntu Server에 자동으로 마운트 할 수도 있습니다.

설치를 시작하기 전에 apt-get update / upgrade를 실행하십시오 :

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

이제 저장소에서 USBmount를 설치하십시오.

sudo apt-get install usbmount

USBmount는 모든 USB 드라이브를 마운트합니다 /media/usb*(usb0, usb1, usb2 ...)

이제 USB 드라이브를 연결하고 감지 및 마운트 될 때까지 기다립니다. 호스트 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, 시스템에서는 USB 드라이브가 다를 수 있습니다. df명령을 사용 하여 현재 연결된 모든 디스크를 보려면 명령을 사용하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.