Copiando arquivos para um drive USB [fechado]

1

Atualmente, estou tentando copiar um diretório com arquivos que contenham meu site de trabalhos de um servidor Gentoo para uma unidade USB. Eu vasculhei muitas páginas do youtube e do google e não consigo copiar. Tenho certeza de que há algo errado aqui, alguém tem alguma idéia?

cp -r /opt/biweb/app/ /data/dev/sdb1/

Editar: pontos de montagem

df-h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3  31G  31G  0     100% /
/dev/sda1  84m  9.5m 70m   12%  /boot

/dev/sdb1  68g 42g   23g   66%  /data
    
por Кристофер 22.03.2017 / 17:42

2 respostas

2

O comando que você quer é:

cp -r /opt/biweb/app/* /dev/sdb1/

Não esqueça o asterisco (*)! O comando acima copiará tudo na pasta /app para a pasta /sdb1 .

Se você quiser copiar a própria pasta app para o destino, faça:

cp -r /opt/biweb/app /dev/sdb1/

O texto acima não possui barra após "app". Isso copiará a pasta app e seu conteúdo.

    
por Dorian 22.03.2017 / 17:48
2

A descrição do dispositivo para a partição na unidade USB é

/dev/sdxn

em que x é a letra da unidade e n é o número da partição. No seu caso, parece ser /dev/sdb1 . Mas você não deve escrever diretamente no dispositivo. Em vez disso, você deve montá-lo e gravar no sistema de arquivos no ponto de montagem. Primeiro você deve criar um ponto de montagem ou usar um que já exista. Texto após # é um comentário (não usado como um comando).

sudo mkdir /mnt/sdn            # only the first time
sudo mount /dev/sdxn /mnt/sdn

ou no seu caso

sudo mkdir /mnt/sd1
sudo mount /dev/sdb1 /mnt/sd1

Você pode querer ter certeza de que tem permissão para gravar no USB pendrive de um usuário comum pelo seguinte método,

sudo mkdir -p /mnt/sd1  # only if you want a new mountpoint
sudo umount /dev/sdxn   # general: only if already mounted (with bad permissions).
sudo umount /dev/sdb1   # example

sudo mount -o rw,users,umask=000 /dev/sdxn /mnt/sd1  # general: mount
sudo mount -o rw,users,umask=000 /dev/sdb1 /mnt/sd1  # example

ls -ld /mnt/sd1                          # check permissions

sudo bash -c "echo 'Hello World' > /mnt/sd1/hello.txt"  # test writing with sudo
cat /mnt/sd1/hello.txt                   # test reading (as user)
ls -l /mnt/sd1                           # check permissions of the content
rm /mnt/sd1/hello.txt                    # test removing (as user)
echo 'I am a user' > /mnt/sd1/user.txt   # test writing (as user)

Editar 1: Às vezes (eu costumava dizer com frequência) a partição na unidade USB será montada automaticamente. Você vai encontrá-lo com os seguintes comandos,

df -h
sudo lsblk -f
sudo lsblk -m

A montagem automática pode ou não permitir a leitura e gravação para o usuário comum, mas normalmente é possível escrever com privilégios de superusuário, com sudo .

Você pode inspecionar como ele é montado com o comando

mount

mas ele exibirá muitas informações (sobre tudo que está montado).

Editar 2: comando de cópia

Depois de descobrir que o pendrive é montado automaticamente em /data , a seguinte linha de comando deve funcionar se [a partição no] drive USB estiver montada como leitura / gravação e com permissões para seu ID de usuário normal.

cp -r /opt/biweb/app /data

Ele deve criar um diretório /data/app na unidade USB com o conteúdo (a árvore de diretórios e os arquivos). Se não funcionar, você pode tentar o método de montagem especial, que mostrei acima, mas modificado para o ponto de montagem atual,

sudo umount /data                                 # unmount
sudo mount -o rw,users,umask=000 /dev/sdb1 /data  # mount with 'full' permissions

Editar 3: edite sua pergunta original, onde você pode usar ferramentas de formatação.

    
por sudodus 22.03.2017 / 20:29