Определять местоположение база данных обычно настраивается для исключения файлов на съемных дисках, так как они, как может предполагаться, не там позже. Это может быть настроено через файл такой как /etc/updatedb.conf
(местоположение зависит от который из нескольких locate
программы, которые Вы используете и как это настроено Вашим распределением).
Для съемного диска, вероятно, лучше сохранить базу данных в отдельном файле. Выполненный
updatedb --localpaths=/media/my_removable_disk --output=/var/cache/locate/my_removable_disk.locatedb
обновить базу данных. Добавить /var/cache/locate/my_removable_disk.locatedb
к переменной среды LOCATE_PATH
; поскольку довольно последние версии GNU располагаются, пустой компонент контура обозначает путь по умолчанию, таким образом, можно использовать
export LOCATE_PATH=:/var/cache/locate/my_removable_disk.locatedb
Если Вы хотите сохранить определять местоположение базу данных по съемному диску, не добавляйте путь к LOCATE_PATH
, потому что locate
взгляд остановок, если один из файлов базы данных отсутствует. Сценарий обертки был бы лучше:
locates () {
locate "$@"
for d in /media/*; do
locate -d "$d/.locatedb" "$@"
done
}
Необходимо выйти $
в двойных кавычках,
bash -c "netstat -tnlp 2>/dev/null | grep ':10301' | grep LISTEN | awk '{print \$7}' | cut -d'/' -f1 | xargs -i -n1 cat /proc/{}/cmdline"
В Вашем случае, $7
интерпретируется в качестве параметра. Так awk
будет работать {print}
который печатает целую строку вместо намеченного поля.