Эффективность — понятие относительное, поэтому вам действительно нужно указать, какой фактор вы хотите свести к минимуму; процессор, память, диск, время и т. д. В качестве аргумента я собираюсь предположить, что вы хотели минимизировать использование памяти и готовы потратить больше циклов процессора для достижения этого. Решения, подобные предложенному Stéphane Chazelas, работают хорошо
sort -u --files0-from <(printf '%s\0' *) > ../output
, но они исходят из того, что отдельные текстовые файлы изначально обладают высокой степенью уникальности. Если это не так, то есть если после
sort -u < sample.txt > sample.srt
файл sample.srt более чем на 10% меньше, чем файл sample.txt, вы сэкономите значительную часть памяти, удалив дубликаты в файлах перед слиянием. Вы также сэкономите еще больше памяти, не связывая команды, что означает, что результаты разных процессов не должны находиться в памяти одновременно.
find /somedir -maxdepth 1 type f -exec sort -u -o {} {} \;
sort -u --files0-from <(printf '%s\0' *) > ../output
Объявление 1): Для каждого раздела, который вы хотите смонтировать, у вас должна быть строка в файле / etc / fstab. Пожалуйста, проверьте этот файл ...
Ad 2)
Вы можете восстановить права собственности на файлы в домашнем каталоге с помощью этой команды (вы должны запустить эту команду от имени пользователя root или с помощью sudo
) :
cd /home
chown -R username.username username
Для объяснения:
chown - tool, which can change ownership
username.username - the first username means name of user, the second one means group.
username - the last username is name of home directory.
Вы должны заменить имя пользователя
своим именем пользователя.
Обновление. Я смог решить проблему, как описано здесь:
Я столкнулся с терминалом:
sudo mv /etc/ld.so.conf.d/libc.conf /etc/ld.so.conf.d/xuserlocal.conf
sudo ldconfig
sudo reboot