Начинать работу с любой новой операционной системой может быть неприятно, потому что простейшие операции выполняются не так, как вы привыкли. Изучение этих различий между Windows и Linux может излечить головную боль.
Это ужасное чувство, как рыба, вытащенная из воды, когда самые простые операции заставляют вас зацикливаться. Естественно беспокоиться, что все остальное тоже будет непростым. Быстрый результат приводит к тому, что люди полностью опускают руки. Когда игра на мелководье настолько обескураживает, идея сделать решительный шаг становится непривлекательной.
Как это часто бывает, важнее всего мелочи. Итак, вот наш список мелочей, которые оказывают большое влияние на ваши первые несколько дней знакомства с командной строкой Linux в качестве пользователя Windows.
Чувствительность к регистру
В Linux имена файлов и каталогов чувствительны к регистру. В Windows это не так.
Давайте создадим несколько файлов, чтобы проиллюстрировать это. Если вы прочтете названия этих файлов вслух, все они будут звучать одинаково. Но, поскольку в них используется разное сочетание символов, в Linux это фактически разные названия.
touch unique-file.txt touch Unique-file.txt touch Unique-File.txt touch UNIQUE-file.txt ls
Команда touch создает файлы, а ls подтверждает, что они благополучно находятся в одном каталоге. В Windows, file.txt и FILE.TXT относятся к одному и тому же файлу.
Чувствительность Linux к регистру применяется и к именам каталогов.
mkdir sub1 mkdir Sub1 mkdir SUB1 ls -l
Все эти подкаталоги существуют в одном родительском каталоге.
Пути и разделители каталогов
Windows использует обратную косую черту \ в качестве разделителя путей к каталогу, но Linux использует /, косую черту в прямом направлении. Вам нужно будет сконцентрироваться, чтобы преодолеть мышечную память при наборе текста \.
pwd
\ восходит к выпуску MS-DOS в 1981 году, но / родился в 1971 году с первой версией Unix. Если бы MS-DOS также использовала /, этой проблемы не существовало бы.
Расширения файлов
В Windows расширения файлов сообщают операционной системе, какое приложение запускать при двойном щелчке по файлу. В Linux операционная система определяет тип файла, проверяя байты его заголовка.
Вы можете сделать это самостоятельно, используя команду file.
file mystery-file
Расширения файлов в Linux сообщают вам, пользователю, к какому типу относится тот или иной файл. Linux уже знает.
Вам также не нужно использовать определенное расширение для двоичных исполняемых файлов. В Linux нет эквивалента COM и EXE расширений в мире Windows. Исполняемый файл Linux может иметь любое расширение или вообще не иметь расширения.
do-some-work and-you.too
Скрытых файла и каталога
В Linux, если в имени файла или каталога в качестве первого символа стоит точка “.”, он будет скрыт. Чтобы скрыть файл в Windows, щелкните файл правой кнопкой мыши, выберите “Свойства”, установите флажок “Скрытый”, чтобы он был установлен, затем нажмите “ОК”.
Добавление опции -a (all) в списки команд ls включает скрытые файлы и каталоги в список.
touch new-file.txt touch .new-hidden-file.txt ls ls -a
Большинство файловых браузеров, таких как GNOME’s Files, поддерживают переключение между отображением и скрытием ваших скрытых файлов нажатием Ctrl + H. В проводнике Windows 11 на панели инструментов выберите “Вид” > “Показать”> “Скрытые элементы”, чтобы выполнить то же самое.
В файлах GNOME мы видим один файл без отображения скрытых файлов.
Нажатие Ctrl + H открывает скрытый файл.
Различий в командах
Команды терминала в Linux сильно отличаются от своих аналогов в Windows и часто имеют короткие названия. Конечная точка должна состоять из одной точки. В Linux ‘.’ указывает командной оболочке на исходный код или чтение файла.
Названия некоторых команд Linux, по крайней мере, указывают на их использование, например, cp для копирования и mv для перемещения. Другие более непрозрачны. Пользователи Windows знакомы с использованием dir в командной строке для перечисления файлов и каталогов, в то время как пользователи Linux вводят ls, что является сокращением от list .
Пользователи Windows PowerShell могут использовать cat для составления списка файлов, но cat в Linux объединяет файлы или выгружает их содержимое в окно терминала действием, аналогичным команде Windows type. Команда Linux type описывает команды и параметры, но не так, как это может быть в руководстве пользователя. Для этого используется команда man, сокращение от manual.
Для изменения каталогов вы используете cd на обеих платформах, но в Linux у вас нет идентификаторов дисков. Все, включая подключенные диски, является просто ответвлением каталога от root/directory.
Чтобы отличать опции команды от параметров, Linux использует – или – но Windows использует /.
Другое отличие заключается в том, что обычно команды Linux не сообщают об успехе. Придерживаясь позиции “отсутствие новостей – хорошая новость”, вы увидите результат только в том случае, если что-то пойдет не так. Если вас не предупредили о проблеме, предположите, что то, что вы только что сделали, сработало.
rm unwanted-file.txt
Файл удаляется автоматически. Кроме того, в rm нет корзины. Ваш файл пропал. Точка.
Мы не должны удивляться этим различиям. Разные платформы обязательно будут иметь разные наборы команд. Наш единственный ответ – принять изменения и выучить команды.
Используйте sudo вместо запуска от имени администратора
Пользователи Windows могут быть знакомы с опцией Запуска от имени администратора, которая находится в контекстном меню исполняемого файла, вызываемом правой кнопкой мыши. При этом программа запускается с повышенными разрешениями.
Эквивалентом в Linux является команда sudo. Перед командой с помощью sudo выполняется эта команда с повышенными разрешениями. Только пользователи, которым специально предоставлены разрешения, могут вызывать режим суперпользователя.
Вывод
Переход на любую новую операционную систему связан с обучением, и каким бы способом вы его ни выбрали, вам придется преодолевать эту кривую. Но если вы не разберетесь в основах, вы никогда не продвинетесь по этому пути.