将文件复制到 USB 驱动器

Кри*_*фер 4 usb

目前,我正在尝试将包含我的作品网站的文件的目录从 Gentoo 服务器复制到 USB 驱动器。我已经浏览了 youtube 和 google 的很多页面,但似乎无法复制。我确信这里有问题,有人有什么想法吗?

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


编辑:挂载点

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
Run Code Online (Sandbox Code Playgroud)

Del*_*ean 5

你想要的命令是:

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

不要忘记星号 (*)!上面的命令会将/app文件夹中的所有内容复制到该/sdb1文件夹​​中。

如果您想将app文件夹本身复制到目标位置,请执行以下操作:

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

上面的“app”后面没有尾部斜杠。这将复制该app文件夹及其内容。


sud*_*dus 5

USB 驱动器上分区的设备描述是

/dev/sdxn
Run Code Online (Sandbox Code Playgroud)

其中 x 是驱动器号,n 是分区号,在您的情况下似乎是/dev/sdb1。但您不应该直接写入设备。相反,您应该挂载它并在挂载点写入文件系统。首先,您应该创建一个安装点,或使用已经存在的安装点。后面的文本#是注释(不用作命令)。

sudo mkdir /mnt/sdn            # only the first time
sudo mount /dev/sdxn /mnt/sdn
Run Code Online (Sandbox Code Playgroud)

或者在你的情况下

sudo mkdir /mnt/sd1
sudo mount /dev/sdb1 /mnt/sd1
Run Code Online (Sandbox Code Playgroud)

您可能需要确保普通用户可以通过以下方法向 USB 闪存盘写入数据:

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)
Run Code Online (Sandbox Code Playgroud)

编辑1:有时(我什至经常说)USB 驱动器上的分区会自动安装。您将使用以下命令找到它,

df -h
sudo lsblk -f
sudo lsblk -m
Run Code Online (Sandbox Code Playgroud)

自动安装可能会或可能不会使其对普通用户来说是可读的,但通常可以使用超级用户权限进行写入,使用sudo.

您可以使用命令检查它是如何安装的

mount
Run Code Online (Sandbox Code Playgroud)

但它会显示大量信息(关于已安装的所有内容)。

编辑2:复制命令

发现随身碟自动挂载到 后/data,如果 USB 驱动器中的分区已挂载为读/写且具有常规用户 ID 的权限,则以下命令行应该可以工作。

cp -r /opt/biweb/app /data
Run Code Online (Sandbox Code Playgroud)

它应该在 USB 驱动器上创建一个/data/app包含内容(目录树和文件)的目录。如果它不起作用,您可以尝试我上面展示的特殊安装方法,但针对当前安装点进行了修改,

sudo umount /data                                 # unmount
sudo mount -o rw,users,umask=000 /dev/sdb1 /data  # mount with 'full' permissions
Run Code Online (Sandbox Code Playgroud)

编辑3:请编辑您的原始问题,您可以在其中使用格式化工具。

在此输入图像描述