Аналогично сенсорному экрану в Windows
Обновлено: 21.11.2024
В этом руководстве рассматриваются некоторые распространенные ошибки и препятствия, с которыми вы можете столкнуться при использовании Windows Terminal.
Открытие настроек ничего не дает (или открывает неожиданное приложение)
Если вы нажмете кнопку «Настройки» в раскрывающемся списке, Терминал попытается открыть файл настроек settings.json . Это заставит ОС попытаться запустить настроенный редактор файлов .json. Это может быть Visual Studio, Блокнот или какое-то другое совершенно неожиданное приложение. Если на вашем компьютере нет настроенного редактора .json, ОС в конечном итоге покажет вам диалоговое окно «Как вы хотите открыть этот файл».
Вы также можете использовать интерфейс настроек для настройки параметров, если вы используете Windows Terminal Preview. Вы можете узнать, как открыть пользовательский интерфейс настроек, на странице "Действия".
Настройте дистрибутив WSL так, чтобы он запускался в домашнем каталоге ~ при запуске
По умолчанию начальным каталогом профиля является %USERPROFILE% ( C:\Users\ ). Это путь Windows. Для дистрибутивов WSL теперь используются прямые ссылки на файловые системы, начиная с версии Windows Terminal 1.12.3472.0. Вы можете использовать /home/ для прямой ссылки на вашу домашнюю папку. Например, следующий параметр запустит дистрибутив «Ubuntu-20.04» по пути к его домашнему файлу:
Если вы используете более раннюю версию Windows Terminal, WSL может потребовать использования префикса \\wsl$\ при обращении к домашнему пути дистрибутива для параметра startDirectory. Например, в более ранних версиях Windows Terminal следующий параметр запустит дистрибутив Ubuntu-18.04 по пути к его домашнему файлу:
В более новых версиях Windows начальный каталог может принимать пути в стиле Linux.
Настройка заголовка вкладки
Чтобы оболочка автоматически устанавливала заголовок вкладки, см. руководство по установке заголовка вкладки. Если вы хотите установить собственный заголовок вкладки, откройте файл settings.json и выполните следующие действия:
В профиле для выбранной вами командной строки добавьте «suppressApplicationTitle»: true, чтобы подавить любые события изменения заголовка, которые отправляются из оболочки. Если добавить только этот параметр в свой профиль, в заголовке вкладки будет указано имя вашего профиля.
Если вам нужен собственный заголовок вкладки, который не является названием вашего профиля, добавьте "tabTitle": "TITLE" . Замените "TITLE" на название вкладки, которое вы предпочитаете.
Аргументы командной строки в PowerShell
Посетите страницу аргументов командной строки, чтобы узнать, как аргументы командной строки работают в PowerShell.
Аргументы командной строки в WSL
Посетите страницу аргументов командной строки, чтобы узнать, как аргументы командной строки работают в WSL.
Проблема с настройкой начального каталога
Если начальный каталог игнорируется в вашем профиле, сначала проверьте правильность синтаксиса в файле settings.json. Чтобы помочь вам проверить этот синтаксис, автоматически внедряется "$schema": "https://aka.ms/terminal-profiles-schema". Некоторые приложения, такие как Visual Studio Code, могут использовать внедренную схему для проверки файла JSON при внесении изменений.
Если ваши настройки верны, возможно, вы используете сценарий запуска, который отдельно задает начальный каталог вашего терминала. Например, в PowerShell есть своя отдельная концепция профилей. Если вы измените свой начальный каталог там, он будет иметь приоритет над параметром, заданным в Терминале Windows.
В качестве альтернативы, если вы запускаете сценарий с использованием параметра профиля командной строки, возможно, вы устанавливаете местоположение там. Как и в профилях PowerShell, ваши команды имеют приоритет над настройками профиля startupDirectory.
Цель startDirectory — запустить новый экземпляр Windows Terminal в заданном каталоге. Если терминал запускает какой-либо код, который изменяет свой каталог, это может быть хорошим местом для просмотра.
Ctrl+= не увеличивает размер шрифта
Если вы используете немецкую раскладку клавиатуры, вы можете столкнуться с этой проблемой. ctrl+= десериализуется как ctrl+shift+0, если ваша основная раскладка клавиатуры установлена на немецком языке. Это правильное сопоставление для немецкой клавиатуры.
Что еще более важно, приложение никогда не получает нажатие клавиш Ctrl+Shift+0. Это связано с тем, что Ctrl+Shift+0 зарезервировано Windows, если у вас активны несколько раскладок клавиатуры.
Если вы хотите отключить эту функцию, чтобы сочетание клавиш Ctrl+= работало правильно, следуйте инструкциям в разделе "Изменение горячих клавиш для переключения раскладки клавиатуры в Windows 10" в этом сообщении блога.
Измените параметр «Переключить раскладку клавиатуры» на «Не назначено» (или отключите Ctrl+Shift ), затем выберите «ОК», а затем «Применить». ctrl+shift+0 теперь должно работать как привязка клавиш и передается в терминал.
С другой стороны, если вы используете эту функцию горячих клавиш для нескольких языков ввода, вы можете настроить собственную привязку клавиш в файле settings.json.
Текст размыт
Некоторые комбинации драйверов дисплея и оборудования не обрабатывают прокрутку и/или грязные области без размытия данных из предыдущего кадра. Чтобы смягчить эту проблему, вы можете добавить комбинацию этих глобальных параметров рендеринга, чтобы уменьшить нагрузку на ваше оборудование, вызванную модулем рендеринга текста терминала.
Мои цвета выглядят странно! На моем экране черные полосы!
Это относится только к версии 1.2+ Windows Terminal. Если вы видите проблемы с цветом в Windows Terminal 1.0 или 1.1 или проблемы, которые здесь не отражены, сообщите об ошибке.
В Windows Terminal 1.2 и более поздних версиях улучшено понимание некоторых настроек цвета приложений. Благодаря этому лучшему пониманию мы смогли удалить ряд блоков совместимости, которые приводили к ухудшению взаимодействия с пользователем. К сожалению, существует небольшое количество приложений, в которых могут возникнуть проблемы.
Мы будем постоянно обновлять этот элемент устранения неполадок со списком известных проблем и их обходными путями.
Черные линии в PowerShell (5.1, 6.x, 7.0)
Терминал в сочетании с библиотекой редактирования строк PowerShell PSReadline может рисовать черные линии на экране. Эти области с неправильным цветом будут распространяться по экрану за пределы вашего приглашения, где есть параметры команды, строки или операторы.
Выпущена версия 2.0.3 PSReadline, которая содержит исправление этой проблемы. Если вы используете предварительную версию PSReadline, исправление пока недоступно.
Чтобы обновить PSReadline до последней версии, выполните следующую команду:
Почему мои смайлики не отображаются в виде значков в списке переходов?
Только изображения, связанные из местоположения файла, могут отображаться как значки профиля в списке переходов. Смайлики не поддерживаются для значков списка переходов.
Технические примечания
Приложения, использующие семейство API GetConsoleScreenBufferInfo для извлечения активных цветов консоли в формате Win32, а затем пытающиеся преобразовать их в кроссплатформенные последовательности VT (например, путем преобразования BACKGROUND_RED в \x1b[41m ), могут мешать работе Терминала. чтобы определить, какой цвет фона пытается использовать приложение.
Разработчикам приложений рекомендуется выбирать функции Windows API или последовательности VT для настройки цветов и не пытаться их смешивать.
Предупреждение об обслуживании клавиатуры
Начиная с Windows Terminal 1.5, Терминал будет отображать предупреждение, если «Служба сенсорной клавиатуры и панели рукописного ввода» отключена. Эта служба необходима операционной системе для правильной маршрутизации событий ввода в приложение «Терминал» (а также во многие другие приложения в Windows). Если вы видите это предупреждение, вы можете выполнить следующие действия, чтобы повторно включить службу:
- Найдите «Службу сенсорной клавиатуры и панели рукописного ввода».
После перезагрузки компьютера служба должна запуститься автоматически, и диалоговое окно больше не должно появляться.
Почему я вижу мерцание или мерцание при использовании командной строки git bash?
Вы можете заметить мерцание или мерцание при использовании командной строки git bash в терминале Windows. Это поведение на самом деле по дизайну. Терминал подчиняется тому, что говорит ему git bash (установка стиля звонка на видимый, заставляя вспышку ассоциироваться с ответом звонка), НО мы понимаем, что это может отвлекать. Чтобы исправить это, откройте файл .inputrc для вашего Git bash с помощью текстового редактора. Этот файл, скорее всего, будет находиться по пути C:\Program Files\Git\etc. Чтобы открыть с помощью текстового редактора Nano: nano ~/.inputrc
Изменить значение по умолчанию:
Установите для стиля звонка значение "Нет" или "Слышимый", чтобы убрать видимую вспышку:
Что вы используете, когда хотите обновить поле даты изменения файла в Windows?
Редактировать: здесь уже есть страница для приложений, как указано здесь CheapScotsman.
Четыре альтернативы, упомянутые выше, плюс еще четыре, не упомянутые здесь, можно найти в ответе на аналогичный вопрос: "Рекурсивная сенсорная команда Windows"
32 Ответа 32
Если вы хотите изменить отметку даты файла с помощью Windows, используйте следующую команду в командной строке:
(где filename.ext — это имя вашего файла). +,, это специальный флаг для копирования, говорящий просто обновить дату/время в файле:
* Изменение времени и даты файла
Если вы хотите назначить текущую дату и время файлу без его изменения, используйте следующий синтаксис:
< p>copy /b Source+,Запятые указывают на отсутствие параметра Destination.
Редактировать на основе комментариев Люми и Джастина: поместить это в пакетный файл, например. touch.cmd
Это работает, даже если файл находится не в текущем каталоге (проверено в Windows 7).
наберите touch.bat @echo off и следующую строку скопируйте /b %1 +,, - поместите его в C:\bin или что у вас есть для ваших собственных скриптов, а затем вы можете использовать его как touch myfile.txt .
В Win7 это не будет работать, если вы не находитесь в папке, содержащей файл. Будет создана копия в текущем рабочем каталоге.
@mob Обратите внимание, что это не замедлило работу с большим файлом. Я использовал его для файла размером более 1 ГБ на сетевом диске, и он сразу вернулся (и сработал).
Если вам нужно сделать это в удаленной папке (путь UNC) - вы также должны указать место назначения для команды копирования - copy /b Source+,, Source - где Source включает полный путь к файлу
Я использовал и рекомендую unxutils, которые являются собственными портами Win32 для многих распространенных утилит Unix. Там есть сенсорная команда.
Как и почти каждый перенос unix-to-windows, он не работает с символами юникода в именах файлов за пределами кодировки, установленной по умолчанию для программ, не поддерживающих юникод. Имя тестового файла, при котором будет срабатывать каждый такой инструмент: "test test τεστ.txt"
@Davos, вы пробовали это в любом файле, отличном от вашего (обычно непривилегированного) пользовательского контекста? Потому что технически пользовательская сторона LXSS работает как непривилегированный пользователь.
В наши дни буквально проще установить подписанный кодом пакет Git для Windows и использовать сенсорное управление оттуда, так как в любом случае вы можете использовать его в любом (NT) пользовательском контексте, тогда как ваше предложение полностью ограничивает вас файлами и папки, принадлежащие пользователю, запускающему приложение WSP (или, по крайней мере, те, которые доступны только с соответствующими ACE, установленными для изменения временных меток). Указанный выше порт также должен работать по той же причине. Ваш метод с WSL будет работать только в рамках ограничений песочницы WSL .
Если все, что вам нужно, это изменить дату последнего изменения файла (что было в моем случае):
- Создает файл, если он не существует.
- Оставляет содержимое файла в покое.
- Просто используются встроенные команды cmd.
- Обновлено время последнего доступа и создания.
ОБНОВЛЕНИЕ
Гах! Это не работает с файлами только для чтения, в отличие от touch. Я предлагаю:
Жаль, что copy не может игнорировать атрибут +r, как это делает xcopy. Или жаль, что xcopy не поддерживает странный синтаксис имени файла +,,.
К сожалению, это не работает (по крайней мере, не в Windows 7). Похоже, что интерпретатор команд не обновляет временную метку места назначения перенаправления, если файл на самом деле не изменен (т. е. нет данных для перенаправления).
Вот объяснение таинственного "+" и запятых от Technet:
copy /b Source+,
Запятые указывают на отсутствие параметра Destination.
Команда копирования поддерживает объединение нескольких файлов в один целевой файл. Поскольку пустое место назначения нельзя указать с помощью пробела в командной строке, для его обозначения можно использовать две запятые.
Теперь это просто испорченный синтаксис. Серьезно, о чем они думали? Обратите также внимание на то, что в той же документации указано «Назначение: требуется». Я поражен.
У меня это сработало даже без запятых: скопировать файл.ext+ Таким образом, документация так же далека от фактического поведения, как и поведение от любых разумных ожиданий.
вот рекурсивная версия с использованием powershell. это изменит время последнего изменения для всех файлов и подкаталогов, а также файлов в подкаталогах этого каталога
Я попытался создать пустой файл в пакетном сценарии. Вы можете использовать это:
Это БОЛЬШЕ лучший быстрый метод. Мне просто нужно было создать файл .gitignore, а Windows 7 продолжает жаловаться «необходимо ввести имя файла» и т. д. и т. д. echo pie>.gitignore сработал, спасибо! р>
@Alex Это не связано, но эта ошибка Windows связана с тем, что файл начинается с точки. Есть странный способ обойти это в проводнике Windows: сделать так, чтобы файл заканчивался точкой. Итак, введите .gitignore. и когда вы нажимаете ввод, Windows удаляет завершающую точку. Сумасшествие, но это работает.
touch используется не только для создания пустых файлов, а создание пустых файлов — это не то использование, о котором спрашивает ОП. Вопрос гласит: «Что вы используете, когда хотите обновить поле файла с датой изменения?» Этот ответ не отвечает на этот вопрос. Вместо этого ответ на этот вопрос звучит так: «Как создать файл, содержащий произвольный текст, удалив существующий контент, если файл с таким же именем уже существует?» Это вводящий в заблуждение и, возможно, опасный ответ на исходный вопрос.
В проекте GnuWin32 есть переносы Windows версий Gnu утилит командной строки Unix.
Он поставляется в виде нескольких отдельных пакетов, и вы можете установить только те команды, которые вам нужны, без каких-либо других зависимостей. Для сенсорного управления вам понадобится пакет CoreUtils.
Cygwin поставляется с сенсорным экраном. Я знаю, вы упомянули, что не хотите устанавливать всю структуру, но cygwin довольно легкий, и его можно вызывать из командного окна dos без включения всей командной строки, подобной unix.
Вы также можете контролировать, какие инструменты устанавливать, поэтому вы можете просто установить файл touch.exe и оставить остальную часть платформы.
К вашему сведению, все, что вам нужно установить, это файлы touch.exe и cygwin.dll в каталоге, чтобы использовать инструмент. Других зависимостей относительно использования инструментов на основе cygwin нет.
когда я пробую это (win7x64), мне нужны 4 cygwin dll в дополнение к touch.exe: cygiconv-2.dll cygintl-8.dll cygwin1.dll cyggcc_s-1.dll
Вот простой рег-файл, который я написал, чтобы добавить правой кнопкой мыши "касание" в проводнике Windows. Его также было бы легко написать в сценарии, поскольку он просто вызывает:
И не забудьте скопировать nul some_file, чтобы создать пустой файл (именно для этого чаще всего используется touch).
Я использовал его раньше, и он работает хорошо — без установки, без библиотек DLL и т. д.
Попробуйте это от CodeProject.
- Нет необходимости в установке.
- При желании вы даже можете изменить исходный код.
Хотя эта ссылка может дать ответ на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылку, могут стать недействительными, если связанная страница изменится.
Вы также можете установить Cygwin, который дает вам Touch, а также множество других команд *NIX.
Этот контент можно сохранить в reg-файл. Это добавит контекстное меню правой кнопки мыши для всех файлов с возможностью «Touch File» (проверено в Windows 7). Скопируйте все следующие строки в reg-файл. Запустите файл и подтвердите вопрос. Щелкните правой кнопкой мыши любой файл (или несколько файлов) — теперь доступна опция «Прикоснуться к файлу».
Существуют порты многих утилит Unix для Windows. Взгляните на проекты unxutils или GnuWin32.
Из аналогичного вопроса о переполнении стека.
Для обновления временных меток (игнорируя другие функции touch ) я бы использовал:
Спасибо. Я пропустил это в своем поиске, который привел к множеству вещей, связанных с телефоном с сенсорным экраном. Наверное, нужна лучшая метка тега, я думаю.
с веб-сайта:
Funduc Software Touch – это бесплатная сенсорная утилита, позволяющая изменять отметки времени/даты и/или атрибутов в одном или нескольких файлах. Кроме того, FS Touch может добавлять/вычитать определенное количество секунд из существующего времени файла. Вы можете указать, какие файлы и/или подкаталоги следует изменить с помощью «сложных масок файлов». Программа может быть запущена в интерактивном режиме или из командной строки. Новым в версии 7.2 является переключатель командной строки для изменения отметки времени изменения файла +/- указанное количество секунд.
FS Touch работает в Windows XP, Vista, Windows 7 и Windows 8.
Если вы используете git для одного или нескольких проектов, git-bash для Windows на базе mingw имеет команду touch. Я хочу поблагодарить @greg-hewgill за то, что он указал мне на то, что утилиты nix существуют для Windows, потому что именно это натолкнуло меня на идею попробовать touch в git-bash.
в PowerShell попробуйте:
NI — это псевдоним командлета New-Item.
Добро пожаловать в SuperUser. Спасибо за публикацию! Можете ли вы добавить ссылку на веб-сайт, на котором представлена дополнительная информация о команде ni и, возможно, более подробно описано, что эта команда делает?
Обычно я использую сенсорное управление для создания файлов, но иногда и для обновления временных меток (например, для принудительного ремейка)
Сохраните следующий файл как touch.bat в папке %windir%\system32 или добавьте папку, в которой он сохранен, в переменную среды PATH:
Я нашел быстрый способ сделать это, если у вас установлен vim (не подходит для больших файлов, будет открывать весь файл, а затем закрывать его.)
Значок "+" задает аргумент для запуска следующих команд. "ВК!" это "написать, выйти, заставить". Это откроет файл, сделает сохранение, а затем сразу же закроет его.
Я хотел, чтобы функция "касания" для клонирования/дублирования дат файла из другого файла изначально использовалась из пакетного файла.
Итак, «перетащите» видеофайл в пакетный файл, запустится FFMPEG, затем «Дата создания» и «Дата изменения» из входного файла будут скопированы в выходной файл.
Сначала это казалось простым, пока вы не обнаружите, что пакетные файлы ужасно обрабатывают имена файлов в формате Unicode, встроенная оболочка PowerShell путается с символами имен файлов, а двойное экранирование — это кошмар.
Мое решение состояло в том, чтобы сделать часть "сенсорный" отдельным скриптом PowerShell, который я назвал "CLONE-FILE-DATE.ps1", и он содержит:
Тогда вот пример использования в моем пакетном файле CONVERT.BAT:
Я думаю, что PowerShell удобочитаем, поэтому просто объясню пакетный язык:
%~dp0 — это текущий каталог пакетного файла.
%~1 – это путь к файлу, помещенному в пакет, без кавычек.
CHCP 65001 > nul устанавливает символы в UTF-8 и проглатывает вывод.
-ExecutionPolicy ByPass позволяет запускать PowerShell без необходимости изменять глобальную политику, которая предназначена для предотвращения случайного запуска сценариев людьми.
Funduc Software Touch — это утилита «сенсорного управления», позволяющая изменять метки времени/даты и/или атрибутов в одном или нескольких файлах. Кроме того, FS Touch может добавлять/вычитать определенное количество секунд из существующего времени файла. Вы можете указать, какие файлы и/или подкаталоги следует изменить с помощью «сложных масок файлов». Программа может быть запущена в интерактивном режиме или из командной строки. Новым в версии 7.2 является переключатель командной строки для изменения отметки времени изменения файла +/- указанное количество секунд.
FS Touch работает в Windows Vista, Windows 7, Windows 8 и Windows 10. Доступны отдельные версии для 32-разрядной версии и x64. Программа распространяется бесплатно.
См. лицензионное соглашение для FS Touch.
FS Touch предназначен для «стандартных» автономных дисков и совместим с USB-накопителями и сетевыми дисками, использующими стандартное сетевое подключение Windows.
Главное окно FS Touch
Доступны дополнительные скриншоты диалогов программы.
Примечания по использованию:
Графический интерфейс программы использует синтаксис даты/времени, соответствующий настройкам вашего компьютера.
В командной строке всегда используется синтаксис "ГГГГ-ММ-ДД" и "ЧЧ:ММ:СС" (24-часовой формат времени).
Создайте резервную копию файлов перед первым использованием программы.
Программа F1 Hlp содержит дополнительные рекомендации по использованию. Обязательно прочтите их перед использованием программы.
Пользователь должен знать, какие файлы на локальном или сетевом диске безопасно
изменять!! Например, изменение даты файла (файлов), непосредственно связанных с вашей операционной системой или операционной системой сетевого диска, может вызвать проблемы на вашем компьютере. Если вы не уверены в том, что делаете, не продолжайте!
FS Touch не предназначен для использования на больших дисковых массивах NAS в серверной среде.
Следует соблюдать осторожность при изменении файлов на дисковых массивах NAS RAID с несколькими пластинами. Программа не имеет никакой логики для определения приоритетов дисков RAID и не имеет специальных знаний о программном обеспечении диспетчера хранения или сетевых драйверах конкретного поставщика. Если у вас есть файлы, которые необходимо изменить в массиве NAS RAID, попробуйте временно скопировать их на локальный автономный диск с помощью FS Touch, а затем скопировать обратно на устройство NAS.
Тщательно проверяйте при изменении файлов на домашних/потребительских устройствах NAS с одним диском.
В ситуациях «зеркального/автоматического резервного копирования» никогда не изменяйте резервные/дополнительные файлы, работайте только с «зеркальным» основным диском.
Соблюдайте осторожность при использовании программы для изменения меток файлов на картах памяти, используемых в устройствах, которые предполагают фиксированные даты файлов в «системных» файлах (например, камерах, музыкальных проигрывателях и т. д.). Сначала сделайте резервную копию при изменении файлов на таком носителе.
Никогда не используйте FS Touch для изменения даты файлов на смартфонах или картах памяти, используемых в смартфонах.
Установщики FS Touch
setupfst.exe (1,5 МБ) — самоустанавливающаяся версия для 32-разрядной версии Windows. Инструкции по установке и удалению см. в разделе Информация об установке и удалении. Загрузите его и запустите setupfst.exe для установки.
setupfst64.exe (1,7 МБ) — самоустанавливающаяся версия для 64-разрядной версии Windows. Инструкции по установке и удалению см. в разделе Информация об установке и удалении. Загрузите его и запустите setupfst64.exe для установки.
Графические пользовательские интерфейсы могут быть великолепными, но если вы уже работаете в своем любимом терминале, зачем вам запускать другое приложение для создания нового файла или каталога? В зависимости от ситуации вы, вероятно, не захотите этого делать, и, к счастью, существуют инструменты командной строки, которые чрезвычайно упрощают создание новых каталогов и файлов.
Начало работы
Если вы еще не работаете в своем любимом терминальном приложении, я бы посоветовал запустить его и продолжить.
Скорее всего, вы находитесь в своем домашнем каталоге. Это нормально, но если вы хотите избавить себя от очистки файлов и каталогов позже, вы можете использовать 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 вложенных каталогов, вызовет судороги при работе с мышью и лишь тривиально быстрее при использовании горячих клавиш. Командная строка может многое сделать всего одной или двумя командами.
Читайте также: