ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Понедельник, 31 марта, 2025
Сегодня у нас 1 праздник:
Международный День Резервного Копирования (World Backup Day). Пользователи сайта социальных новостей reddit предложили сделать дату 31.03 Международным днём резервного копирования, аргументируя это тем, что никогда заранее нельзя узнать, какие сюрпризы преподнесёт 1.04

Как использовать пробелы в именах файлов в Linux

Как использовать пробелы в именах файлов в Linux

Пробелы в именах файлов могут быть непростыми, особенно для новых пользователей Linux. Узнайте, как с ними бороться.

Вы заметите, что файлы в Linux обычно не содержат имен. Ваш учитель или коллега использует подчеркивание вместо пробелов в именах файлов и каталогов.

Дело не в том, что вы не можете использовать пробелы в именах файлов в терминале Linux. Просто это создает дополнительную боль, и поэтому вам следует по возможности избегать ее.

Почему? Позвольте мне показать это на примерах. Вы знаете общий синтаксис команд Linux:

command [options] argument1 argument2

 

Здесь аргументы разделены пробелами. Если вы попытаетесь использовать имена файлов с пробелами напрямую, это будет рассматриваться как отдельные аргументы, а не как один аргумент.

На приведенном выше снимке экрана, когда я пытаюсь использовать cat agatha booksкоманду, она не понимает, что agatha booksэто единственный аргумент. Он рассматривает agathaи booksкак разные имена файлов.

Как же тогда поступать с пробелами в имени файла? Есть два пути:

Заключите все имя файла в кавычки:

"file name withn spaces"

 

Выходите из каждого пробела, используя клавишу обратной косой черты:

file\ name\ with\ spaces

 

Покажу подробно.

Завершение табуляции также часто работает с пробелами. Ваш терминал может отображать имя файла с пробелом, экранированным обратной косой чертой, если вы нажмете клавишу табуляции для имени файла.

 

Прочитать файл с пробелами в имени файла

Чтобы использовать имя файла с пробелами, вы можете заключить его в кавычки, например:

cat "file name with spaces"

 

Вы также можете избежать каждого пробела с помощью обратной косой черты, но это больше работы и больше запутывает, чем предыдущий метод:

cat file\ name\ with\ spaces

 

Обычно вы ставите \перед каждым пробелом в имени файла.

Вы также можете использовать одинарные кавычки вместо двойных кавычек.

cat 'file name with spaces'
Одиночные кавычки игнорируют любые специальные символы. Двойные кавычки игнорируют все, кроме $, обратных кавычек и обратных косых черт./

Создайте файл с пробелом в имени файла

Теперь вам нужно ввести пробел в терминале, чтобы создать здесь имя файла. Снова используйте обратную косую черту или кавычки.

Как и в предыдущем разделе, вы можете создавать новые файлы с пробелами в имени файла, используя кавычки:

touch "file name with spaces"

 

Или обратная косая черта:

touch file\ name\ with\ spaces

 

Работа с пространством в имени папки

Вы можете создать каталог с пробелом в его имени так же, как создаете файл.

mkdir "new dir"

 

Теперь, если вы хотите переключиться в этот каталог, у вас будет путь с пробелами.

Но для вас это больше не должно быть проблемой. Чтобы перейти в каталог с пробелом, снова используйте кавычки или обратную косую черту.

cd "new dir"
cd new\ dir

 

Обычно, когда вам приходится иметь дело с пробелами в именах, вы используете кавычки или обратную косую черту.

Предположим, вам нужно скопировать файл my fileиз этого new dir. Вот что вы можете сделать:

cp new\ dir/my\ file

 

Теперь это начинает немного сбивать с толку, правда? Есть обратная и прямая косая черта. Это может напугать нового пользователя или даже опытного, если таких косых черт будет слишком много.

Это становится еще более беспорядочным, когда в имени файла есть обратная косая черта. Тогда вы увидите двойные фартуки.

Это причина, по которой вам следует избегать использования пробелов или других специальных символов в именах файлов. Чтобы разделить слова в имени файла, используйте подчеркивание.

touch a_very_long_file_name_with_too_many_words

 

Это упрощает чтение имен файлов, и вам не придется прилагать дополнительных усилий для устранения этих пробелов в именах файлов.

Exit mobile version