Команды Bash с использованием smb :// -> Нет такого файла или каталога

Похоже, что переименование файла после завершения загрузки является опцией, поскольку переименование является атомарной операцией. Насколько я понимаю, проверка целостности 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'
0
06.11.2021, 16:06
1 ответ

Приложения, использующие фреймворки с графическим интерфейсом, такие как 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/
2
06.11.2021, 19:29

Теги

Похожие вопросы