目前,我正尝试将包含我工作网站的文件的目录从 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
答案1
您想要的命令是:
cp -r /opt/biweb/app/* /dev/sdb1/
不要忘记星号 (*)!上述命令将把/app
文件夹中的所有内容复制到文件夹中/sdb1
。
如果您想将app
文件夹本身复制到目标位置,请执行以下操作:
cp -r /opt/biweb/app /dev/sdb1/
上面的“app”后面没有斜杠。这将复制app
文件夹及其内容。
答案2
USB 驱动器上分区的设备描述是
/dev/sdxn
其中 x 是驱动器号,n 是分区号,在您的情况下似乎是/dev/sdb1
。但您不应该直接写入设备。相反,您应该挂载它并在挂载点写入文件系统。首先,您应该创建一个挂载点,或者使用一个已经存在的挂载点。后面的文本#
是注释(不用作命令)。
sudo mkdir /mnt/sdn # only the first time
sudo mount /dev/sdxn /mnt/sdn
或者你的情况
sudo mkdir /mnt/sd1
sudo mount /dev/sdb1 /mnt/sd1
您可能需要通过以下方法确保您被允许以普通用户身份写入 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)
编辑1:有时(我甚至会说经常)USB 驱动器上的分区会自动挂载。您可以使用以下命令找到它,
df -h
sudo lsblk -f
sudo lsblk -m
自动挂载可能会也可能不会使普通用户具有读写权限,但通常可以使用超级用户权限进行写入sudo
。
您可以使用命令检查它是如何安装的
mount
但它会显示大量信息(有关所有已安装的内容)。
编辑 2:复制命令
在发现 U 盘已自动安装在 上之后/data
,如果 USB 驱动器中的分区以读/写方式安装并且具有常规用户 ID 的权限,则以下命令行应该可以工作。
cp -r /opt/biweb/app /data
它应该在 USB 驱动器上创建一个包含内容(目录树和文件)的目录/data/app
。如果它不起作用,您可以尝试我上面展示的特殊安装方法,但针对当前安装点进行了修改,
sudo umount /data # unmount
sudo mount -o rw,users,umask=000 /dev/sdb1 /data # mount with 'full' permissions
编辑 3:请编辑您的原始问题,您可以在其中使用格式化工具。