diff -qr {DIR1} {DIR2} выполняет все файлы в обоих каталогах.
q показывает только отличия r делает рекурсивным. Оставьте это, если вам это не нужноВы не можете напрямую указать diff использовать подстановочные знаки, но вы можете добавить:
-x PAT --exclude=PAT
Exclude files that match PAT.
-X FILE --exclude-from=FILE
Exclude files that match any pattern in FILE.
, чтобы исключить файлы. Поэтому, если вы хотите только *.cpp, самым простым способом является создание текстового файла, который содержит все файлы, которые не являются *.cpp.
Это возможно, но бессмысленно. Ядро хранит кэш данных с диска в ОЗУ. Данные, которые вы использовали совсем недавно, хранятся в ОЗУ. Естественно, вы получите части /usr, которые вы часто используете в ОЗУ, а части, которые вы не используете, не будут занимать какую-либо ОЗУ.
Если вам нужно лучшее время реакции, когда вы запускаете приложение, вы можете засеять кеш. Файл загружается в память при первом использовании, и остается там до тех пор, пока память не будет повторно использована для чего-то другого. Вы можете заставить файл загружаться:
cat /path/to/file >/dev/null
Например, чтобы предварительно загрузить все исполняемые файлы и библиотеки в ОЗУ:
cat /bin/* /lib/* /usr/bin/* /usr/lib/* >/dev/null
Это может занять некоторое время, поэтому вы должны сделать это в фоновом режиме. Вы можете поместить в /etc/rc.local следующую команду:
ionice -c 3 cat /bin/* /lib/* /usr/bin/* /usr/lib/* >/dev/null &
Чтобы также загружать все библиотеки в подкаталоги /usr/lib*, было бы полезно запустить find:
ionice -c 3 find /bin /usr/bin /usr/lib* -type f -exec ionice -c 3 cat '{}' ';' > /dev/null &
ionice -c 3 cat /bin/* /lib/* /usr/bin/* /usr/lib/* >/dev/null &
Не запускается, потому что в библиотеках много каталогов. попробуйте найти:
ionice -c 3 find /bin /usr/bin /usr/lib* -type f -exec cat '{}' ';' > /dev/null &
Все, что он производит, идет в / dev / null, так что ничто вас не раздражает.
Я думаю, что оба ионика необходимы, потому что find выполняет команды в собственном процессе , Пожалуйста, поправьте меня, если я ошибаюсь. (Похоже, я был неправ.)
Эта строка в rc.local должна выполнить трюк с уже выбранным ответом.
[edit] удалил вторую «иониту», как это предложено в комментарий.