Como acessar uma unidade flash usb do terminal?

Só tenho acesso à linha de comando.
Eu preciso Fazer backup de meus dados (na pasta do Usuário) para uma caneta (DOK USB).

  • Como posso montar uma unidade flash manualmente?
  • Qual deve ser o comando Copiar?

1. Encontre o que a unidade é chamada

Você precisará saber o que a unidade é chamada para montá-la. Para fazer isso, dispare um dos seguintes (classificado em ordem de minha preferência):

lsblksudo blkidsudo fdisk -l

Você está procurando uma partição que deve ser algo como: /dev/sdb1. Quanto mais discos você tiver, maior será a letra. De qualquer forma, Encontre-o e lembre-se do que é chamado.

2. Criar um ponto de montagem (opcional)

Isso precisa ser montado no sistema de arquivos algures. Você geralmente pode usar /mnt / se estiver sendo preguiçoso e nada mais estiver montado lá, mas, caso contrário, você desejará criar um novo diretório:

sudo  mkdir /media/usb

3. Monte!

sudo mount /dev/sdb1 /media/usb

Quando terminar, apenas dispare:

sudo umount /media/usb

Esta resposta tem quase 6 anos e enquanto o núcleo ainda funciona, coisas como fdisk -l não são as opções mais fáceis de usar. Existem também novos mecanismos em pilhas mais altas para a montagem de dispositivos de forma sã e padrão, que nem sempre podem estar disponíveis.

Então eu adicionei um pouco de polonês das outras respostas. Enquanto você está lendo esta nota de rodapé e está fazendo isso em um sistema de desktop, definitivamente existem argumentos para mear udisksctl, pela resposta do wecac. Isso é montado da mesma forma que a área de trabalho-criando o seu próprio /media/$USER/device diretório-mas acho que ainda há argumentos para um ponto de montagem estático, especialmente quando você não quer que o caminho mude.

Udisks também depende de D-Bus, então pode não estar disponível em todos os lugares.

pmount / pumount

Instalar pmount. Monta discos em / media/

pmount /dev/sdb1pumount /dev/sdb1

Não sudo necessario.

Substitua "sdb1" pelo caminho específico do seu dispositivo. Para obter mais informações, consulte o manual:

pmount  ("policy mount") is a wrapper around the standard mount programwhich 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.

Usar udisksctl do pacote=udisks2 (tanto no Ubuntu quanto no Debian). O procedimento é:

  1. Encontre o ID do dispositivo de bloco que deseja montar, usando lsblk:

    user@machine:~$ lsblkNAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTsda      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 partsdd      8:48   0   1.8T  0 disk└─sdd1   8:49   0   1.8T  0 part

    Do seu tamanho, /dev/sdc1 parece ser a unidade USB que eu quero montar.

  2. Usar udisksctl para montar o dispositivo. Notar -b == --block-device (para reduzir a digitação), mas prefiro opções longas para documentação:

    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): 1Password:==== AUTHENTICATION COMPLETE ===Mounted /dev/sdc1 at /media/user/USBDRIVELABEL.

Dirigindo-se a Hans Deragon's comentário abaixo: você também pode dizer udisksctl tarefa --no-user-interaction. Ele não tenta autenticar o usuário, o que geralmente "apenas funciona":

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.

Além de usar o padrão mount comando (que requer root) você pode montar unidades usando udisks e dbus com seu usuário padrão.

Para fazer isso, é útil (mas não necessário) saber algumas coisas sobre a unidade primeiro:

  1. Qual dispositivo é (ou seja, /dev/sdb1)
  2. que sistema de arquivos ele usa.

Sabendo disso, você pode usar um comando simples para montar uma unidade a partir da linha de comando.

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

esta chamada deve ecoar o caminho em que está montada se a montagem for bem-sucedida.

Para desmontar unidades montadas desta forma, você pode executar:

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

N. B. O <device> é simplesmente o fim do caminho para ele. Então, por exemplo, se o que você deseja montar está em /dev/sdb2 então você colocaria sdb2 no lugar de <device>.


Se você não sabe qual dispositivo é ou qual sistema de arquivos ele usa, não tenha medo. Você pode facilmente imprimir todas essas informações com este pequeno comando:

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

Isso imprimirá algo assim:

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

Aqueles que têm IdUsage = 'filesystem' pode ser montado usando o comando acima.

Isso significa que, por exemplo, se eu quisesse montar o dispositivo 'unidade USB', executaria o comando

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

Todos esses comandos funcionam usando o dbus sistema de mensagens, da mesma forma que Nautilus e outros gerenciadores de arquivos montam automaticamente as coisas. Nesses comandos, estamos enviando vários objetos (ou seja , /org/freedesktop/... mensagens pedindo-lhes para montar e desmontar certos dispositivos. Eles podem ou não fazer isso dependendo das permissões que foram dadas em PolicyKit.

Usando comandos semelhantes, pode-se controlar quase todos os aspectos da experiência no Ubuntu e simular a maioria dos programas e funções do sistema (ou seja, desligamento, mudança de volume, etc.).

Você também pode montar automaticamente dispositivos USB no Ubuntu Server com a ajuda do USBmount.

Certifique-se de executar o apt-get update / upgrade antes de iniciar a instalação:

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

Agora instale o USBmount a partir dos repositórios:

sudo apt-get install usbmount

Usbmount monta todas as unidades USB em /media/usb* (usb0, usb1, usb2 ...)

Agora conecte uma unidade USB e espere que ela seja detectada e montada. Contanto que o sistema operacional host suporte o sistema de arquivos, ele deve ser montado.

Para verificar se a unidade USB foi montada corretamente, você pode usar df -h para visualizar todas as unidades disponíveis e seus respectivos pontos de montagem

Para Des-montar uma unidade, você pode usar umount.

sudo umount /media/usb0

Isso é simples. Quando quero usar uma unidade usb no terminal, faço isso:

Criar uma pasta em /media com:

mkdir /media/mountDrive 

Esta pasta será usada para o ponto de montagem. Use este comando:

sudo mount /dev/sdd1 /media/mountDrive 

sdd1 é a primeira partição do meu USB. Então você pode navegar para a pasta com a qual você já montou

cd /media/mountDrive

Se você quiser listar os arquivos no drive, você pode usar o ls comando.

Para desmontar a unidade que você pode usar

sudo umount /dev/sdd1

Observe que no meu sistema a unidade usb é /dev/sdd1, mas em seu sistema pode ser algo diferente. Para descobrir o que é usar o df comando para ver todos os discos conectados no momento.

Não vou acrescentar sobre como montar a unidade. No entanto, como o asker também perguntou qual o melhor comando a ser usado para copiar os dados, responderei que, como não foi respondido, tanto quanto posso dizer.

Eu recomendaria primeiro criar uma pasta na unidade (mesmo que esteja vazia) para apoiar suas coisas para fornecer organização. Algo ao longo das linhas de mkdir <mountpath>/mybackup devia fazê-lo.

Em segundo lugar, eu usaria o rsync para copiar tudo. Faça algo ao longo das linhas de rsync -r ~/* <mountpoint>/mybackup. Você também pode usar cp -r se você quiser, no entanto, descobri que fazer isso não faz tudo o que você esperaria o tempo todo.