Каталог расширений

Популярные теги

3gp       avi       fb2       jpg       mp3       pdf      

Как изменить файлы линукс из windows


Как в Windows получить доступ к своим файлам на linux-разделах

Всякий человек, совершающий побег из семьи Windows, некоторое время непременно будет жить на два дома, перескакивая то туда, то сюда. И если в семействе Linux относятся к такому положению вполне благосклонно, предоставляя полный доступ к разделам Windows, то Windows, наоборот, как ревнивая жена на корню пресекает все попытки добраться до своего имущества. Однако с помощью утилиты Ext2Fsd можно такое положение вещей изменить и с легкостью получить доступ к Linux-разделам.

Утилита Ext2Fsd служит для быстрого и удобного доступа к папкам и файлам, расположенным на разделах операционной системы Linux. В процессе установки программы инсталлируется специальный драйвер, обеспечивающий прозрачный доступ к томам в форматах Ext2, Ext3, Ext4. При этом linux-раздел может автоматически монтироваться при старте системы и становится, таким образом, доступным для работы из любой программы в Windows.

Для начала необходимо скачать инсталляционный файл программы и установить на свой компьютер. Программа работает в Windows 2k, XP, Vista и Win7, однако и в восьмерке при соответствующих опциях совместимости чувствует себя прекрасно. В процессе установки следует обратить внимание на одно из диалоговых окон.

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

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

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

В этом окне нас интересует кнопка Mount Points, которая вызывает ещё одно диалоговое окошко, в котором следует задать букву диска и отметить галочкой пункт Create a permament MountPoint via Session Manager. Теперь последовательно закрываем всю стопку открытых диалоговых окон и собственно окно программы. После этого необходимо перезагрузить компьютер, и в файловом менеджере появляется новый диск, представляющий собой подключенный вами linux-раздел.

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

Ext2Fsd

Передача файлов между компьютерами Linux и Windows

Копирование данных с ПК с Windows в Linux — или в другом направлении — поначалу может показаться пугающим. В конце концов, это то, что кажется простым, но оказывается сложным.

По правде говоря, делиться файлами из Windows в Linux легко, но только если вы знаете, как это сделать. Готовы выяснить?

4 способа передачи файлов из Windows в Linux

Перенос данных между операционными системами Windows и Linux проще, чем вы думаете. Мы собрали пять способов сделать это:

  1. Поделиться сетевыми папками
  2. Передача файлов с FTP
  3. Безопасное копирование файлов через SSH
  4. Обмен данными с помощью про

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

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

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

Содержание статьи:

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

В Linux существует замечательная стандартная утилита mv, которая предназначена для перемещения файлов. Но по своей сути перемещение - это то же самое, что и переименование файла linux, если выполняется в одной папке. Давайте сначала рассмотрим синтаксис этой команды:

$ mv опции файл-источник файл-приемник

Теперь рассмотрим основные опции утилиты, которые могут вам понадобиться:

  • -f - заменять файл, если он уже существует;
  • -i - спрашивать, нужно ли заменять существующие файлы;
  • -n - не заменять существующие файлы;
  • -u - заменять файл только если он был изменен;
  • -v - вывести список обработанных файлов;

Чтобы переименовать файл linux достаточно вызвать утилиту без дополнительных опций. Просто передав ей имя нужного файла и новое имя:

mv file newfile

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

mv /home/sergiy/test/newfile /home/sergiy/test/file1

Обратите внимание, что у вас должны быть права на запись в ту папку, в которой вы собираетесь переименовывать файлы. Если папка принадлежит другому пользователю, возможно, нужно будет запускать программу через sudo. Но в таком случае лучше запускать с опцией -i, чтобы случайно ничего не удалить.

Переименование файлов Linux с помощью rename

В Linux есть еще одна команда, которая позволяет переименовать файл. Это rename. Она специально разработана для этой задачи, поэтому поддерживает такие вещи, как массовое переименование файлов linux и использование регулярных выражений. Синтаксис утилиты тоже сложнее:

$ rename опции 's/старое_имя/новое_имя' файлы

Или:

$ rename опции старое_имя новое_имя файлы

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

Рассмотрим опции утилиты:

  • -v - вывести список обработанных файлов;
  • -n - тестовый режим, на самом деле никакие действия выполнены не будут;
  • -f - принудительно перезаписывать существующие файлы;

Например, переименуем все htm файлы из текущей папки в .html:

rename 's\.htm/\.html/' *.htm

Или для изображений:

rename 's\.jpeg/\.jpg/'*

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

  • g (Global) - применять ко всем найденным вхождениям;
  • i (Case Censitive) - не учитывать регистр.

Модификаторы размещаются в конце регулярного выражения, перед закрывающей кавычкой. Перед тем, как использовать такую конструкцию, желательно ее проверить, чтобы убедиться, что вы не допустили нигде ошибок, тут на помощь приходит опция -n. Заменим все вхождения DSC на photo в именах наших фотографий:

rename -n 's/DSC/photo/gi' *.jpeg

Будут обработаны DSC, DsC и даже dsc, все варианты. Поскольку использовалась опция -n, то утилита только выведет имена изображений, которые будут изменены.

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

rename 'y/A-Z/a-z/'*.jpeg

Из этого примера мы видим, что даже если такой файл уже существует, то он перезаписан по умолчанию не будет. Не забывайте использовать опцию -n чтобы ничего случайно не повредить.

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

Если вы не любите использовать терминал, но вам нужно массовое переименование файлов Linux, то вам понравится утилита pyrenamer. Это графическая программа и все действия здесь выполняются в несколько щелчков мыши. Вы можете установить ее из официальных репозиториев:

 sudo apt install pyrenamer

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

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

Опытным пользователям понравится возможность pyRenamer для переименования мультимедийных файлов из их метаданных. Кроме того, вы можете переименовать один файл если это нужно. Эта утилита полностью реализует функциональность mv и remove в графическом интерфейсе.

Выводы

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

Полноценный доступ ко всем Linux-файловым системам в Windows 2000/XP/Vista/7 с помощью coLinux

В данной статье я расскажу вам, как получить практически полноценный доступ для чтения и записи ко всем файловым системам, используемым в Linux (Ext2/3/4, ReiserFS, XFS, JFS, etc) из-под сабжевых операционных систем. Статья является вольным переводом данного руководства, причем написано оно уже довольно давно, но догуглился я до него только сейчас. :)

Что из себя представляет данный способ?
Пожалуй, все слышали о проекте coLinux. Это ядро Linux, портированное и модифицированное для запуска из Windows, включающее в себя драйвер для преобразования системных вызовов Linux в вызовы Windows. Приложения Linux могут запускаться в coLinux без перекомпиляции, при этом потеря производительности приложений не наблюдается.
Мы же будем использовать coLinux-систему как промежуточное звено для доступа к нужным файловым системам. coLinux будет имеет прямой доступ к файловым системам, а из под Windows (здесь и далее — хост-система) они будут доступны при помощи Samba-сервера, настроенного на coLinux-системе (гостевой системе). Связь между гостевой и хост-системами будет осуществлена при помощи виртуального TAP-сетевого адаптера. Совместимость при этом будет практически полная, вплоть до редактирования прав доступа и проч. (естественно, в гостевой системе).

Достоинства и недостатки
Главное достоинство в том, что используется нативный Linux-драйвер файловой системы (так как фактически запущена полная копия Linux, и драйвер работает в этой среде). И поэтому будет осуществляться полный доступ к ФС без багов со стороны Windows, недоделанных, а то и вовсе нереализованных, возможностей Windows-драйверов, и т.д.
Первый недостаток плавно вытекает из достоинства: из-за того, что запущена полная копия Linux со всеми драйверами, сервисами и программами, количество свободных ресурсов хост-системы порой довольно сильно уменьшается, в особенности при обмене файлами.
Второй недостаток заключается в низкой скорости обмена файлами: скорость чтения из файловой системы XFS не превышает в среднем 5 мегабайт в секунду, а скорость записи — 7 (что довольно-таки странно).

Установка и настройка гостевой Linux-системы

  1. Скачиваем ядро coLinux здесь. Устанавливаем, например, в директорию C:\coLinux (далее в статье для примера будет использоваться именно она).
  2. Скачиваем один из образов установленной Linux-системы отсюда. Я предпочел Debian Lenny, и поэтому при предстоящей работе в гостевой системе будут использоваться команды, специфичные для Debian. Распаковать архив с образом нужно в директорию, куда установлен coLinux, в нашем случае C:\coLinux.
  3. Правим конфиг-файл debian-lenny.conf, расположенный в директории coLinux (мы же распаковали архив с образом в нее, так?). Снимаем символ комментирования (#) со строк #mem=256 и #eth2=tuntap
  4. Теперь необходимо прописать в конфиг имена нужных разделов для доступа к ним. Эти имена выглядят как \Device\Harddisk1\Partition2. Самый простой способ найти правильные имена для нужных разделов — это скачать Windows-port утилиты dd и с помощью команды:
    dd --list
    в командной строке Windows с правами администратора (естественно, находясь в каталоге с исполняемым файлом dd) ищем нужные нам имена разделов под словами NT Block Device Objects (малость неудобно, т.к. искать нужные разделы придется по размеру, который, к тому же, дан в байтах).
    Итак, нужные имена мы нашли, теперь необходимо вписать их в конфиг. В конце конфига вписываем строки типа:
    cobdX=\Device\HarddiskY\PartitionZ
    где X — это порядковый номер файла девайса (он будет видет из-под гостевой системы в /dev), начиная с 3, а Y и Z — это номера диска и раздела в его Windows-имени. Например:
    cobd3=\Device\Harddisk1\Partition2
    И так для каждого раздела.
  5. Заходим в свойства виртуального сетевого адаптера «TAP-Win32 Adapter V8 (coLinux)» (в WinXP — Панель управления — Сетевые подключения — ПКМ на адаптере — Свойства — Протокол Интернета (TCP/IP) — Свойства, в WinVista/7 — Панель управления — Центр управления сетями и общим доступом — Изменение параметров адаптера — ПКМ на адаптере — Свойства — Протокол Интернета версии 4 (TCP/IPv4) — Свойства) и выставляем IP-адрес 192.168.37.10 и маску подсети 255.255.255.0. Сохраняем настройки.
  6. Самый долгожданный момент — запуск гостевой системы. :) Запускаем файл debian-lenny.bat из корневой директории coLinux и ждем, пока система полностью загрузится. Заходим в систему с логином root и паролем colinux. Создаем директории — точки монтирования разделов в гостевой системе. Редактируем файл /etc/fstab (с помощью vim или nano, по вкусу) и вписываем туда строчки для описания файловых систем для монтирования, например:
    /dev/cobd3 /mnt/cobd3 xfs defaults 0 0
    Тут все стандартно, отмечу только, что имя файла нужного раздела совпадает со строкой раздела в конфиге coLinux. После сразу монтируем все разделы с помощью команды mount -a.
  7. Настроим виртуальный сетевой адаптер в хост-системе. Для этого добавим в файл /etc/network/interfaces следующие строки:
    auto eth2
    iface eth2 inet static
    address 192.168.37.20
    network 192.168.37.0
    netmask 255.255.255.0
    broadcast 192.168.37.255
    Включаем сетевой интерфейс командой:
    ifup eth2
    Можно тут же пропинговать хост-систему (192.168.37.10), все должно работать без проблем.
  8. Создаем обычного юзера командой adduser (напр. adduser user1) для того, чтобы предотвратить root-доступ к файлам из-под Windows
  9. Устанавливаем SSH- и Samba-серверы в гостевой системе:
    apt-get install openssh-server samba
    В конфиге Samba (/etc/samba/smb.conf) вписываем для каждого смонтированного раздела секцию такого вида:
    [sharename1]
    path=/mnt/cobd3
    users=user1
    read only=no

    Меняем нужные параметры по-нашему. После редактирования файла перезапускаем Samba с помощью команды /etc/init.d/samba reload
  10. Выбираем в контекстном меню на иконке «Мой компьютер» пункт «Подключить сетевой диск...». Прописываем в качестве пути для каждого раздела \\192.168.37.20\имя_шары, где имя шары — это имя, прописанное в квадратных скобках в начале секции конфига Samba.

Ура! Раздел виден, и все успешно читается и пишется (естественно, читается и пишется только туда, где есть соответствующие права).

Прописывание coLinux как сервиса Windows
Осталась одна проблема — coLinux приходится запускать вручную, и при закрытии его консольного окна доступ к дискам исчезает. Решение — прописать coLinux как сервис Windows (который будет работать в фоне) и настроить его автостарт при запуске системы:

  1. В командной строке Windows (с правами администратора) в каталоге coLinux прописываем команду:
    daemon.exe --install-service colinux @debian-lenny.conf
    Тут же и запустим сервис: net start colinux.
  2. Запускаем services.msc (Win+R — services.msc — OK), находим в списке сервисов colinux, дважды щелкаем на него, и в появившемся окне выбираем тип запуска — Автоматически. Сохраняем.

Для доступа к гостевой системе мы будем использовать PuTTY (коннектимся к ip 192.168.37.20).
Напоследок хотелось бы отметить, что этот способ доступа к линуксовым ФС пока является самым лучшим, потому что, как уже я отмечал выше, существующие драйверы пока не могут обеспечить полную совместимость, и, более того, за них нередко требуют деньги.

Файлы подсистемы Linux нельзя создавать, изменять или удалять при помощи инструментов для Windows


Весной этого года компания Microsoft начала интеграцию Linux-инструментария в свою новую ОС Windows 10. Первым шагом было включение Ubuntu и Bash инструментария в сборку 14316. Суть обновления заключалась в добавлении прослойки WSL, которая транслировала системные вызовы Linux в системные вызовы Windows, что позволяет развернуть в основном окружении Windows полноценный инструментарий Ubuntu Linux без эмуляции и виртуализации.

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

В начале поста в блоге на MSDN стоит крупное предупреждение:

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

Создание/изменение файлов Linux из под Windows, скорее всего, приведет к повреждению данных и / или повреждению среды Linux, что в дальнейшем потребует переустановки дистрибутива!


Речь идет о любых файлах или папках, которые лежат в %LOCALAPPDATA%\lxss в подсистеме Linux в Windows 10.

Происходит подобное, судя по информации в блоге, из-за логики работы WSL.

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

«Метаданные файлов (расширения, дата создания и прочая информация) формируются в Linux и Windows по-разному. По этой причине ПО и инструменты для Windows не способны корректно сохранить и записать метаданные Linux-файлов (в принципе, они и не должны этого уметь). Кроме этого некоторое ПО для Windows часто не редактирует исходный файл, а создает его копию. При этом исходный файл удаляется и заменяется другим, а метаданные теряются», — говорится в блоге.

Решается данная проблема хранением необходимых файлов, работа с которыми производится средствами Windows, в рамках файловой системы ОС от Microsoft, а файлы Linux не изменять, создавать или удалять при помощи инструментов для Windows.

Как редактировать файлы в Ubuntu

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

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

Содержание статьи:

Как редактировать файлы в Ubuntu

Новичкам намного проще редактирование файлов ubuntu в графическом интерфейсе и для этого в этой системе по умолчанию поставляется программа Gedit. Это очень простой, но достаточно функциональный текстовый редактор, который позволяет делать все что нужно.

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

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

Также вы можете запустить Gedit через терминал. Для этого откройте терминал с помощью сочетания клавиш Ctrl+Alt+T, и выполните:

gedit /путь/к/папке/с_файлом/файл

 

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

Обычно права установлены таким образом, что открыть то вы его сможете, а вот сохранить изменения уже нет. Запустите терминал и выполните:

gksu gedit /путь/к/папке/с_файлом/файл

После этого программа запросит пароль и запустит текстовый редактор от имени администратора. Дальше вы сможете успешно выполнить редактирование файлов в Ubutnu и сохранить изменения в файле.

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

sudo apt update

Установите пакет nautilus-admin:

sudo apt install -y nautilus-admin

Затем выполните такую команду чтобы полностью закрыть Nautilus:

nautilus -q

Теперь загрузите Nautilus, и в меню появится пункт Редактировать как администратор:

 

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

Редактирование файлов в Ubuntu через терминал

Очень часто среди опытных пользователей принято работать с текстовыми файлами через терминал, для этого применяются две программы. Одна из них более простая и рассчитана на новичков - nano, а вторая более сложная, но очень эффективная - vim. Для редактирования файла с помощью nano используйте соответствующую команду:

nano /путь/к/файлу/имя_файла

Если файл нужно открыть от имени администратора:

sudo nano /путь/к/файлу/имя_файла

Редактор nano очень прост, для перемещения по файлу используйте кнопки со стрелками, после того, как закончите редактировать файл ubuntu, нажмите чтобы сохранить Ctrl+O, а для выхода Ctrl+X. Еще поддерживается поиск и замена, но все на очень примитивном уровне, и этого явно недостаточно для того чтобы работать эффективно.

Другой редактор ориентирован на профессионалов - это редактор vim. Он очень гибкий, может работать в двух режимах - командном и обычном режиме набора текста. Чтобы открыть с помощью него файл выполните:

vi /путь/к/файлу/имя_файла

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

sudo vi /путь/к/файлу/имя_файла

В командном режиме вы можете выполнять поиск, быстро перемещаться по строкам и символам с помощью клавиш набора, а также много других действий. Мы подробно рассматривали как работать с vim в отдельной статье.

Выводы

В этой небольшой статье мы рассмотрели как редактировать файлы в терминале Ubuntu, а также как это более удобно выполнять через графический интерфейс. Это довольно простая задача, для нас - уже опытных пользователей, но для новичков она может показаться совсем непростой. Если у вас остались вопросы, спрашивайте в комментариях!

Оцените статью:

Загрузка...

Не изменять файлы Linux с помощью приложений и инструментов Windows

Rich

Обновление

- май 2019 г. Выпущена Windows 10 версии 1903, которая позволяет выполнить важное обновление WSL, которое позволяет приложениям и инструментам Windows напрямую обращаться к файлам Linux. Для этого в WSL размещен новый файловый сервер 9P, который предоставляет файловые системы дистрибутива приложениям и инструментам Windows через \\ wsl $ \ \ ! Вы можете прочитать все об этой функции в сообщении блога «Что нового для WSL в Windows 10 версии 1903».

Сообщение ниже содержит исходное руководство, которое также остается верным: НЕ обращайтесь к файлам Linux внутри вашей % LOCALAPPDATA% папки , так как вы должны иметь доступ только к ним. Если вы хотите узнать больше о том, почему вам не следует копаться в папке Appdata в поисках файлов Linux, читайте дальше!

Когда дело доходит до WSL в Windows, существует одно жесткое правило:

НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ НЕ открывайте, не создавайте и / или не изменяйте файлы Linux внутри папки `% LOCALAPPDATA%`, используя Приложения, инструменты, скрипты, консоли для Windows и т. Д.

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

Создание / изменение файлов Linux в папке Appdata из Windows, скорее всего, приведет к повреждению данных и / или повреждению вашей среды Linux, и вам потребуется удалить и переустановить дистрибутив!

Примечание. В бета-версиях WSL ваши «файлы Linux» - это любые файлы и папки в папке% localappdata% \ lxss, где файловая система Linux - дистрибутив и ваши собственные файлы - хранятся на вашем диске.В поддерживаемых версиях WSL файловые системы для дистрибутивов, которые вы устанавливаете через Microsoft Store, хранятся в другом месте на диске… не зря!

Что мне следует делать?

Для работы с файлами с помощью инструментов Windows и Linux храните файлы в файловой системе Windows - это позволит вам получить доступ к одним и тем же файлам как из Windows, так и из ваших дистрибутивов Linux через / mnt / / (например, / mnt / c / dev / project / ... ),

Когда вы обращаетесь к файлам в файловой системе Windows из Bash, WSL учитывает поведение файловой системы NT (например,грамм. нечувствительность к регистру), разрешения и т. д., поэтому вы можете легко получить доступ к одним и тем же файлам, используя как инструменты Windows, так и инструменты Bash, без необходимости копировать файлы между файловыми системами и обратно.

Поэтому обязательно следуйте этим трем правилам, чтобы избежать потери файлов и / или повреждения ваших данных:

  1. DO хранить файлы в файловой системе Windows, к которым вы хотите получить доступ / создать / изменить с помощью инструментов Windows И Инструменты Linux
  2. DO доступ / создание / изменение файлов в файловых системах ваших дистрибутивов Linux из приложений Windows, инструментов, скриптов или консолей с использованием \\ wsl $ \ \
  3. НЕ ДОПУСКАЙТЕ доступа / создавать / изменять файлы в файловых системах ваших дистрибутивов Linux из приложений, инструментов, скриптов или консолей Windows с помощью , находящего файлы в Appdata

    Помните: есть причина, по которой мы храним файловые системы ваших дистрибутивов в неочевидных местах!

    Почему это?

    Метаданные файла (например,грамм. разрешения, права собственности, временные метки и т. д.) хранятся для каждого файла, папки и т. д. на ваших устройствах хранения. Увы, представление метаданных файлов отличается от одной ОС к другой: метаданные файлов Windows отличаются от метаданных файлов Linux.

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

Задача WSL - записывать / обновлять метаданные файлов Linux для всех файлов в корне файловой системы Linux (т. Е. /), Сохраняя метаданные Linux в расширенных атрибутах NTFS каждого файла. WSL также синтезирует псевдометаданные для большинства файлов в файловой системе Windows.

Проблема возникает, когда, например, вы используете приложение / инструмент Windows для открытия, создания и / или изменения файла в корне вашего дистрибутива: поскольку файл был создан с помощью инструмента Windows, у файла не будет Linux метаданные файла (например,грамм. разрешения, владелец, временные метки доступа / обновления и т. д.). Таким образом, для Linux (который получает только метаданные файлов Linux) файл может быть зарегистрирован как пустой, может даже не существовать или может иметь некоторые метаданные, но эти метаданные могут не отражать детали файла, что привело к повреждению содержимого файла.

Кроме того, как и в Linux, некоторые инструменты Windows реализуют необычные шаблоны доступа к файловой системе для обработки обновления файлов и фактически не редактируют файлы на месте: когда приложения / инструменты сохраняют изменения в файл, исходные файлы часто удаляются и повторно создано и др.Во время таких операций «расширенные свойства» NT-файла (т.е. права доступа к файлу Linux) часто не копируются и «теряются».

Для получения дополнительной информации о том, как работает инфраструктура файловой системы WSL, обязательно прочтите / просмотрите этот УДИВИТЕЛЬНЫЙ блог и видео, в которых все более подробно объясняется.

Пожалуйста, помогите нам распространить это руководство по всему миру - твитнуть, опубликовать и блог, дать обратную ссылку на этот пост !!

Спасибо.

Журнал обновлений:

  • [2017-03-14] - Обновлено «Почему это?»; спасибо @mn в комментариях
  • [2019-01-15] - Незначительные обновления и улучшения
  • Последнее обновление: [2019-05-29] - В начало сообщения добавлено изменение, описывающее новую функцию, позволяющую пользователям для доступа к файлам Linux из Windows
Rich Turner

Sr.Диспетчер программ, консоль Windows и командная строка

Следуйте

.

часто задаваемых вопросов (FAQ) | Документы Microsoft

  • На чтение 9 минут

В этой статье

Что такое подсистема Windows для Linux (WSL)?

Подсистема Windows для Linux (WSL) - это новая функция Windows 10, которая позволяет запускать собственные инструменты командной строки Linux непосредственно в Windows вместе с традиционным рабочим столом Windows и приложениями из современных магазинов.

Более подробную информацию см. На странице «Информация».

Для кого предназначен WSL?

Это в первую очередь инструмент для разработчиков, особенно веб-разработчиков и тех, кто работает над проектами с открытым исходным кодом или с ними. Это позволяет тем, кто хочет / нуждается в использовании Bash, стандартных инструментов Linux ( sed , awk и т. Д.) И многих инструментов, ориентированных на Linux (Ruby, Python и т. Д.), Использовать свою цепочку инструментов в Windows.

Что я могу делать с WSL?

WSL предоставляет приложение под названием Bash.exe, который при запуске открывает консоль Windows с оболочкой Bash. Используя Bash, вы можете запускать инструменты и приложения Linux из командной строки. Например, введите lsb_release -a и нажмите Enter; вы увидите подробную информацию о запущенном дистрибутиве Linux:

Вы также можете получить доступ к файловой системе вашего локального компьютера из оболочки Linux Bash - вы найдете свои локальные диски, смонтированные в папке / mnt . Например, ваш диск C: установлен под / mnt / c :

Не могли бы вы описать типичный рабочий процесс разработки с использованием WSL?

WSL нацелен на аудиторию разработчиков с намерением использовать его как часть внутреннего цикла разработки.Допустим, Сэм создает конвейер CI / CD (непрерывная интеграция и непрерывная доставка) и хочет сначала протестировать его на локальном компьютере (ноутбуке), прежде чем развертывать его в облаке. Сэм может включить WSL (и WSL 2 для повышения скорости и производительности), а затем использовать подлинный экземпляр Linux Ubuntu локально (на ноутбуке) с любыми командами и инструментами Bash, которые они предпочитают. После локальной проверки конвейера разработки Сэм может отправить этот конвейер CI / CD в облако (то есть в Azure), превратив его в контейнер Docker и отправив контейнер в облачный экземпляр, где он будет работать на готовой к производству виртуальной машине Ubuntu. .

Что такое Баш?

Bash - популярная текстовая оболочка и командный язык. Это оболочка по умолчанию, включенная в Ubuntu и другие дистрибутивы Linux, а также в macOS. Пользователи вводят команды в оболочку для выполнения сценариев и / или выполнения команд и инструментов для выполнения многих задач.

Как это работает?

Загляните в наш блог, где мы подробно рассказываем о базовой технологии.

Почему я должен использовать WSL вместо Linux в виртуальной машине?

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

Почему я должен использовать, например, Ruby в Linux вместо Windows?

Некоторые кроссплатформенные инструменты были созданы с учетом того, что среда, в которой они работают, ведет себя как Linux. Например, некоторые инструменты предполагают, что они могут получить доступ к очень длинным путям к файлам или что существуют определенные файлы / папки.Это часто вызывает проблемы в Windows, которая часто ведет себя не так, как Linux.

Многие языки, такие как Ruby и node, часто переносятся на Windows и отлично работают на ней. Однако не все владельцы библиотек Ruby Gem или node / NPM переносят свои библиотеки для поддержки Windows, и многие из них имеют зависимости, специфичные для Linux. Это часто может приводить к тому, что системы, построенные с использованием таких инструментов и библиотек, страдают от ошибок сборки, а иногда и от ошибок выполнения или нежелательного поведения в Windows.

Это лишь некоторые из проблем, которые заставили многих людей просить Microsoft улучшить инструменты командной строки Windows, и что побудило нас сотрудничать с Canonical, чтобы включить встроенные инструменты командной строки Bash и Linux для работы в Windows.

Что это значит для PowerShell?

При работе с проектами OSS существует множество сценариев, в которых чрезвычайно полезно перейти в Bash из командной строки PowerShell. Поддержка Bash дополняет и усиливает ценность командной строки в Windows, позволяя PowerShell и сообществу PowerShell использовать другие популярные технологии.

Подробнее читайте в блоге команды PowerShell - Bash для Windows: чем он хорош и что это значит для PowerShell

Могу ли я запускать ВСЕ приложения Linux в WSL?

Нет! WSL - это инструмент, позволяющий пользователям, которым они нужны, запускать Bash и основные инструменты командной строки Linux в Windows.

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

Кроме того, несмотря на то, что вы сможете запускать многие популярные серверные приложения (например, Redis), мы не рекомендуем WSL для размещения производственных сервисов - Microsoft предлагает различные решения для запуска производственных рабочих нагрузок Linux в Azure, Hyper-V и Docker. .

В какие SKU Windows входит WSL?

Подсистема Windows

для Linux доступна в настольной версии Windows 10 Anniversary и Creators update или более поздней версии.

Начиная с обновления Fall Creators, WSL будет доступен как для настольных ПК, так и для серверных SKU Windows.

Какие процессоры поддерживает WSL?

WSL поддерживает процессоры x64 и ARM.

Как мне получить доступ к моему диску C:?

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

/ mnt / <буква диска> /

Пример использования: cd / mnt / c для доступа к c: \

Как мне настроить Git Credential Manager? (Как использовать разрешения Windows Git в WSL?)

Git Credential Manager позволяет вам аутентифицировать удаленный сервер Git, даже если у вас есть сложный шаблон аутентификации, такой как Azure Active Directory или двухфакторная аутентификация.Git Credential Manager интегрируется в поток аутентификации для таких сервисов, как GitHub, и после аутентификации у вашего хостинг-провайдера запрашивает новый токен аутентификации. Затем он надежно сохраняет токен в диспетчере учетных данных Windows. После первого раза вы можете использовать git, чтобы поговорить со своим хостинг-провайдером без повторной аутентификации. Он просто получит доступ к токену в диспетчере учетных данных Windows.

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

  git config --global credential.помощник "/ mnt / c / Program \ Files / Git / mingw64 / libexec / git-core / git-credential-manager.exe"  

Теперь любая операция git, выполняемая в вашем распространении WSL, будет использовать диспетчер учетных данных. Если у вас уже есть кэшированные учетные данные для хоста, он будет получать к ним доступ из диспетчера учетных данных. В противном случае вы получите диалоговое окно с запросом ваших учетных данных, даже если вы находитесь в консоли Linux.

Эта поддержка зависит от взаимодействия между подсистемой Windows для Linux и самой Windows.

Как мне использовать файл Windows с приложением Linux?

Одно из преимуществ WSL - возможность доступа к файлам через приложения или инструменты как для Windows, так и для Linux.

WSL монтирует фиксированные диски вашей машины в папку / mnt / в ваших дистрибутивах Linux. Например, ваш диск C: установлен под / mnt / c /

Используя подключенные диски, вы можете редактировать код, например, в C: \ dev \ myproj \ , используя Visual Studio / или VS Code, и создавать / тестировать этот код в Linux, обращаясь к тем же файлам через / mnt / с / dev / myproj .

ВАЖНОЕ ПРИМЕЧАНИЕ : Одним из ключевых ограничений использования WSL является то, что прямой доступ / изменение файлов в файловой системе вашего дистрибутива Linux с помощью приложений или инструментов Windows не поддерживается. См .: Не изменять файлы Linux с помощью приложений и инструментов Windows

Отличаются ли файлы на диске Linux от подключенного диска Windows?

  1. Файлы в корневом каталоге Linux (например, /) управляются WSL, имитирующим поведение Linux, включая, помимо прочего:

    • Файлы, содержащие недопустимые символы имени файла Windows
    • Символических ссылок, созданных для пользователей без прав администратора
    • Изменение атрибутов файла с помощью chmod и chown
    • Чувствительность к регистру файлов / папок
  2. Файлы на подключенных дисках управляются Windows и имеют следующее поведение:

    • Поддержка чувствительности к регистру
    • Все разрешения настроены так, чтобы наилучшим образом отражать разрешения Windows

Почему при запуске apt-get upgrade возникает так много ошибок?

В некоторых пакетах используются функции, которые мы еще не реализовали.Например, udev еще не поддерживается и вызывает несколько ошибок apt-get upgrade .

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

  1. Напишите следующее на /usr/sbin/policy-rc.d и сохраните изменения.

      #! / Bin / sh выход 101  
  2. Добавить разрешения на выполнение в /usr/sbin/policy-rc.d

      chmod + x /usr/sbin/policy-rc.d  
  3. Выполните следующие команды

      dpkg-divert --local --rename --add / sbin / initctl ln -s / bin / true / sbin / initctl  

Как удалить распространение WSL?

В сборках до 1709 (16299) откройте командную строку и запустите:

  lxrun / uninstall / full  
Дистрибутивы WSL

, установленные из магазина, можно удалить, как и любое другое приложение Windows, щелкнув правой кнопкой мыши плитку приложения и выбрав «Удалить», или через PowerShell с помощью командлета Remove-AppxPackage .

Почему ping генерирует ошибки отказа в разрешении?

В сборках WSL <14926 ping требовал, чтобы WSL запускался через консоль с повышенными привилегиями. Эта проблема была исправлена ​​в сборке 14926 и более поздних версиях.

Как запустить сервер OpenSSH?

Для запуска OpenSSH в WSL требуются права администратора в Windows. Чтобы запустить сервер OpenSSH, запустите Bash в Ubuntu в Windows от имени администратора или запустите bash.exe из командной строки CMD / PowerShell с правами администратора.

Почему я получаю «Ошибка: 0x80040306» при попытке установить?

WSL не поддерживает работу в устаревшей консоли.Чтобы выключить устаревшую консоль:

  1. Откройте WSL, PowerShell или Cmd
  2. Щелкните строку заголовка правой кнопкой мыши -> Свойства -> снимите флажок "Использовать устаревшую консоль"
  3. Нажмите ОК

Почему я получаю сообщение «Ошибка: 0x80040154» при запуске bash.exe после обновления Windows?

Функция «Подсистема Windows для Linux» может быть отключена во время обновления Windows. Если это произойдет, необходимо повторно включить функцию Windows. Инструкции по включению функции «Подсистема Windows для Linux» можно найти в Руководстве по установке.

Как изменить язык отображения WSL?

Установка

WSL попытается автоматически изменить локаль Ubuntu в соответствии с локалью вашей установки Windows. Если вы не хотите этого поведения, вы можете запустить эту команду, чтобы изменить локаль Ubuntu после завершения установки. Вам придется перезапустить bash.exe, чтобы это изменение вступило в силу.

В приведенном ниже примере языковой стандарт изменяется на en-US:

  sudo update-locale LANG = en_US.UTF8  

Почему у меня нет доступа в Интернет из WSL?

Некоторые пользователи сообщали о проблемах с определенными приложениями брандмауэра, блокирующими доступ в Интернет в WSL.Сообщается о межсетевых экранах:

  1. Касперский
  2. СРЕДНЕЕ
  3. Avast

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

Как мне получить доступ к порту из WSL в Windows?

WSL использует IP-адрес Windows, так как он работает в Windows. Таким образом, вы можете получить доступ к любым портам на локальном хосте, например. если у вас есть веб-контент на порту 1234, вы можете https: // localhost: 1234 в своем браузере Windows.

Как я могу создать резервную копию своих дистрибутивов WSL или перенести их с одного диска на другой?

Лучший способ резервного копирования или перемещения ваших дистрибутивов - использовать команды экспорта / импорта, доступные в Windows версии 1809 и новее. Вы можете экспортировать весь свой дистрибутив в архив с помощью команды wsl --export . Затем вы можете импортировать этот дистрибутив обратно в WSL с помощью команды wsl --import , которая может указать новое местоположение на диске для импорта, что позволит вам создавать резервные копии и сохранять состояния (или перемещать) ваши дистрибутивы WSL.

Обратите внимание, что традиционные службы резервного копирования, которые создают резервные копии файлов в ваших папках Appdata (например, Windows Backup), не повреждают ваши файлы Linux.

Где я могу оставить отзыв?

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

Если у вас есть технические проблемы или вы хотите запросить новые функции, перейдите в нашу систему отслеживания проблем Github:

Если вы хотите быть в курсе последних новостей WSL, вы можете сделать это с помощью:

.

Как обмениваться файлами между компьютером Linux и Windows

Обновлено: 13 ноября 2018 г., компания Computer Hope

Самый простой и надежный способ обмена файлами между компьютерами Linux и Windows в одной локальной сети - это использовать протокол обмена файлами Samba. Все современные версии Windows поставляются с установленной Samba, и Samba установлена ​​по умолчанию в большинстве дистрибутивов Linux.

Создать общую папку в Windows

Сначала создайте общую папку на вашем компьютере с Windows.

  1. Откройте панель управления.
  2. Перейдите к Параметры сети и общего доступа .
  3. Перейти к Изменить дополнительные параметры общего доступа .
  4. Выберите Включите обнаружение сети и Включите общий доступ к файлам и принтерам .

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

  1. Щелкните папку правой кнопкой мыши и выберите Свойства .
  2. Перейдите на вкладку Общий доступ .
  3. Над кнопкой Share находится сетевое имя создаваемого вами общего ресурса. Он должен выглядеть так: \\ ИМЯ КОМПЬЮТЕРА \ Users \ ИмяПользователя \ ИмяПапки . Запишите это имя сети, чтобы использовать его позже на вашем компьютере с Linux.
  4. Нажмите Поделиться .

Доступ к общей папке Windows из Linux с помощью Konqueror

Многие дистрибутивы Linux используют среду рабочего стола KDE и файловый менеджер / браузер Konqueror. Если это то, что вы используете, вы можете выполнить следующие действия, чтобы получить доступ к общей папке Windows:

  1. Щелкните значок меню K.
  2. Выберите Интернет -> Konqueror .
  3. В открывшемся окне Konqueror щелкните ссылку Сетевые папки или введите remote: / в адресной строке и нажмите Enter.
  4. Щелкните значок Samba Shares .
  5. Щелкните значок рабочей группы Windows Home .
  6. Щелкните значок Workgroup .
  7. Щелкните значок своего компьютера.
  8. При появлении запроса введите имя пользователя и пароль для учетной записи Windows, которая создала общий ресурс.
  9. Щелкните ОК .

Доступ к общей папке Windows из Linux с помощью Nautilus

Многие дистрибутивы Linux, особенно те, которые используют среду рабочего стола GNOME, используют файловый менеджер Nautilus. Если это то, что вы используете, вы можете выполнить следующие действия, чтобы получить доступ к общей папке Windows:

  1. Откройте Наутилус.
  2. В меню Файл выберите Подключиться к серверу ...
  3. В раскрывающемся списке Тип службы: выберите Общий ресурс Windows .
  4. В поле Сервер: введите имя вашего компьютера.
  5. Нажмите Подключиться .

Также можно ввести в адресной строке Nautilus smb: // ComputerName / ShareName и нажать Enter. Например, при создании общего ресурса Windows, если имя общего ресурса было указано как

 \\ ИМЯ ВАШЕГО КОМПЬЮТЕРА \ Users \ YourUserName \ ShareFolderName 

Введите smb: // ИМЯ КОМПЬЮТЕРА / Пользователи / ИмяПользователя / ИмяПапки и нажмите Enter.Обратите внимание на smb: в начале; в Linux используйте косую черту вместо обратной.

Доступ к общей папке Windows из Linux с помощью командной строки

Вы также можете получить доступ к общему ресурсу Windows из командной строки Linux с помощью программы smbclient.

  1. Откройте терминал.
  2. Введите smbclient в командной строке.
  3. Если вы получили сообщение «Использование:», это означает, что программа smbclient установлена, и вы можете перейти к следующему шагу.Однако, если команда не найдена, вам необходимо установить smbclient. Чтобы установить его, выполните следующие действия.
    1. Если вы используете менеджер пакетов apt, который используется по умолчанию в таких системах Linux, как Ubuntu или Debian, вы можете использовать команду sudo apt-get install smbclient .
    2. Если вы используете менеджер пакетов yum, который используется по умолчанию в системах Linux, таких как CentOS, вы можете использовать команду sudo yum install samba-client .
    3. Вы также можете загрузить клиент Samba прямо с www.samba.org/samba/download/, который может быть вам полезен, если вам нужно или вы хотите скомпилировать программу из исходного кода.
  4. Установив smbclient, вы можете подключиться к общему ресурсу Windows с помощью команды smbclient // ComputerName / ShareName -U Username . Например, если ваше имя пользователя Windows - Fred , а ваше сетевое имя общего ресурса Windows - \\ YOURCOMPUTERNAME \ Users \ YourUserName \ ShareFolderName , используйте команду smbclient // YOURCOMPUTERNAME / Users / YourUserName / ShareFolderName -U Fred .Обратите внимание, что команда Linux использует косую черту вместо обратной).
  5. Введите свой пароль.
  6. После аутентификации вы попадаете в приглашение smb: \> .
  7. Здесь вы можете использовать команду ls для вывода списка файлов.
  8. Используйте команду get filename.ext для переноса файла с именем filename.ext, например, из общего ресурса Windows на компьютер Linux.
  9. Введите help , чтобы просмотреть список дальнейших команд.
  10. Введите quit или exit , чтобы вернуться в командную строку.
.

Глубокое погружение в то, как WSL позволяет Windows получать доступ к файлам Linux

Craig

Три месяца назад мы объявили, что подсистема Windows для Linux сможет получать доступ к файлам Linux из Windows в сообщении блога: Что нового для WSL в Windows 10 версии 1903, и в сегодняшнем посте мы покажем вам, как мы сделали эти изменения возможными.

Мы продолжаем серию глубоких погружений на интерактивной доске (полный список вы можете найти здесь) с новым видео, в котором Свен Гроот и Крейг Лёвен объясняют полную архитектуру этой новой функции.Вы можете рассчитывать узнать о том, как WSL в настоящее время обращается к файлам Linux, как мы добавили файловый сервер 9P в процесс инициализации каждого дистрибутива Linux и как Windows взаимодействует с этим файловым сервером 9P для взаимодействия с файлами Linux внутри вашего дистрибутива. Итак, возьмите кофе и перекусите, сядьте, расслабьтесь и наслаждайтесь этим взглядом за кулисы WSL!

Вы также можете просмотреть это видео на канале 9 и на YouTube.

Мы явно не упоминаем WSL 2 в видео выше, так как во время съемок мы все еще дорабатывали детали WSL 2, и, в конечном итоге, очень мало изменений в нашем объяснении того, как доступ к файлам Linux из Windows осуществляется с помощью новая архитектура.

Единственное отличие от объяснения в видео заключается в том, где хранятся сами файлы Linux. В WSL 1 эти файлы Linux хранятся на диске Windows (который использует файловую систему NT), а в WSL 2 эти файлы Linux хранятся на виртуальном жестком диске, который использует файловую систему EXT4. Все остальные детали доступа к файлам остаются неизменными.

Если у вас есть дополнительные вопросы о том, как мы используем файловый сервер 9P, доступ к файлам Linux или просто о WSL в целом, вы можете найти список членов нашей команды в Twitter здесь! Не стесняйтесь обращаться к нам, чтобы задать нам любые вопросы и дать предложения по любым другим глубоким погружениям, которые вы хотели бы увидеть.

Крейг Лёвен

Менеджер программы, платформа для разработчиков Windows

Следуйте

.

Управление дистрибутивами Linux | Документы Microsoft

  • 10 минут на чтение

В этой статье

Способы запуска WSL

Есть несколько способов запустить дистрибутив Linux с WSL после его установки.

  1. Откройте свой дистрибутив Linux, зайдя в меню «Пуск» Windows и введя название установленных дистрибутивов.Например: «Ubuntu».
  2. В командной строке Windows или PowerShell введите имя установленного дистрибутива. Например: ubuntu
  3. В командной строке Windows или PowerShell, чтобы открыть дистрибутив Linux по умолчанию в текущей командной строке, введите: wsl.exe .
  4. В командной строке Windows или PowerShell, чтобы открыть дистрибутив Linux по умолчанию в текущей командной строке, введите: wsl [command] .

Какой метод вы должны использовать, зависит от того, что вы делаете.Если вы открыли командную строку WSL в окне Windows Prompt или PowerShell и хотите выйти, введите команду: exit .

Запуск WSL по раздаче

Запуск дистрибутива с использованием приложения для конкретного дистрибутива запускает этот дистрибутив в собственном окне консоли.

Это то же самое, что нажать «Запустить» в магазине Microsoft.

Вы также можете запустить распространение из командной строки, запустив [распространение].exe .

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

Пример: (с использованием PowerShell)

  PS C: \ Users \ sarah> pwd Путь ---- C: \ Пользователи \ Сара PS C: \ Users \ sarah> убунту Скули @ Скули-Элмер: ~ $ pwd / домой / Скули scooley @ scooley-elmer: ~ $ exit выйти PS C: \ Пользователи \ Сара>  

wsl и wsl [команда]

Лучший способ запустить WSL из командной строки - использовать wsl.exe .

Пример: (с использованием PowerShell)

  PS C: \ Users \ sarah> pwd Путь ---- C: \ Пользователи \ Сара PS C: \ Пользователи \ Сара> WSL scooley @ scooley-elmer: / mnt / c / Users / sarah $ pwd / mnt / c / Users / Сара  

wsl не только сохраняет текущий рабочий каталог на месте, но и позволяет запускать одну команду вместе с командами Windows.

Пример: (с использованием PowerShell)

  PS C: \ Users \ sarah> Дата получения 11 марта 2018 г. 19:54:05 PS C: \ Пользователи \ Сара> WSL scooley @ scooley-elmer: / mnt / c / Users / sarah $ date Вс 11 мар 19:55:47 DST 2018 scooley @ scooley-elmer: / mnt / c / Users / sarah $ exit выйти PS C: \ Users \ sarah> дата WSL Вс 11 мар 19:56:57 DST 2018  

Пример: (с использованием PowerShell)

  PS C: \ Users \ sarah> Get-VM Имя Состояние CPUUsage (%) Назначенная память (M) Состояние работоспособности ---- ----- ----------- ----------------- ------ ------ Server17093 Выкл. 0 0 00:00:00 Opera... Ubuntu Off 0 0 00:00:00 Opera ... Ubuntu (bionic) Выкл. 0 0 00:00:00 Opera ... Windows выключена 0 0 00:00:00 Opera ... PS C: \ Users \ sarah> Get-VM | wsl grep "Ubuntu" Ubuntu Off 0 0 00:00:00 Opera ... Ubuntu (bionic) Выкл. 0 0 00:00:00 Opera ... PS C: \ Пользователи \ Сара>  

Управление несколькими дистрибутивами Linux

В Windows 10 версии 1903 и более поздних можно использовать wsl.exe для управления вашими дистрибутивами в подсистеме Windows для Linux (WSL), включая перечисление доступных дистрибутивов, установку дистрибутива по умолчанию и удаление дистрибутивов.

Каждый дистрибутив Linux независимо управляет своими собственными конфигурациями. Чтобы увидеть команды для конкретного дистрибутива, запустите [distro.exe] /? . Например ubuntu /? .

Список рассылок

wsl -l , wsl --list
Перечисляет доступные дистрибутивы Linux, доступные для WSL.Если дистрибутив присутствует в списке, он установлен и готов к использованию.

wsl --list - все Список всех дистрибутивов, включая те, которые в настоящее время не используются. Они могут быть в процессе установки, удаления или неисправны.

wsl --list --running Перечисляет все запущенные дистрибутивы.

Установить распределение по умолчанию

Распространение WSL по умолчанию - это тот, который запускается при запуске wsl из командной строки.

wsl -s <Имя распределения> , wsl --setdefault <Имя распределения>

Устанавливает для распределения по умолчанию значение .

Пример: (с использованием PowerShell)
wsl -s Ubuntu установит мой дистрибутив по умолчанию на Ubuntu. Теперь, когда я запускаю wsl npm init , он будет работать в Ubuntu. Если я запустил wsl , он откроет сеанс Ubuntu.

Отменить регистрацию и переустановить дистрибутив

Хотя дистрибутивы Linux можно установить через магазин Microsoft, их нельзя удалить через магазин.WSL Config позволяет отменять регистрацию / удаление дистрибутивов.

Отмена регистрации также позволяет переустановить дистрибутивы.

Внимание: После отмены регистрации все данные, настройки и программное обеспечение, связанные с этим дистрибутивом, будут безвозвратно потеряны. При повторной установке из магазина будет установлена ​​чистая копия дистрибутива.

wsl --unregister
Отменяет регистрацию дистрибутива в WSL, чтобы его можно было переустановить или очистить.

Например: wsl --unregister Ubuntu удалит Ubuntu из дистрибутивов, доступных в WSL. Когда я запускаю wsl --list , он не отображается.

Для переустановки найдите дистрибутив в магазине Microsoft и выберите «Запустить».

Запуск от имени конкретного пользователя

wsl -u <имя пользователя> , wsl --user <имя пользователя>

Запустите WSL от имени указанного пользователя. Обратите внимание, что пользователь должен существовать внутри дистрибутива WSL.

Изменить пользователя по умолчанию для дистрибутива

<Имя распространения> config --default-user <Имя пользователя>

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

Например: ubuntu config --default-user johndoe изменит пользователя по умолчанию для дистрибутива Ubuntu на пользователя «johndoe».

Примечание

Если у вас возникли проблемы с определением имени вашего дистрибутива, см. Список дистрибутивов для команды, чтобы вывести официальное название установленных дистрибутивов.

Запуск определенного дистрибутива

wsl -d <Имя распространения> , wsl --distribution <Имя распространения>

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

Управление несколькими дистрибутивами Linux в более ранних версиях Windows

В Windows 10 до версии 1903 инструмент командной строки WSL Config ( wslconfig.exe ) должен использоваться для управления дистрибутивами Linux, работающими в подсистеме Windows для Linux (WSL).Он позволяет вам перечислить доступные дистрибутивы, установить дистрибутив по умолчанию и удалить дистрибутивы.

Хотя WSL Config полезен для настроек, которые охватывают или координируют дистрибутивы, каждый дистрибутив Linux независимо управляет своими собственными конфигурациями. Чтобы увидеть команды для конкретного дистрибутива, запустите [distro.exe] /? . Например ubuntu /? .

Чтобы увидеть все доступные параметры для wslconfig, выполните: wslconfig /?

  wslconfig.exe Выполняет административные операции в подсистеме Windows для Linux Применение: / l, / list [/ all] - выводит список зарегистрированных дистрибутивов./ all - необязательно перечислить все дистрибутивы, включая дистрибутивы, в настоящее время устанавливаются или удаляются. / s, / setdefault  - Устанавливает указанный дистрибутив по умолчанию. / u, / unregister  - отменить регистрацию распределения.  

Чтобы перечислить распределения, используйте:

wslconfig / list
Перечисляет доступные дистрибутивы Linux, доступные для WSL. Если дистрибутив присутствует в списке, он установлен и готов к использованию.

wslconfig / list / all
Выводит список всех дистрибутивов, включая те, которые в настоящее время нельзя использовать. Они могут быть в процессе установки, удаления или неисправны.

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

wslconfig / setdefault <Имя распределения> Устанавливает для распределения по умолчанию значение .

Пример: (с использованием PowerShell)
wslconfig / setdefault Ubuntu установит мой дистрибутив по умолчанию на Ubuntu.Теперь, когда я запускаю wsl npm init , он будет работать в Ubuntu. Если я запустил wsl , он откроет сеанс Ubuntu.

Чтобы отменить регистрацию и переустановить дистрибутив:

wslconfig / unregister
Отменяет регистрацию распространения в WSL, чтобы его можно было переустановить или очистить.

Например: wslconfig / unregister Ubuntu удалит Ubuntu из дистрибутивов, доступных в WSL. Когда я запускаю wslconfig / list , он не отображается.

Для переустановки найдите дистрибутив в магазине Microsoft и выберите «Запустить».

Настройте параметры запуска для каждого дистрибутива с помощью wslconf

Доступно в Windows Build 17093 и более поздних версиях

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

Прямо сейчас это включает параметры автоматического монтирования и конфигурацию сети.

wsl.conf находится в каждом дистрибутиве Linux в каталоге /etc/wsl.conf . Если файла нет, вы можете создать его самостоятельно. WSL обнаружит наличие файла и прочитает его содержимое. Если файл отсутствует или имеет неправильный формат (то есть неправильное форматирование разметки), WSL продолжит запускаться в обычном режиме.

Вот пример файла wsl.conf , который вы можете добавить в свои дистрибутивы:

  # Включить дополнительные параметры метаданных по умолчанию [автомонтировать] enabled = true корень = / windir / options = "метаданные, umask = 22, fmask = 11" mountFsTab = ложь # Включить DNS - даже если они включены по умолчанию, мы укажем здесь просто для явного указания.[сеть] generateHosts = true generateResolvConf = true  

Параметры конфигурации

В соответствии с соглашениями .ini ключи объявляются в разделе.

WSL поддерживает два раздела: автомонтаж и сеть .

автомонтаж

Раздел: [автомонтаж]

.
ключ значение по умолчанию банкнот
включено логический правда true вызывает фиксированные диски (т.е.e C: / или D: / ) для автоматической установки с DrvF под / mnt . false означает, что диски не будут смонтированы автоматически, но вы все равно можете смонтировать их вручную или через fstab .
mountFsTab логический правда true устанавливает / etc / fstab для обработки при запуске WSL. / etc / fstab - это файл, в котором вы можете объявить другие файловые системы, например общий ресурс SMB. Таким образом, вы можете автоматически монтировать эти файловые системы в WSL при запуске.
корень Строка / мнт / Задает каталог, в который будут автоматически монтироваться фиксированные диски. Например, если у вас есть каталог в WSL по адресу / windir / , и вы указываете его в качестве корневого, вы ожидаете увидеть свои фиксированные диски, смонтированные в / windir / c
опции список значений, разделенных запятыми пустая строка Это значение добавляется к строке параметров монтирования DrvFs по умолчанию. Можно указать только параметры, специфичные для DrvFs. Параметры, которые двоичный файл монтирования обычно анализирует во флаг, не поддерживаются. Если вы хотите явно указать эти параметры, вы должны включить каждый диск, для которого вы хотите сделать это, в / etc / fstab.

По умолчанию WSL устанавливает для uid и gid значение пользователя по умолчанию (в дистрибутиве Ubuntu пользователь по умолчанию создается с uid = 1000, gid = 1000). Если пользователь явно указывает параметр gid или uid с помощью этого ключа, связанное значение будет перезаписано.В противном случае всегда будет добавляться значение по умолчанию.

Примечание: Эти параметры применяются как варианты монтажа для всех автоматически устанавливаемых дисков. Чтобы изменить параметры только для определенного диска, используйте / etc / fstab.

Варианты крепления

Установка различных параметров монтирования для дисков Windows (DrvFs) может управлять вычислением разрешений для файлов Windows. Доступны следующие варианты:

Ключ Описание По умолчанию
идентификатор пользователя Идентификатор пользователя, используемый для владельца всех файлов Идентификатор пользователя по умолчанию для вашего дистрибутива WSL (при первой установке по умолчанию 1000)
гид ID группы, используемый для владельца всех файлов Идентификатор группы по умолчанию для вашего дистрибутива WSL (при первой установке это значение по умолчанию 1000)
маска Восьмеричная маска разрешений для исключения для всех файлов и каталогов 000
маска Восьмеричная маска разрешений для исключения для всех файлов 000
маска Восьмеричная маска разрешений для исключения для всех каталогов 000
метаданные Добавляются ли метаданные в файлы Windows для поддержки разрешений системы Linux включен

Примечание: Маски разрешений перед применением к файлам или каталогам вводятся с помощью логической операции ИЛИ.

сеть

Метка секции: [сеть]

ключ значение по умолчанию банкнот
generateHosts логический правда true устанавливает WSL для создания / etc / hosts . Файл hosts и содержит статическую карту имен хостов, соответствующих IP-адресу.
generateResolvConf логический правда true установить WSL для создания / etc / resolv.conf . resolv.conf содержит список DNS, который может преобразовать заданное имя хоста в его IP-адрес.
взаимодействие

Метка раздела: [interop]

Эти параметры доступны в сборке Insider Build 17713 и более поздних версиях.

ключ значение по умолчанию банкнот
включено логический правда Установка этого ключа определяет, будет ли WSL поддерживать запуск процессов Windows.
appendWindowsPath логический правда Установка этого ключа определяет, будет ли WSL добавлять элементы пути Windows в переменную среды $ PATH.
пользователь

Метка раздела: [пользователь]

Эти параметры доступны в сборке 18980 и более поздних версиях.

ключ значение по умолчанию банкнот
по умолчанию строка Первоначальное имя пользователя, созданное при первом запуске Установка этого ключа указывает, от какого пользователя следует запускать первый сеанс WSL.

Настройте глобальные параметры с помощью .wslconfig

Доступно в Windows Build 19041 и более поздних версиях

Вы можете настроить глобальные параметры WSL, поместив файл .wslconfig в корневой каталог папки пользователей: C: \ Users \ \ .wslconfig . Многие из этих файлов относятся к WSL 2, имейте в виду, что вам может потребоваться запустить wsl --shutdown , чтобы выключить виртуальную машину WSL 2, а затем перезапустить экземпляр WSL, чтобы эти изменения вступили в силу.

Вот пример файла .wslconfig:

  [WSL2] ядро = C: \ temp \ myCustomKernel memory = 4GB # Ограничивает виртуальную память в WSL от 2 до 4 ГБ processors = 2 # Заставляет виртуальную машину WSL 2 использовать два виртуальных процессора  

Этот файл может содержать следующие параметры:

Настройки WSL 2

Метка секции: [wsl2]

Эти параметры влияют на виртуальную машину, которая поддерживает любое распространение WSL 2.

ключ значение по умолчанию банкнот
ядро ​​ строка Ядро, созданное Microsoft, предоставило папку «Входящие» Абсолютный путь Windows к настраиваемому ядру Linux.
память размер 50% от общего объема памяти в Windows или 8 ГБ, в зависимости от того, что меньше; в сборках до 2017 г .: 80% от общей памяти в Windows Какой объем памяти назначить виртуальной машине WSL 2.
процессоров номер Такое же количество процессоров в Windows Сколько процессоров назначить виртуальной машине WSL 2.
localhostForwarding логический правда Логическое значение, указывающее, должны ли порты, привязанные к подстановочному знаку или локальному хосту в виртуальной машине WSL 2, быть подключенными с хоста через localhost: port.
ядроCommandLine строка Пустой Дополнительные аргументы командной строки ядра.
своп размер 25% объема памяти в Windows с округлением до ближайшего ГБ Сколько места подкачки добавить к виртуальной машине WSL 2, 0 - без файла подкачки.
файл подкачки строка % ПРОФИЛЬ ПОЛЬЗОВАТЕЛЯ% \ AppData \ Local \ Temp \ swap.vhdx Абсолютный путь Windows к виртуальному жесткому диску подкачки.
  • Примечание. Это значение верно для сборки Windows 19041 и может отличаться в сборках Windows в программе предварительной оценки
  • .

Записи со значением path должны быть путями Windows с экранированными обратными косыми чертами, например: C: \\ Temp \\ myCustomKernel

Записи с размером должны иметь размер, за которым следует единица измерения, например 8 ГБ или 512 МБ .

.

Командная строка Linux для начинающих

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

  mkdir / tmp / tutorial cd / tmp / учебник  

Обратите внимание на использование абсолютного пути, чтобы убедиться, что мы создали каталог tutorial внутри / tmp .Без косой черты в начале команда mkdir попытается найти каталог tmp внутри текущего рабочего каталога, а затем попытается создать внутри него каталог tutorial . Если он не может найти каталог tmp , команда завершится ошибкой.

Если вы не догадались, mkdir - это сокращение от « m a k e dir ectory». Теперь, когда мы в безопасности в нашей тестовой области (дважды проверьте с помощью pwd , если вы не уверены), давайте создадим несколько подкаталогов:

  mkdir dir1 dir2 dir3  

В этой команде есть несколько отличий.До сих пор мы видели только команды, которые работают сами по себе ( cd , pwd ) или имеют один элемент после ( cd / , cd ~ / Desktop ). Но на этот раз мы добавили три вещи после команды mkdir . Эти вещи называются параметрами или аргументами , и разные команды могут принимать разное количество аргументов. Команда mkdir ожидает по крайней мере один аргумент, тогда как команда cd может работать с нулем или единицей, но не более.Посмотрите, что произойдет, если вы попытаетесь передать команде неправильное количество параметров:

  mkdir cd / etc ~ / Рабочий стол  

Вернуться в наши новые каталоги. Приведенная выше команда создаст три новых подкаталога внутри нашей папки. Давайте посмотрим на них с помощью команды ls ( l i s t):

  ls  

Если вы выполнили несколько последних команд, ваш терминал должен выглядеть примерно так:

Обратите внимание, что mkdir создал все папки в одном каталоге.Это не создавало dir3 внутри dir2 внутри dir1 или любой другой вложенной структуры. Но иногда бывает удобно сделать именно это, и у mkdir есть способ:

  mkdir -p dir4 / dir5 / dir6 ls  

На этот раз вы увидите, что в список добавлено только dir4 , потому что dir5 находится внутри него, а dir6 находится внутри него.Позже мы установим полезный инструмент для визуализации структуры, но у вас уже есть достаточно знаний для подтверждения:

  cd dir4 ls cd dir5 ls CD ../..  

Используемый нами «-p» называется опцией или переключателем (в данном случае это означает «также создать каталоги p arent»). Параметры используются для изменения способа работы команды, позволяя одной команде вести себя по-разному.К сожалению, из-за причуд истории и человеческой природы параметры могут принимать разные формы в разных командах. Вы часто будете видеть их как отдельные символы, которым предшествует дефис (как в этом случае), или как более длинные слова, которым предшествуют два дефиса. Односимвольная форма позволяет комбинировать несколько параметров, хотя не все команды допускают это. И что еще больше запутывает ситуацию, некоторые команды вообще не идентифицируют свои параметры четко, независимо от того, является ли что-то одним из вариантов, определяется исключительно порядком аргументов! Вам не нужно беспокоиться обо всех возможностях, просто знайте, что варианты существуют, и они могут принимать разные формы.Например, все следующие слова означают одно и то же:

  # Не вводите их, они здесь только для демонстрационных целей. mkdir --parents --verbose dir4 / dir5 mkdir -p --verbose dir4 / dir5 mkdir -p -v dir4 / dir5 mkdir -pv dir4 / dir5  

Теперь мы знаем, как создать несколько каталогов, просто передав их в качестве отдельных аргументов команде mkdir . Но предположим, что мы хотим создать каталог с пробелом в имени? Давайте попробуем:

  mkdir другая папка ls  

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

  mkdir "folder 1" mkdir 'папка 2' папка mkdir \ 3 mkdir "папка 4" "папка 5" mkdir -p "папка 6" / "папка 7" ls  

Хотя командную строку можно использовать для работы с файлами и папками с пробелами в именах, необходимость экранировать их кавычками или обратной косой чертой немного усложняет задачу.Часто можно сказать человеку, который много пользуется командной строкой, просто по его именам файлов: они, как правило, используют буквы и цифры и используют символы подчеркивания («_») или дефисы («-») вместо пробелов.

Создание файлов с использованием перенаправления

Наша демонстрационная папка начинает наполняться каталогами, но в ней немного не хватает файлов. Давайте исправим это, перенаправив вывод команды так, чтобы вместо вывода на экран он попал в новый файл. Во-первых, напомните себе, что сейчас показывает команда ls :

  ls  

Предположим, мы хотим записать вывод этой команды в виде текстового файла, который мы можем просматривать или изменять дальше.Все, что нам нужно сделать, это добавить символ «больше» (">") в конец нашей командной строки, а затем имя файла для записи:

  ls> output.txt  

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

  cat output.текст  

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

  echo "Это тест"  

Да, echo просто снова выводит свои аргументы (отсюда и название). Но совместите это с переадресацией, и вы сможете легко создавать небольшие тестовые файлы:

  echo "This is a test"> test_1.текст echo "Это второй тест"> test_2.txt echo "Это третий тест"> test_3.txt ls  

Вы должны cat каждого из этих файлов, чтобы отметить их содержимое. Но cat - это больше, чем просто программа для просмотра файлов - его название происходит от «con cat enate», что означает «связывать вместе». Если вы передадите более одного файла в cat , он выведет каждое из них, одно за другим, в виде одного блока текста:

  cat test_1.txt test_2.txt test_3.текст  

Если вы хотите передать несколько имен файлов одной команде, есть несколько полезных сочетаний клавиш, которые могут сэкономить вам много времени при вводе, если файлы имеют похожие имена. Знак вопроса («?») Может использоваться для обозначения «любого отдельного символа» в имени файла. Звездочка («*») может использоваться для обозначения «нуля или более символов». Иногда их называют «подстановочными знаками». Несколько примеров могут помочь, все следующие команды делают одно и то же:

  cat test_1.txt test_2.txt test_3.txt cat test _ ?. txt кошка test_ *  

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

Если вы посмотрите на результат ls , то заметите, что единственные файлы или папки, начинающиеся с «t», - это три тестовых файла, которые мы только что создали, так что вы можете даже упростить эту последнюю команду до cat t * , что означает «объединить все файлы, имена которых начинаются с t , за которыми следует ноль или более других символов».Давайте воспользуемся этой возможностью, чтобы объединить все наши файлы в один новый файл, а затем просмотрим его:

  cat t *> Commander.txt кот комбинированный.txt  

Как вы думаете, что произойдет, если мы выполним эти две команды во второй раз? Будет ли компьютер жаловаться, потому что файл уже существует? Добавит ли он текст в файл, чтобы он содержал две копии? Или полностью заменит? Попробуйте посмотреть, что произойдет, но, чтобы не вводить команды снова, вы можете использовать клавиши Стрелка вверх, и Стрелка вниз, , чтобы перемещаться вперед и назад по истории команд, которые вы использовали.Нажмите Стрелка вверх пару раз, чтобы перейти к первому cat , и нажмите Введите , чтобы запустить его, затем повторите то же самое еще раз, чтобы перейти ко второму.

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

  cat t * >> Commander.txt echo "Я добавил строку!" >> Combined.txt кот комбинированный.txt  

Повторите первую cat еще несколько раз, используя для удобства Стрелку вверх и, возможно, добавьте еще несколько произвольных команд echo , пока ваш текстовый документ не станет настолько большим, что он не поместится полностью. терминал сразу, когда вы используете cat для его отображения.Чтобы увидеть файл целиком, нам теперь нужно использовать другую программу, которая называется пейджером (потому что он отображает ваш файл по одной «странице»). Старый стандартный пейджер назывался или , потому что он помещает строку текста внизу каждой страницы с надписью «-More-», что означает, что вы еще не прочитали все. В наши дни есть гораздо лучший пейджер, который вы должны использовать вместо него: поскольку он заменяет на , программисты решили назвать его минус .

  за вычетом комбинированного.txt  

При просмотре файла через минус вы можете использовать клавиши Стрелка вверх , Стрелка вниз , Page Up , Page Down , Home и End для перемещения по файлу. Дайте им попробовать увидеть разницу между ними. По завершении просмотра файла нажмите q q uit минус и вернитесь в командную строку.

Примечание о регистре

Системы Unix чувствительны к регистру, то есть они учитывают «A.txt »и« a.txt »как два разных файла. Если бы вы запустили следующие строки, вы бы получили три файла:

  echo "Нижний регистр"> a.txt echo "Верхний регистр"> A.TXT echo "Смешанный регистр"> A.txt  

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

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

Хорошая практика именования
Когда вы учитываете как чувствительность к регистру, так и экранирование, хорошее практическое правило - сохранять имена файлов в нижнем регистре, только с буквами, цифрами, подчеркиванием и дефисом.Для файлов обычно также есть точка и несколько символов в конце, чтобы указать тип файла (так называемое «расширение файла»). Это руководство может показаться ограничительным, но если вы в конечном итоге будете использовать командную строку с какой-либо частотой, вы будете рады, что придерживались этого шаблона.

.

Смотрите также