ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как использовать пробелы в именах файлов в 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