Получи случайную криптовалюту за регистрацию!

Пробелы в именах файлов Именование файлов и каталогов, по су | Kali Linux

Пробелы в именах файлов

Именование файлов и каталогов, по существу, не регламентируется, за исключением того, что имена ограничены по длине и не должны содержать косой черты или нули. В частности, допускаются пробелы. К сожалению, система UNIX имеет давнюю традицию разделения аргументов командной строки на пробелы, поэтому устаревшее ПО имеет тенденцию давать сбой, когда в именах файлов появляются пробелы.

Пробелы в именах файлов были обнаружены прежде всего в файловых системах, совместно используемых с компьютерами Мас и персональными компьютерами, но теперь они внедрились в культуру UNIX и также встречаются в некоторых стандартных пакетах программного обеспечения. Выхода нет: административные сценарии должны быть готовы обрабатывать пробелы в именах файлов (не говоря уже об апострофах, звездочках и различных других угрожающих пунктуационных метках).

В оболочке и в сценариях можно указывать имена файлов с пробелами, чтобы держать их части вместе. Например, команда
$ less "Му spacey file"
считает файл Му spacey file в качестве единственного аргумента команды less. Также можно избежать отдельных пробелов с помощью обратной косой черты:
$ less Му\ spacey\ file

Функция завершения имени файла большинства оболочек (зачастую привязанная к клавише <Таb>) обычно автоматически добавляет обратную косую черту. Когда вы пишете сценарии, полезным оружием, о котором нужно знать, является опция -print0. В сочетании с параметром xargs -0 она делает комбинацию find /xargs корректной, независимо от пробелов, содержащихся\ в именах файлов. Например, команда
$ find / home-type f -size + 1М -print0 1 xarqs -0 ls -1
выводит на экран длинный список всех файлов в каталоге /home размером более одного мегабайта

@linuxkalii