Возможно, эта ошибка влияет на пользователей nvidia. https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/1166765
попробуйте установить temp fix - откройте терминал и выполните следующее:
$ gsettings reset org.compiz.core: / org / compiz / profiles / unity / plugins / core / active-plugins $ shutdown -r now
исправляет это, но, возможно, не постоянно тем не менее, сохраните эту заметку.
Возможно, было бы разумнее использовать rsync. Например:
rsync -aP /source ~/destination
Флаг -P или --partial предотвращает удаление незавершенных файлов, если есть прерывание. Если вы снова запустите ту же команду, любая незавершенная передача будет возобновлена.
Таким образом, вам не нужно беспокоиться о локальном веб-сервере, который вам нужен для wget.
Хотя я настоятельно рекомендую rsync, вы можете использовать curl без запуска HTTP-сервера:
curl -O -C - file:///path/to/some/file
curl отличается от wget, но так же, если нет более могущественный. Это всегда удобно иметь в любой системе.
Из man curl:
-C, --continue-at <offset>
Continue/Resume a previous file transfer at the given offset.
Use "-C -" to tell curl to automatically find out where/how to
resume the transfer
-O, --remote-name
Write output to a local file named like the remote file we get.
lftp может обрабатывать локальные файловые системы без необходимости сервера.
lftp - Сложная программа передачи файлов lftp может обрабатывать несколько способов доступа к файлам - ftp, ftps, http, https, hftp, fish, sftp и file (https и ftps доступны только при компиляции lftp с помощью библиотеки GNU TLS или OpenSSL). Помимо FTP-подобных протоколов, lftp поддерживает протокол BitTorrent как команду «torrent». Также поддерживается посев.Ссылка: man lftp
Чтобы скопировать файл sinlge: (используйте mget для нескольких файлов или с помощью * joker)lftp -c "get -c file:///<absolute-path-to-file>"
Чтобы скопировать папку: lftp -c "mirror -c file:///<absolute-path-to-directory>"
Сначала -c для команды, второй -c для продолжения, когда это возможно.
Для пробела, это работает для меня либо \, как shell или %20, как веб-URL.
это возможно. Вам нужен веб-сервер, например apache или nginx. если это apache, чтобы скопировать файл, вы можете сделать это
wget http://localhost/path/to/file/starting/from/var/www/, потому что домашний каталог для сервера apache - / var / www
Другой способ использования с помощью dd:
Проверить размер целевого файла с помощью команды stat или ls -l Копировать с использованием:dd if=<source-file-path> iflag=skip_bytes skip=<dest-file-size> oflag=seek_bytes seek=<dest-file-size> of=<dest-file-path>
Пример: [!d5 ]
$ ls -l /home/user/u1404_64_d.iso
-rw-rw-r-- 1 user user 147186688 Jan 8 17:01 /home/user/u1404_64_d.iso
$ dd if=/boot/grml/u1404_64_d.iso \
iflag=skip_bytes skip=147186688 oflag=seek_bytes seek=147186688 \
of=/home/user/u1404_64_d.iso
1686798+0 records in
1686798+0 records out
863640576 bytes (864 MB) copied, 15.1992 s, 56.8 MB/s
$ md5sum /boot/grml/u1404_64_d.iso /home/user/u1404_64_d.iso
dccff28314d9ae4ed262cfc6f35e5153 /boot/grml/u1404_64_d.iso
dccff28314d9ae4ed262cfc6f35e5153 /home/user/u1404_64_d.iso
Это может быть вредно, так как он может перезаписать файл без проверки, здесь лучше проверить хэш перед продолжением:
ddc () {
# enable hash check, need much time to read both files
hashcheck=true
# check destination folder existance or assume it's a file name
if [ -d "$2" ]
then
ofpath="$2/`basename \"$1\"`"
else
ofpath="$2"
fi
# check destination file existance
if [ ! -f "$ofpath" ]
then
a="n"
else
ofsize=`stat -c "%s" "$ofpath"`
# calculate hash
if [ $hashcheck ]
then
ifhash=`dd if="$1" iflag=count_bytes count=$ofsize 2>/dev/null | md5sum | awk '{print $1}'`
#ifhash=`head -c $ofsize "$1" | md5sum | awk '{print $1}'`
ofhash=`md5sum "$ofpath" | awk '{print $1}'`
# check hash before cont.
if [ $ifhash == $ofhash ]
then
a="y"
else
echo -e "Files MD5 mismatch do you want to continue:\n(Y) Continue copy, (N) Start over, (Other) Cancel"
read a
fi
else
a="y"
fi
fi
case $a in
[yY])
echo -e "Continue...\ncopy $1 to $ofpath"
dd if="$1" iflag=skip_bytes skip=$ofsize oflag=seek_bytes seek=$ofsize of="$ofpath"
;;
[nN])
echo -e "Start over...\ncopy $1 to $ofpath"
dd if="$1" of="$ofpath"
;;
*)
echo "Cancelled!"
;;
esac
}
Использовать:
ddc <source-file> <destination-file-or-folder>
Пример:
$ ls -l /home/user/u1404_64_d.iso
-rw-rw-r-- 1 user user 241370112 Jan 8 17:09 /home/user/u1404_64_d.iso
$ ddc /boot/grml/u1404_64_d.iso /home/user/u1404_64_d2.iso
Continue...copy /boot/grml/u1404_64_d.iso to /home/user/u1404_64_d.iso
1502846+0 records in
1502846+0 records out
769457152 bytes (769 MB) copied, 13.0472 s, 59.0 MB/s
Еще один способ:
Получить оставшийся размер для копированияecho `stat -c "%s" <source-file>`-`stat -c "%s" <destination-file>` | bc
Перенаправить вывод tail tail -c <remaining-size> <source-file> >> <destination-file>
Пример:
$ echo `stat -c "%s" /boot/grml/u1404_64_d.iso`-`stat -c "%s" /home/user/u1404_64_d.iso` | bc
433049600
$ tail -c 433049600 /boot/grml/u1404_64_d.iso >> /home/user/u1404_64_d.iso
$ md5sum /boot/grml/u1404_64_d.iso /home/user/u1404_64_d.iso
dccff28314d9ae4ed262cfc6f35e5153 /boot/grml/u1404_64_d.iso
dccff28314d9ae4ed262cfc6f35e5153 /home/user/u1404_64_d.iso
Поскольку время кажется для вас проблемой, другой подход состоит в том, чтобы использовать команду split, чтобы разбить большой файл на более мелкие части, например split -b 1024m BIGFILE PIECES, чтобы создать 1 GByte-фрагменты с именем PIECESaa PIECESab ... PIECESzz [ ! d0]
Как только они создаются, вы будете использовать что-то вроде cat PIECES?? >/some/where/else/BIGFILE для восстановления BIGFILE или, опять же, из-за вашего времени:
mkdir done
>/somewhere/else/BIGFILE
for piece in PIECES??
do
cat $piece >>/some/where/else/BIGFILE
status=$?
if [[ $status -eq 0 ]]
then
mv $piece done
fi
done
Если «копия» не удалась, вы можете перемещаться файлы с ./done назад. и повторите попытку, как только проблема времени будет решена. - Смотрите это как альтернативу, когда wget невозможно. Это то, что я использовал в течение многих лет при копировании в удаленное место, и что-то вроде «простой ftp» является единственным возможным транспортом - для кусков.