В качестве альтернативы изменению размера вы можете переместить свой / домашний каталог в другой раздел. Программы все равно будут использовать ограниченное пространство в /, но ваши личные файлы и мультимедиа и т. Д. Могут находиться на другом разделе, что должно освободить еще пространство для /.
См. Https: // справку. ubuntu.com/community/Partitioning/Home/Moving
Предупреждение: это для двунаправленной синхронизации, но учитывая, что вы в порядке делаете это вручную ... Я не знаю, есть ли возможность для однонаправленного поведения в unison --- если кто-то знает, пожалуйста, не стесняйтесь отредактируйте этот ответ.
Установите unison:
sudo apt-get install unison unison-gtk
Создайте этот файл в каталоге $HOME/.unison, назовите его test.prf (или что-то еще)
label = sync folders A and B
root = /home/romano/tmp/folderA
root = /home/romano/tmp/folderB
Запустите unison из тире, выберите свой профиль выше и выполните первую синхронизацию. У вас будет графический интерфейс, чтобы выбрать, что копировать и где.
После этого сделайте изменения и, если хотите синхронизировать, снова используйте унисон. Это позволит вам решить, что делать:
Это должно заставить вас идти. zenity имеет гораздо больше приложений, выходящих за рамки вашего вопроса; настройте это как хотите.
#!/bin/bash
ls -1 ./FolderA | sort > FolderA.txt
ls -1 ./FolderB | sort > FolderB.txt
FILESTOCOPY=$(diff FolderA.txt FolderB.txt | grep \< | awk '{print $2;}' | zenity --list --title="Select files to be copied" --co$
echo $FILESTOCOPY
NEWFILES=$(diff FolderA.txt FolderB.txt | grep \> | awk '{print $2;}' | zenity --list --title="New files in Folder B" --column="f$
echo $NEWFILES
Некоторые объяснения:
Команды ls -1 перечисляют имена файлов по одной строке за раз, но только имена, никакой другой информации. Поэтому этот скрипт не заметит, когда файл в одной папке более новый, чем один в другой папке с тем же именем.
Grepping для "& lt;" предоставит нам файлы в папке A, но не в папке B, и наоборот для «>». Вы можете использовать переменные, созданные zenity, для создания команды копирования или что-то еще.