我是 Linux 计算机的新手。我正在运行 Ubuntu 18.04.04 LTS。我想使用 rsync 在外部硬盘上进行备份。不幸的是,硬盘的名称只有两个单词,我忘了引用它们。我运行了这个:
sudo rsync -aAXv --delete --dry-run --exclude=/dev/* --exclude=/proc/* --exclude=/sys/* --exclude=/tmp/* --exclude=/run/* --exclude=/cdrom/* --exclude=/mnt/* --exclude=/media/* --exclude="swapfile" --exclude="lost+found" --exclude=".cache" --exclude="Downloads" --exclude=".VirtualBoxVMs"--exclude=".ecryptfs" / /media/alastair/Seagate Basic
这个过程一直持续到本地磁盘已满。没有任何内容复制到外部驱动器。
这是 df 的输出:
alastair@alastair-linux:/$ df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 16383896 0 16383896 0% /dev
tmpfs 3281660 2076 3279584 1% /run
/dev/nvme0n1p2 479152840 452003364 2740084 100% /
tmpfs 16408296 1092 16407204 1% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 16408296 0 16408296 0% /sys/fs/cgroup
/dev/loop0 167680 167680 0 100% /snap/spotify/41
/dev/loop1 15104 15104 0 100% /snap/gnome-characters/399
/dev/loop3 9344 9344 0 100% /snap/canonical-livepatch/94
/dev/loop2 56064 56064 0 100% /snap/core18/1668
/dev/loop4 160512 160512 0 100% /snap/gnome-3-28-1804/110
/dev/loop5 4480 4480 0 100% /snap/gnome-calculator/704
/dev/loop6 178944 178944 0 100% /snap/inkscape/5874
/dev/loop7 15104 15104 0 100% /snap/gnome-characters/495
/dev/loop8 179072 179072 0 100% /snap/skype/118
/dev/loop9 46080 46080 0 100% /snap/gtk-common-themes/1440
/dev/loop10 56320 56320 0 100% /snap/core18/1705
/dev/loop11 9344 9344 0 100% /snap/canonical-livepatch/95
/dev/loop12 49536 49536 0 100% /snap/gtk-common-themes/1474
/dev/loop13 4352 4352 0 100% /snap/gnome-calculator/544
/dev/loop15 93568 93568 0 100% /snap/core/8592
/dev/loop14 144128 144128 0 100% /snap/gnome-3-26-1604/92
/dev/loop16 3840 3840 0 100% /snap/gnome-system-monitor/135
/dev/loop17 93568 93568 0 100% /snap/core/8689
/dev/loop18 144128 144128 0 100% /snap/gnome-3-26-1604/98
/dev/loop19 256 256 0 100% /snap/gtk2-common-themes/9
/dev/loop20 185472 185472 0 100% /snap/spotify/36
/dev/loop21 164096 164096 0 100% /snap/gnome-3-28-1804/116
/dev/loop22 3840 3840 0 100% /snap/gnome-system-monitor/127
/dev/loop23 1024 1024 0 100% /snap/gnome-logs/93
/dev/loop24 1024 1024 0 100% /snap/gnome-logs/81
/dev/nvme0n1p1 523248 6152 517096 2% /boot/efi
tmpfs 3281656 16 3281640 1% /run/user/121
tmpfs 3281656 56 3281600 1% /run/user/1000
/dev/sdb1 1953512032 283812 1953228220 1% /media/alastair/Seagate Basic
我设法通过删除一些东西来释放足够的内存来运行网络浏览器。
有人能帮我理解这里发生了什么吗?我能回到运行 rsync 之前的状态吗?如果它将文件复制到我系统的某个地方 - 它们在哪里?我如何识别和删除它们?
我真的陷入困境,有点害怕做错事——任何帮助都将不胜感激!
阿拉斯泰尔
答案1
但是,该-v
rsync
选项代表“详细”!它告诉您它在做什么。
你真的用
-n, --dry-run perform a trial run with no changes made
选项?我认为不是。
“ *
”字符在 Linux shell 中很特殊,通常代表“所有文件”,因此,为了避免意外扩展,请用单引号(“ '
”)括住所有包含“ ”的文件模式*
,例如,
--exclude='/dev/*' --exclude='/proc/*' --exclude='/sys/*'
如图所示man rsync
。
为了说明这一点,请sudo
在命令中替换为echo
以查看扩展。
空格字符 (" ") 也很特殊。它用于分隔参数,并且当它是文件名的一部分时必须用引号引起来。有 3 种方法可以引用空格,因此您的目标应输入为:
/media/alastair/Seagate\ Basic
"/media/alastair/Seagate Basic"
'/media/alastair/Seagate Basic'
这实际的 rsync
命令(不是带有的命令--dry-run
)看起来就像您正在尝试写入/media/alastair/Seagate
,并且由于/media
是根文件系统上的目录,所以您填写了“/”。
看看
du -sk /media/alastair/Seagate
ls -l /media/alastair/Seagate
并释放空间(如果你确定的话)
sudo rm -rf /media/alastair/Seagate