Похоже, что переименование файла после завершения загрузки является опцией, поскольку переименование является атомарной операцией. Насколько я понимаю, проверка целостности zip не гарантирует, что файл скачан полностью -, существует очень небольшая вероятность того, что часть файла также является правильным zip файлом. Но, в любом случае, мне нравится идея Drawbenn проверить эту целостность для дополнительной безопасности. Итак, благодаря ответам icarus и Drawbenn я пришел к окончательному решению:
gzip -c -9 %p | ssh user@server 'set -e; cat > /var/tmp/file.txt.part; gzip -t /var/tmp/file.txt.part; sync /var/tmp/file.txt.part; mv /var/tmp/file.txt.part /var/tmp/file.txt'
Приложения, использующие фреймворки с графическим интерфейсом, такие как Gnome или KDE, позволяют получать доступ не только к локальным файлам, но и к различным URL-адресам. В командной строке и в приложениях с графическим интерфейсом, которые не поддерживают URL, вы можете получить доступ только к файлам.
Файлы не обязательно должны быть локальными файлами :они могут быть файлами в сетевой папке, но эта общая папка должна быть смонтирована . (Обратите внимание, если вы привыкли к Windows :, в то время как Windows традиционно делает каждый диск и сетевой ресурс доступным под отдельной буквой диска, Unix делает все файлы доступными из одного корня.)
Как правило, если файл доступен через синтаксис URL-адреса в файловом менеджере Gnome, вы можете сделать его доступным для всех приложений, смонтировав ресурс с помощью gvfs . Вы можете сделать это с помощью команды gio
. (Он должен быть доступен в вашем дистрибутиве, но может быть не установлен по умолчанию. В Debian/Ubuntu/Mint… он находится в пакете libglib2.0-bin
, который устанавливается автоматически, если установлен ubuntu-desktop
или gnome
.)
gio mount smb://whitebox.local/
ls -l $XDG_RUNTIME_DIR/gvfs/whitebox.local/photos/