3 какие операции можно выполнять с файлами и каталогами в командной строке

Обновлено: 22.11.2024

Теперь мы знаем, как просматривать файлы и каталоги, но как их создавать?

В этом выпуске мы узнаем о создании и перемещении файлов и каталогов на примере каталога для упражнений/записи.

Шаг первый: посмотрите, где мы находимся и что у нас уже есть

Мы по-прежнему должны находиться в каталоге shell-lesson-data на рабочем столе, что мы можем проверить, используя:

Далее мы перейдем в каталог для упражнений/записи и посмотрим, что в нем содержится:

Создать каталог

Давайте создадим новый каталог с именем thesis с помощью команды mkdir thesis (у которой нет вывода):

Как можно догадаться по названию, mkdir означает «создать каталог». Поскольку тезис является относительным путем (т. е. не имеет начального слэша, например /what/ever/thesis ), новый каталог создается в текущем рабочем каталоге:

Поскольку мы только что создали каталог тезисов, в нем еще ничего нет:

Обратите внимание, что mkdir не ограничивается созданием отдельных каталогов по одному. Параметр -p позволяет mkdir создать каталог с вложенными подкаталогами за одну операцию:

Опция -R команды ls отобразит список всех вложенных подкаталогов внутри каталога. Давайте используем ls -FR для рекурсивного отображения новой иерархии каталогов, которую мы только что создали в каталоге проекта:

Два способа сделать одно и то же

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

Хорошие имена для файлов и каталогов

  1. Не используйте пробелы.

    Пробелы могут сделать имя более осмысленным, но, поскольку пробелы используются для разделения аргументов в командной строке, лучше избегать их в именах файлов и каталоги. Вместо этого вы можете использовать - или _ (например, north-pacific-gyre/ , а не north pacific gyre/ ). Чтобы проверить это, попробуйте ввести mkdir north pacific gyre и посмотрите, какой каталог (или каталоги!) создается при проверке с помощью ls -F .

  2. Не начинайте имя с - (тире).

    Команды рассматривают имена, начинающиеся с -, как параметры.

  3. Наклеивайте буквы, цифры, . (точка или точка), - (тире) и _ (подчеркивание).

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

Создать текстовый файл

Давайте изменим наш рабочий каталог на thesis с помощью cd , затем запустим текстовый редактор Nano, чтобы создать файл с именем draft.txt :

Какой редактор?

Когда мы говорим, что nano — это текстовый редактор, мы на самом деле имеем в виду текст: он может работать только с простыми символьными данными, а не с таблицами, изображениями или любым другим удобным для человека носителем. Мы используем его в примерах, потому что это один из наименее сложных текстовых редакторов. Однако из-за этой особенности он может быть недостаточно мощным или достаточно гибким для работы, которую вам нужно будет выполнить после этого семинара. В системах Unix (таких как Linux и macOS) многие программисты используют Emacs или Vim (на изучение обоих требуется больше времени) или графический редактор, такой как Gedit. В Windows вы можете использовать Notepad++. В Windows также есть встроенный редактор под названием «Блокнот», который можно запустить из командной строки так же, как и nano для целей этого урока.

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

Давайте напечатаем несколько строк текста. Как только мы довольны нашим текстом, мы можем нажать Ctrl + O (нажмите клавишу Ctrl или Control и, удерживая ее, нажмите клавишу O), чтобы записать наши данные на диск (нас спросят, какой файл мы хотим чтобы сохранить это в: нажмите клавишу «Ввод», чтобы принять предложенный по умолчанию вариант draft.txt ).

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

Control, Ctrl или клавиша ^

  • Control-X
  • Control+X
  • Ctrl + X
  • Ctrl+X
  • ^X
  • C-x

nano не оставляет никаких выводов на экране после выхода, но теперь ls показывает, что мы создали файл с именем draft.текст:

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

Мы увидели, как создавать текстовые файлы с помощью редактора nano. Теперь попробуйте следующую команду:

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

  2. Используйте ls -l для проверки файлов. Насколько велик my_file.txt?

  3. В каких случаях вам может понадобиться создать файл таким образом?

Решение

  1. Команда touch создает новый файл с именем my_file.txt в вашем текущем каталоге. Вы можете просмотреть этот вновь сгенерированный файл, набрав ls в командной строке. my_file.txt также можно просмотреть в проводнике файлов с графическим интерфейсом.

  2. При проверке файла с помощью ls -l обратите внимание, что размер файла my_file.txt равен 0 байт. Другими словами, он не содержит данных. Если вы откроете файл my_file.txt в текстовом редакторе, он будет пустым.

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

Что в имени?

Возможно, вы заметили, что все файлы Нелле называются "что-то точка-что-то", и в этой части урока мы всегда использовали расширение .txt . Это всего лишь соглашение: мы можем назвать файл mythesis или почти что угодно. Тем не менее, большинство людей большую часть времени используют имена, состоящие из двух частей, чтобы помочь им (и их программам) различать разные типы файлов. Вторая часть такого имени называется расширением имени файла и указывает, какой тип данных содержит файл: .txt указывает на обычный текстовый файл, .pdf указывает на PDF-документ, .cfg — это файл конфигурации, полный параметров для какой-либо программы или другое, .jpg — изображение в формате PNG и т. д.

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

Именование PNG-изображения кита поскольку whit.mp3 каким-то волшебным образом не превращает его в запись песни кита, хотя может заставить операционную систему попытаться открыть его с помощью музыкального проигрывателя, когда кто-то дважды щелкнет по нему.

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

Возвращаясь к каталогу shell-lesson-data/writing,

В нашем каталоге тезисов у нас есть файл draft.txt с не слишком информативным именем, поэтому давайте изменим имя файла с помощью mv , что является сокращением от «move»:

Первый аргумент сообщает mv, что мы «перемещаем», а второй — куда это должно двигаться. В этом случае мы перемещаем thesis/draft.txt в thesis/quotes.txt, что имеет тот же эффект, что и переименование файла. Действительно, ls показывает нам, что тезис теперь содержит один файл с именем quotes.txt:

Нужно быть осторожным при указании имени целевого файла, так как mv молча перезапишет любой существующий файл с таким же именем, что может привести к потере данных. Дополнительный параметр mv -i (или mv --interactive ) можно использовать, чтобы заставить mv запрашивать подтверждение перед перезаписью.

Обратите внимание, что mv также работает с каталогами.

Давайте переместим файл quotes.txt в текущий рабочий каталог. Мы снова используем mv, но на этот раз мы будем использовать только имя каталога в качестве второго аргумента, чтобы сообщить mv, что мы хотим сохранить имя файла, но поместим файл в новое место. (Вот почему команда называется «переместить».) В этом случае имя каталога, которое мы используем, является специальным именем каталога. о которых мы упоминали ранее.

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

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

ls с именем файла или каталога в качестве аргумента выводит только запрошенный файл или каталог. Если файл, указанный в качестве аргумента, не существует, оболочка возвращает ошибку, как мы видели выше. Мы можем использовать это, чтобы увидеть, что файл quotes.txt теперь присутствует в нашем текущем каталоге:

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

После выполнения следующих команд Джейми понимает, что поместила файлы sucrose.dat и maltose.dat не в ту папку. Файлы должны были быть помещены в папку raw.

Заполните пробелы, чтобы переместить эти файлы в папку raw/ (то есть в ту, куда она забыла их положить)

Решение

Напоминаем, что .. относится к родительскому каталогу (т. е. каталогу выше текущего), а . относится к текущему каталогу.

Копирование файлов и каталогов

Команда cp очень похожа на mv, за исключением того, что она копирует файл, а не перемещает его.Мы можем проверить, правильно ли он поступил, используя ls с двумя путями в качестве аргументов — как и большинству команд Unix, ls можно указать сразу несколько путей:

Мы также можем скопировать каталог и все его содержимое, используя рекурсивную опцию -r , например для резервного копирования каталога:

Мы можем проверить результат, перечислив содержимое папки thesis и thesis_backup:

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

  1. cp statstics.txt Statistics.txt
  2. mv statstics.txt stats.txt
  3. mv statstics.txt .
  4. cp statstics.txt.

Решение

  1. Нет. Хотя при этом будет создан файл с правильным именем, файл с неправильным именем все еще существует в каталоге, и его необходимо удалить.
  2. Да, переименовать файл можно.
  3. Нет, точка (.) указывает, куда переместить файл, но не дает нового имени файла; одинаковые имена файлов не могут быть созданы.
  4. Нет, точка (.) указывает, куда копировать файл, но не дает нового имени файла; одинаковые имена файлов не могут быть созданы.

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

Что выводит закрывающая команда ls в показанной ниже последовательности?

  1. белки-сохраненные.dat рекомбинированы
  2. воссоединено
  3. белки.dat рекомбинированы
  4. proteins-saved.dat

Решение

  1. Нет, см. объяснение выше. .profiles-saved.dat находится в папке /Users/jamie
  2. Да
  3. Нет, см. объяснение выше. .projects.dat находится в папке /Users/jamie/data/recombined
  4. Нет, см. объяснение выше. .profiles-saved.dat находится в папке /Users/jamie

Удаление файлов и каталогов

Возвращаясь к каталогу shell-lesson-data/writing, давайте наведем порядок в этом каталоге, удалив созданный нами файл quotes.txt. Для этого мы будем использовать команду Unix — rm (сокращение от «удалить»):

Мы можем подтвердить, что файл исчез, используя ls :

Удаление навсегда

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

Безопасное использование rm

Что происходит, когда мы выполняем команду rm -i thesis_backup/quotations.txt? Зачем нам нужна эта защита при использовании rm ?

Решение

Опция -i будет запрашивать перед (каждым) удалением (используйте Y, чтобы подтвердить удаление, или N, чтобы сохранить файл). Оболочка Unix не имеет корзины для мусора, поэтому все удаленные файлы исчезнут навсегда. С помощью параметра -i у нас есть возможность убедиться, что мы удаляем только те файлы, которые хотим удалить.

Если мы попытаемся удалить каталог тезисов с помощью rm thesis , мы получим сообщение об ошибке:

Это происходит потому, что rm по умолчанию работает только с файлами, а не с каталогами.

rm может удалить каталог и все его содержимое, если мы используем рекурсивную опцию -r , и он сделает это без каких-либо запросов на подтверждение:

Учитывая, что нет возможности восстановить файлы, удаленные с помощью оболочки, rm -r следует использовать с большой осторожностью (можно рассмотреть возможность добавления интерактивной опции rm -r -i ).

Операции с несколькими файлами и каталогами

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

Копировать с несколькими именами файлов

В этом упражнении вы можете протестировать команды в каталоге shell-lesson-data/exercise-data.

В приведенном ниже примере что делает cp, если задано несколько имен файлов и имя каталога?

В приведенном ниже примере что делает cp, если задано три или более имен файлов?

Решение

Если задано более одного имени файла, за которым следует имя каталога (т. е. каталог назначения должен быть последним аргументом), cp копирует файлы в указанный каталог.

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

Использование подстановочных знаков для одновременного доступа к нескольким файлам

Подстановочные знаки

* — это подстановочный знак, который соответствует нулю или более символов. Давайте рассмотрим каталог shell-lesson-data/exercise-data/proteins: *.pdb соответствует ethan.pdb, propane.pdb и всем файлам, оканчивающимся на «.pdb». С другой стороны, p*.pdb соответствует только pentane.pdb и propane.pdb , потому что «p» в начале соответствует только именам файлов, начинающимся с буквы «p».

? также является подстановочным знаком, но соответствует только одному символу. Таким образом, ?ethan.pdb будет соответствовать метану.pdb, тогда как *ethan.pdb соответствует как ethan.pdb, так и methan.pdb.

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

Когда оболочка видит подстановочный знак, он расширяет подстановочный знак, чтобы создать список совпадающих имен файлов перед выполнением запрошенной команды. В качестве исключения, если выражение с подстановочным знаком не соответствует ни одному файлу, Bash передаст выражение в качестве аргумента команде как есть. Например, ввод ls *.pdf в каталоге белков (который содержит только файлы с именами, заканчивающимися на .pdb ) приводит к сообщению об ошибке, что файл с именем *.pdf отсутствует. Однако обычно такие команды, как wc и ls, видят списки имен файлов, соответствующих этим выражениям, но не сами подстановочные знаки. Именно оболочка, а не другие программы, занимается раскрытием подстановочных знаков.

Список имен файлов, соответствующих шаблону

  1. ls *t*ane.pdb
  2. ls *t?ne.*
  3. ls *t??ne.pdb
  4. этан.*

Решение

Решение 3.

1. показывает все файлы, имена которых содержат ноль или более символов (*), за которыми следует буква t, затем ноль или более символов (*), за которыми следует ane.pdb. Это дает этан.pdb метан.pdb октан.pdb пентан.pdb .

2. показывает все файлы, имена которых начинаются с нуля или более символов ( * ), за которыми следует буква t , затем один символ ( ? ), затем ne. за которым следует ноль или более символов ( * ). Это даст нам octane.pdb и pentane.pdb, но не соответствует ничему, что заканчивается на thane.pdb.

3. устраняет проблемы варианта 2, сопоставляя два символа ( ?? ) между t и ne . Это решение.

4. показывает только файлы, начинающиеся с этана. .

Подробнее о подстановочных знаках

У Сэма есть каталог, содержащий данные калибровки, наборы данных и описания наборов данных:

Прежде чем отправиться на очередную экскурсию, она хочет создать резервную копию своих данных и отправить несколько наборов данных своему коллеге Бобу. Для выполнения работы Сэм использует следующие команды:

Помогите Сэму, заполнив пустые поля.

Полученная структура каталогов должна выглядеть так

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

Подстановочные знаки

Перейдите в каталог untrimmed_fastq:

Нас интересуют файлы FASTQ в этом каталоге. Мы можем вывести список всех файлов с расширением .fastq с помощью команды:

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

отображает только файлы, оканчивающиеся на 977.fastq .

Выводит список всех файлов в /usr/bin, оканчивающихся на символы .sh . Обратите внимание, что в выходных данных отображаются полные пути к файлам, поскольку каждый результат начинается с / .

Упражнение

  1. Список всех файлов в /usr/bin, имена которых начинаются с буквы "c".
  2. Выведите список всех файлов в /usr/bin, содержащих букву "а".
  3. Список всех файлов в /usr/bin, которые заканчиваются на букву "о".

Решение

  1. ls /usr/bin/c*
  2. ls /usr/bin/*a*
  3. ls /usr/bin/*o
    Дополнительно: ls /usr/bin/*[ac]*

Упражнение

echo — это встроенная команда оболочки, которая записывает свои аргументы, например строку текста, в стандартный вывод. Команду echo также можно использовать с символами сопоставления с образцом, такими как подстановочные знаки. Здесь мы воспользуемся командой echo, чтобы увидеть, как оболочка интерпретирует подстановочный знак.

* расширяется и включает любой файл, оканчивающийся на .fastq . Мы видим, что вывод команды echo *.fastq такой же, как вывод команды ls *.fastq .

Как бы выглядел вывод, если бы подстановочный знак не мог не совпадать? Сравните выходные данные echo *.missing и ls *.missing .

Решение

История команд

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

Еще несколько полезных сочетаний клавиш:

  • Ctrl + C отменит введенную вами команду и выдаст новое приглашение.
  • Ctrl + R выполнит обратный поиск в истории команд. Это очень полезно.
  • Ctrl + L или команда очистки очистят экран.

Вы также можете просмотреть свои последние команды с помощью команды history, введя:

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

Например, если ваша история выглядела так:

Введите ! (восклицательный знак) и затем номер команды из вашей истории.Вы будете рады, что узнали это, когда вам нужно будет повторно запустить очень сложные команды. Дополнительные сведения о расширенном использовании истории см. в разделе 9.3 руководства Bash.

Упражнение

Найдите номер строки в истории для команды, в которой перечислены все файлы .sh в /usr/bin . Повторите эту команду.

Решение

История первого типа . Тогда используйте! за которым следует номер строки для повторного запуска этой команды.

Просмотр файлов

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

Один из способов проверить файл – распечатать все содержимое с помощью программы cat .

Введите следующую команду из каталога untrimmed_fastq:

При этом на экран будет выведено все содержимое файла SRR098026.fastq.

Упражнение

  1. Распечатайте содержимое файла ~/shell_data/untrimmed_fastq/SRR097977.fastq. Какая последняя строка файла?
  2. Из своего домашнего каталога и без изменения каталогов используйте одну короткую команду, чтобы распечатать содержимое всех файлов в каталоге ~/shell_data/untrimmed_fastq.

Решение

  1. Последняя строка файла — C:CCC::CCCCCCCC .
  2. кот ~/shell_data/untrimmed_fastq/*

cat — потрясающая программа, но когда файл действительно большой, ее использование может раздражать. Для этого случая пригодится программа less. less открывает файл только для чтения и позволяет перемещаться по нему. Команды навигации идентичны программе man.

Введите следующую команду:

Некоторые команды навигации в less :

клавиша действие
Пробел идти вперед
b идти назад
g перейти в начало
G перейти в конец
q выйти

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

Ярлык: если вы нажмете «/», а затем «ввод», меньше будет повторяться предыдущий поиск. less выполняет поиск из текущего местоположения и продвигается вперед. Прокрутите пару строк вверх на своем терминале, чтобы убедиться, что вы находитесь в начале файла. Обратите внимание, если вы находитесь в конце файла и ищете последовательность «CAA», то less ее не найдет. Вам либо нужно перейти к началу файла (набрав g ) и снова выполнить поиск, используя / , либо вы можете использовать ? для поиска назад так же, как вы использовали / ранее.

Например, выполним поиск последовательности TTTTT в нашем файле. Вы можете видеть, что мы идем прямо к этой последовательности, как она выглядит и где она находится в файле. Если вы продолжите набирать / и нажмете клавишу возврата, вы перейдете к следующему экземпляру этого мотива последовательности. Если вместо этого ввести ? и нажмите «Ввод», вы будете выполнять поиск назад и переместите файл вверх к предыдущим примерам этого мотива.

Упражнение

Каковы следующие три нуклеотида (символа) после первого экземпляра последовательности, приведенной выше?

Решение

Помните, что программа man на самом деле использует меньше внутренних ресурсов и, следовательно, использует те же самые команды, поэтому вы также можете искать документацию, используя «/»!

Есть еще один способ просмотра файлов, и в этом случае мы просто просматриваем их часть. Это может быть особенно полезно, если мы просто хотим увидеть начало или конец файла или посмотреть, как он отформатирован.

Команды head и tail позволяют просматривать начало и конец файла соответственно.

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

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

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

Скорее всего, вы находитесь в своем домашнем каталоге. Это нормально, но если вы хотите избавить себя от очистки файлов и каталогов позже, вы можете использовать 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 вложенных каталогов, вызовет судороги при работе с мышью и лишь тривиально быстрее при использовании горячих клавиш. Командная строка может многое сделать всего одной или двумя командами.

В этой статье перечислены различные команды, которые можно использовать для управления файлами и папками через командную строку в Windows 11/10. Хотя многие пользователи предпочитают использовать графический пользовательский интерфейс для управления файлами без проблем, некоторые также используют интерфейс командной строки для выполнения задач управления файлами. В любом случае всегда лучше знать альтернативные решения для выполнения задачи.

В этом руководстве я составлю список полезных команд, которые вы можете использовать для управления файлами или папками на ПК с Windows 10. Для выполнения определенной задачи с файлами или папками существует специальная команда, которую необходимо ввести в CMD. Давайте проверим эти команды!

Команды для управления файлами и папками через CMD

Вот команды, которые вы должны знать для управления файлами и папками с помощью командной строки в Windows 11/10:

1] Создайте файл или папку в CMD

Чтобы создать папку, введите имя папки и место, где вы хотите ее создать. Вот команда:

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

Вместо file.txt введите имя файла с его расширением и полным путем. А 4000 — это размер файла в байтах.

2] Удалить файлы или папки в CMD

Вы можете удалить папку с помощью следующей команды:

Чтобы удалить файл, выполните следующую команду:

Если вы хотите удалить все файлы из текущей папки, введите команду:

Чтобы удалить файлы только с определенным расширением, например png, используйте команду:

Если вы хотите удалить файлы с определенной строкой в ​​имени файла, например, xyz, вы можете использовать следующую команду:

3] Поиск файлов в определенной папке

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

Теперь вы можете найти файлы старше n дней в определенной папке с помощью следующей команды:

Замените -n на количество дней. Например, если вы хотите найти файлы старше 2 дней, введите -2 .

Чтобы найти файлы больше определенного размера, используйте команду:

В приведенной выше команде 3741824 — это размер файла для поиска файлов большего размера.

4] Переименуйте все расширения файлов, присутствующие в папке, одновременно

Вы также можете пакетно переименовывать расширения файлов в CMD. Предположим, вы хотите переименовать расширение файла всех изображений в JPG, вы можете использовать следующую команду:

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

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

6] Проверка наличия строки внутри файла

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

Например, чтобы отобразить все строки с «twc» в текстовом файле, нужно ввести команду:

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

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

7] Проверить наличие всех скрытых файлов в папке

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

8] Сжать файл в CMD

Команда для сжатия файла в папке:

9] Скрыть/показать файл с помощью CMD

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

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

10] Установить/снять атрибут «Только для чтения» для файла

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

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

11] Команда для переименования файла/папки

12] Чтение содержимого файла в CMD

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

13] Открыть файл в приложении по умолчанию

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

14] Переместить файл/папку в другое место

Предположим, вы хотите переместить файл TWC12.pdf в папку TWC на ​​диске G, используя следующую команду:

Команда для перемещения всех файлов с определенным расширением:

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

Точно так же вы можете переместить папку с помощью команды, как показано ниже:

15] Команда для копирования файлов

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

Надеемся, что эта статья поможет вам изучить некоторые полезные команды для управления файлами и папками через командную строку в Windows 11/10.

Дата: 8 июня 2021 г. Метки: CMD

Похожие сообщения

Как включить CTRL+C и CTRL+V в командной строке в Windows 11/10

Командная строка закрывается сразу после открытия пакетного файла

Параметры завершения работы командной строки для файла shutdown.exe в Windows 11/10

[электронная почта защищена]

Комаль получил степень магистра технических наук в области CSE. Последние 4 года она ведет технические блоги и стремится находить и предлагать решения повседневных технических проблем.

сообщить об этом объявлении

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