Для Linux пользовательский терминал является наиболее важной программой для управления почти всем в операционной системе. Но многие люди не предпочитают командную строку, потому что считают, что это очень техническая программа, и для ее использования требуется особый опыт. Хотя знать, что это довольно удобно.
Различные причины удерживают нового пользователя Linux подальше от командной строки, одна из которых обрабатывает файлы в терминале. Файлы и каталоги в Linux могут иметь разные имена, а в некоторых именах могут быть «пробелы». Так в чем же дело? Проблема в том, что терминал по- разному читает «пробел»; например, если ваш каталог имеет имя «new folder», терминал примет два разных каталога, то есть «new» и «folder». Доступ к таким файлам в терминале может стать очень неприятным. К счастью, существуют различные методы работы с файлами/папками, в именах которых есть пробелы.
В этой статье основное внимание уделяется тому, как ссылаться на имя файла с пробелами в Linux с помощью различных подходов. Итак, начнем:
В этом разделе мы сначала создадим файл с пробелом в его имени; Затем мы узнаем, с какими ошибками мы сталкиваемся при обращении к нему, а затем как правильно получить к нему доступ в терминале:
Создать файл в Linux с пробелом в имени очень просто, откройте терминал и выполните команду, указанную ниже:
$touch ‘my file’
или же
$touch my\ file
Файл может быть создан с использованием апострофов или кавычек. Процедура создания каталога очень похожа:
$mkdire ‘my directory’
или же:
$mkdire my\ directory
Вы можете проверить это с помощью команды «ls» в терминале.
Прежде чем мы узнаем, как правильно читать файл с пробелом в имени, давайте определим ошибку, которую он может дать. Поэтому, когда вы попытаетесь прочитать созданный выше файл (my file), вы получите сообщение об ошибке:
$cat my file
Теперь посмотрим, что происходит, когда вы пытаетесь что-то записать в файл:
$echo “This is Linux” >> my file
Как видно, приведенная выше команда вместо записи «my file» создает новый файл с именем «my» и сохраняет в него текст. Итак, как получить доступ к такому файлу? Что ж, есть два подхода:
Итак, прежде всего, давайте вставим текст в созданный выше файл, используя ;“\<space>”:
$echo “This is Linux” >> my\ file
Чтобы прочитать это, используйте:
$cat my\ file
или же:
$echo “This is Linux” >> ‘my file’
Теперь, чтобы прочитать это, используйте:
$cat ‘my file’
При работе в терминале доступ к другому каталогу является одной из распространенных задач. Поэтому, когда вы пытаетесь получить доступ к каталогу с пробелом в его имени, он выдаст ошибку:
$cd my directory
Это становится сложной задачей, особенно при доступе к пути, в имени которого есть папка с пробелом. Итак, самый простой способ – использовать апострофы, кавычки или escape-символ (\).
$cd dir/’my directory’
Вы также можете использовать обратную косую черту «\»:
$cd dir/my\ directory
Чтобы получить доступ к нескольким файлам/каталогам, вы можете использовать апострофы отдельно для каждого имени файла / каталога или применять апострофы ко всему пути. Давайте разберемся с этим на примере:
$sudo cp ‘my dir’/’my file’ files
или же:
$sudo cp ‘my dir/my file’ files
В этой команде, мы копируем файл «my file» из каталога «my dir» в папку «files». В первой команде мы использовали апострофы отдельно, а во второй команде я использовал их для всего пути, оба будут выполнять одну и ту же работу, но последнее было бы намного легче запомнить.
Доступ к файлу/каталогу в терминале с пробелом в его имени звучит как простая работа, пока вы не получите ошибку, особенно при изменении каталога или копировании файлов по пути. Есть два основных способа работы с такими файлами или каталогами; в одном используются escape-символы, т. е. обратная косая черта (\<пробел>) , а во втором – апострофы или кавычки. Использование обратной косой черты может сбивать с толку; проще и лучше использовать кавычки или апострофы. Нажатие «вкладки» – еще один быстрый способ автозаполнения пути во время работы в терминале.