Это нормально, что мы создаем файлы и каталоги (или можно сказать папки) на наших машинах, чтобы, когда нам нужно, мы могли легко их найти.
Иногда мы сохраняем их с именами, содержащими пробелы, например, мы сохраняем файл с именем “my file”, в этом случае терминал Linux выдаст ошибку.
Можно ли сохранять файлы без пробелов в Linux?
Да!
Можно, но доступ к ним в терминале будет осуществляться по-другому.
Эта статья посвящена тому, с какими ошибками мы сталкиваемся при доступе к файлам и каталогам с пробелами в именах и как избежать этих ошибок.
Как создать файл с пробелами в имени на Linux
Чтобы понять, как ссылаться на имя файла с пробелами в Linux, рассмотрим пример.
Сначала откроем терминал.
Затем создадим файл с именем “my file” с помощью команды touch:
touch my file
Теперь посмотрите, создался файл или нет, используя команду “ls”.
Мы увидим, что вместо одного файла было создано два, один с именем “my”, а второй с именем “file”.
Для использования пробелов в имени мы используем либо кавычки (‘ ‘), либо экранирующую последовательность (\).
🐧 Разница между одинарными и двойными кавычками в оболочке Bash
Теперь мы снова создадим еще один файл, используя (‘ ‘) и еще один, используя (\).
touch 'my file'
touch test\ file
Теперь снова используйте команду “ls” для просмотра файлов.
Файлы были созданы.
Давайте проверим, получим ли мы те же ошибки при создании каталога с использованием пробела или нет.
Создадим каталог с пробелом с помощью команды mkdir.
mkdir new collection
Мы посмотрим, был ли создан каталог или нет, используя команду “ls “.
В результате было создано два каталога вместо одного.
Мы можем исправить это так же, как и в методе создания файла, используя (‘ ‘) или (\).
Снова создайте каталог, используя (‘ ‘) или (\).
mkdir my\ new\ collection
Как ссылаться на имя файла с пробелами на Linux
Итак, мы видим, что каталог был создан в соответствии с нашими требованиями.
Теперь, если мы хотим просмотреть содержимое файла, мы просто используем cat и имя файла с пробелами; это выдаст нам ошибку, что каталог недоступен.
cat test file
Мы должны использовать “\”.
Например, мы хотим просмотреть содержимое тестового файла с помощью команды cat.
cat test\ file
Файл пуст, поэтому система не выводит никаких результатов, но команда выполняется успешно.
Мы также можем открывать файлы, используя апострофы (‘ ‘) или кавычки (” “) как:
cat "test file" \
[ИЛИ]cat 'test file'
Удаление файлов с пробелами в имени на Linux
Аналогично, вы можете удалить файл и каталог с пробелом в имени, используя апострофы ( ‘ ‘ ), кавычки (” “) или последовательность символов ( \ ).
rm -f 'test file'
Аналогичным образом можно удалить каталог с пробелами в имени.
rm -f 'my new collection'
Заключение
Мы создаем файлы и каталоги, не обращая внимания на имена, в которых могут присутствовать пробелы.
Терминал Linux по-разному обрабатывает файлы и папки, в именах которых есть пробелы.
Поэтому в этой статье мы решили эту проблему.
Если мы хотим назвать файл или каталог с пробелами, мы можем сделать это с помощью апострофов ( ‘ ‘ ), кавычек (” “) или экранирующей последовательности ( \ ).
2 комментария
А как найти все файлы содержащие пробел?
В имени?