Почему нельзя создать файл в файле

Обновлено: 21.11.2024

Настраивать папки — это круто, но папка без содержимого так же полезна, как коробка, в которой ничего нет!

Теперь, когда вы знакомы с созданием папок с помощью командной строки, пришло время заполнить эти папки файлами.

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

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

Создание файлов

Пример без кода

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

Как вы понимаете, для разных курсов потребуются разные типы файлов. Например, такой гуманитарный предмет, как история искусств, может потребовать завершения курсовой работы. Этот файл, скорее всего, будет текстовым файлом. 🎨 Может быть, на уроке биологии в этом семестре потребуются исследования и выводы! Этот файл, скорее всего, представляет собой электронную таблицу. 🐢

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

Это гораздо быстрее, чем создавать файл по отдельности с помощью различных приложений, таких как Microsoft Excel или текстовый процессор, и запускать функцию "Сохранить как".

Давайте сначала поработаем с примером из истории искусств. Если вы используете команду cd для перехода в каталог «История искусства», вы можете использовать команду touch для создания файла для нашей курсовой работы.

Touch — довольно жуткая команда, но вот что она делает:

указывает вашей системе искать определенный файл

Если файл еще не существует, ваша система создаст его для вас.

В этом случае давайте создадим файл с именем term-paper.txt .

Обязательно убедитесь, что вы создаете файл в каталоге «История искусства». Если вы когда-либо не знали, где именно находитесь, помните, что вы можете в любой момент запустить команду pwd, чтобы показать папку, в которой вы сейчас находитесь.

Команда будет выглядеть следующим образом:

Это так просто! Теперь, если вы оглянетесь назад в Finder, вы сможете увидеть, что этот файл был создан в вашей папке «История искусства». В настоящее время он пуст, но вы можете открыть его в любое время из Терминала, чтобы отредактировать содержимое, как обычно:

Пришло время создать второй файл. Этот второй файл будет в папке Biology. Это означает, что мы должны перейти в папку Biology!

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

Две точки (..) всегда обозначают родительский каталог! Это означает, что если я нахожусь в папке, но хочу перейти к папке, содержащей мою текущую папку, я запускаю cd .. независимо от имени этой папки.

В этот момент вы вернетесь в каталог «Второй семестр».

Теперь вы можете ввести cd Biology, чтобы перейти в каталог Biology. Отсюда вы можете написать ту же команду touch с именем файла, который вы хотите создать, и расширением файла.

CSV — это просто расширение файла для структурированных наборов данных. Не волнуйтесь, если вы еще не знакомы с ним.

Вот как выглядит вся серия команд:

Запустите команду open, чтобы открыть файл

Обратите внимание, что при запуске open research-findings.csv файл автоматически открывается в Microsoft Excel. Терминал достаточно умен, чтобы знать, какое приложение должно открывать какой тип файла. 👍

Файл открывается в правильном приложении автоматически!

Вы даже можете просмотреть содержимое файла из командной строки, используя команду cat плюс имя файла. Например, в файле cat ~/Documents/Art\ history/term-paper.txt отображается текст моей курсовой работы по истории искусств.

Пример кода

В предыдущей главе вы узнали, как создать базовую структуру папок для статического веб-сайта. Там была папка CSS и папка для изображений.

Однако оба пусты. Давайте добавим файл!

Оказавшись в каталоге проекта, вы создадите пустой HTML-файл. Этот файл обычно является самой основной страницей любого базового проекта кода.HTML-файлы — это место, где будет жить структура веб-страницы и где вы определяете абзацы или заголовки, где вам нужны такие элементы, как панели навигации, или как должен быть отформатирован текст.

Не беспокойтесь, если вы еще не знаете HTML! Это всего лишь демонстрация, чтобы дать вам представление о рабочем процессе программиста. 😅

Запустите touch плюс имя файла -- index.html -- чтобы создать его:

Теперь, набрав ls , вы увидите, что проект содержит папку CSS, папку для изображений и файл с именем index.html . Мы вернемся к этому файлу через секунду.

Создание файла index.html

Давайте перейдем в каталог css и создадим здесь еще один файл. Этот новый файл будет иметь другое расширение, чем другие, которые мы создали до сих пор: это не будет ни .txt, ни .csv. ни .html. Это будет .css, потому что он будет содержать код CSS!

Я называю эти файлы в соответствии со стандартными традициями HTML и CSS. Подробнее о шаблоне HTML5 можно прочитать здесь.

Я даже могу открыть HTML-файл в браузере, чтобы предварительно просмотреть его содержимое:

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

Вам просто нужно знать имя файла и желаемое расширение, и вы сэкономите много времени и полностью избежите процесса "Сохранить как" в разных приложениях.

В следующей главе вы узнаете, как перемещаться и копировать созданный вами контент.

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

Вот дополнительная информация, которую я могу предоставить:

  • Создание нового файла (например, текстового файла) или каталога из меню правой кнопки мыши в MS File Explorer работает нормально. Это происходит только для некоторых приложений. Например. Использование Python, Vim и т. д.
  • Это происходит только для некоторых конкретных каталогов и более глубоких подкаталогов. В моем случае это относится к каталогу документов и его потомкам. Как только я перемещаю подкаталог в другое место, например, C:\projects, я могу правильно создавать файлы в новом месте.
  • Для существующего файла у меня есть доступ к нему, и я могу открыть его для чтения или записи. Единственная проблема — «создать» новый файл.
  • Запуск от имени администратора не помогает. Проблема все еще существует.
  • Запуск в WSL не помогает. Проблема все еще существует.
  • Эта проблема внезапно возникла у меня однажды при использовании Windows 10 1809. Я обновил ее до 1903 сегодня, и она до сих пор остается нерешенной, поэтому я пришел сюда, чтобы спросить.

Кто-нибудь знает, как это решить? Большое спасибо.

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

Сообщить о нарушении

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

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

Начало работы

Если вы еще не работаете в своем любимом терминальном приложении, я бы посоветовал запустить его и продолжить.

Скорее всего, вы находитесь в своем домашнем каталоге. Это нормально, но если вы хотите избавить себя от очистки файлов и каталогов позже, вы можете использовать cd /tmp .

Все файлы, которые вы создаете в /tmp, будут удалены при следующей перезагрузке, что избавит вас от проблем.

Создание каталога

Давайте начнем с создания каталога рептилий, который мы будем использовать в следующих примерах. Чтобы создать каталог, вы будете использовать команду mkdir, за которой следует имя каталога, который вы хотите создать:

Создание нескольких каталогов

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

Для этого мы можем указать несколько каталогов, которые мы хотели бы создать, в качестве аргументов команды mkdir:

Быстрый ls показывает, что теперь у нас есть три каталога внутри нашего каталога рептилий.

Создание вложенных каталогов

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

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

Если бы мы попробовали mkdir змея/изображения, все было бы в порядке, потому что каталог змеи уже существует.

Чтобы сообщить mkdir, что мы хотели бы попытаться создать каждый каталог в пути, мы используем аргумент -p или --parents:

Аргумент --parents создает каждый каталог по пути и может использоваться для создания столько каталогов, сколько вам нужно и/или поддерживает операционная система:

Запуск древовидной ящерицы покажет ряд только что созданных вложенных каталогов.

Создание каталогов в нескольких каталогах

Чтобы создать каталог с именем video внутри каталогов alligator и crocodile, мы могли бы указать пути к обоим каталогам:

Обмен именами файлов позволяет нам добиться этого с помощью более простого синтаксиса:

Создание пустого файла

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

Самый простой способ создать файл, особенно пустой, — использовать команду touch:

Если файл уже существует, сенсор не будет жаловаться. Что он будет делать, так это устанавливать время изменения файла на текущее время, эффективно касаясь файла!

Создание пустых файлов

Подобно тому, как mkdir может принимать несколько путей, touch может делать то же самое:

Или использование blobbing имен файлов:

Создание пустых файлов в нескольких каталогах

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

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

Еще одним шагом будет создание нескольких файлов в нескольких каталогах с дополнительными BLOB-объектами:

Создание файла с текстом

Пустые файлы — это хорошо, но они не помогут вам. Используя команду echo и оператор >, мы можем создать совершенно новый файл и заполнить его текстом, даже не открывая текстовый редактор:

Однако будьте осторожны, > означает создание или перезапись файла. Если файл уже существует, его содержимое будет полностью перезаписано!

Более безопасный подход — использовать >> в сценариях, где файл может существовать. Это создаст файл и добавит к нему текст. Если файл существует, текст будет добавлен в его конец:

Создание файла с выходным файлом

Использование > и >> с эхом просто берет вывод из эха и записывает его в файл. Как оказалось, вы можете заменить эхо на любую команду, которая записывает в стандартный вывод.

Например, если вы хотите создать файл, содержащий список всех файлов *.txt в каталоге, вы можете:

Запуск cat directory.txt показывает выходные данные команды ls, которые теперь хранятся в directory.txt .

Заключение

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

Самое важное преимущество командной строки над приложением с графическим интерфейсом – это быстрота и простота создания нескольких файлов и каталогов.

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

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

Создание папки

На Mac нажмите значок Finder в Dock, чтобы открыть окно Finder, затем быстро в место, в которое требуется создать папку.

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

Введите имя папки, чтобы обнаружить Return.

Перемещение файлов по папкам

На Mac нажмите значок Finder в Dock, чтобы открыть окно Finder.

Выполните одно из следующих действий.

Поместите объект в папку: перетяните его в папку.

Поместите несколько объектов в папку: выберите объекты, затем перетащите один из объектов в папку.

Все выбранные объекты перемещаются в папку.

Поместите содержимое в папку. Поместите указатель слева от заголовка окна до открытия значка, затем переместите его в папку.

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

Сохраните исходный объект в местоположении и поместите его в папку: Выберите объект, выберите вариант и, по размеру ее, перетяните объект в папку.

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

Скопируйте файлы на другой диск: Перетяните файлы на диск.

Переместите файлы на другой диск: Удерживающая команда извлечения, перетяните файлы на диск.

Быстрая группировка нескольких объектов в новую папку

Вы можете быстро создать папку, объединенную в отдельные объекты на рабочем столе или в окне Finder.

На Mac выберите все объекты, которые хотите сгруппировать.

Введите имя папки, чтобы обнаружить Return.

Объединение двух папок с титулами

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

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

Читайте также: