将文件复制到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 

你想要的命令是:

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

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

如果要将app文件夹本身复制到目标中,请执行以下操作:

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

以上在“app”之后没有斜杠。 这将复制app文件夹及其内容。

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 pendrive,

 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:复制命令

在发现pendrive自动挂载在/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:请编辑原始问题,您可以在其中使用格式化工具。

在此处输入图像描述