ターミナルからUSBフラッシュドライブにアクセスするには?

コマンドラインにしかアクセスできません。 データ(ユーザーフォルダ)をペン(USB DOK)にバックアップする必要があります。

  • 手動でフラッシュドライブをマウントするにはどうすればいいですか?
  • copyコマンドはどうすればいいですか?
ソリューション

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'の回答にあるように、udisksctlを使うという議論があるのは確かです。これはデスクトップと同じ方法でマウントします - 自分の /media/$USER/device ディレクトリを作成します - しかし、特にパスを変更したくない場合には、静的なマウントポイントを使うべきだという議論もあると思います。

UdisksはD-Busに依存しているので、どこでも使えるわけではありません。

解説 (1)

標準の mount コマンド(これには root が必要)に加えて、udisksdbus を使って、標準のユーザでドライブをマウントすることができます。

これを行うには、まずドライブについていくつかの情報を知っておくと便利です(必須ではありません)。

1.どのデバイスであるか (例: /dev/sdb1) 2. どのファイルシステムを使用しているか

これらを知ることで、コマンドラインからドライブをマウントする簡単なコマンドを使うことができます。

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

この呼び出しは、マウントが成功した場合、マウントされているパスをエコーする必要があります。

この方法でマウントされたドライブをアンマウントするには、次のように実行します。

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

注意点として、は単純にパスの終端を表します。例えば、マウントしたいものが `/dev/sdb2` にある場合は、 の代わりに sdb2 を入れます。


どのデバイスなのか、どのファイルシステムを使用しているのかわからない場合でも、心配はいりません。この小さなコマンドで、すべての情報を簡単に出力することができます。

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 で与えられたパーミッションに応じて、これを行うかもしれませんし、行わないかもしれません。

同様のコマンドを使用すると、Ubuntu での体験のほぼすべての側面を制御でき、ほとんどのシステムプログラムや機能(シャットダウン、ボリューム変更など)をシミュレートできます。

解説 (1)

それは簡単です。ターミナルで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コマンドを使って、現時点で接続されているすべてのディスクを確認してください。

解説 (0)