Установка сделает это, если дали исходный файл /dev/null
. -D
аргумент говорит для создания всех родительских каталогов:
anthony@Zia:~$ install -D /dev/null /tmp/a/b/c
anthony@Zia:~$ ls -l /tmp/a/b/c
-rwxr-xr-x 1 anthony anthony 0 Jan 30 10:31 /tmp/a/b/c
Не уверенный, если это - ошибка или не — ее поведение с файлами устройств не упоминается в странице справочника. Вы могли также просто дать ему пустой файл (недавно созданный с mktemp
, например) как источник.
Если Вы использовали find -name project/dir1/dir2
Вы найдете сообщение как это:
найдите: предупреждение: имена файлов Unix обычно не содержат наклонные черты (хотя пути делают). Это означает это
-name 'project/dir1/dir2'
вероятно, оценит ко лжи все время в этой системе. Вы могли бы найти-wholename
более полезный тест, или возможно-samefile
. С другой стороны, при использовании GNU grep Вы могли бы использоватьfind ... -print0 | grep -FzZ
project/dir1/dir2''.
Так, это предлагает определенные альтернативы для такой задачи. Странный это не упоминает -path
управляйте для нахождения:
find -path "*/project/dir1/dir2" -print
Заметьте */
вначале. Они говорят, находят для печати любого пути, который заканчивается /project/dir1/dir2
и название первого каталога должно быть project
иначе это найдет myproject/dir1/dir2
и такой.