Главная страница
Навигация по странице:

  • Описание

  • Работа с файлами и каталогами

  • Работа с томами и разделами

  • Управление системой.

  • Пользователи и группы.

  • Работа с сетью.

  • лабораторная по сетям. ИСТ-012_Голубев_МС_ЛР1. Доценту кафедры икд громову В. В


    Скачать 0.88 Mb.
    НазваниеДоценту кафедры икд громову В. В
    Анкорлабораторная по сетям
    Дата02.03.2023
    Размер0.88 Mb.
    Формат файлаdocx
    Имя файлаИСТ-012_Голубев_МС_ЛР1.docx
    ТипЛабораторная работа
    #964973



    Доценту кафедры

    ИКД Громову В.В.
    Лабораторная работа №1
    Я, Голубев Михаил Сергеевич, в ходе лабораторной работы №1 проанализировал разницу в командах терминала между 3 системами linux, Mac OS и Windows. Основная задача состоит в том, чтоб познакомиться с Linux и научиться работать в терминале, рассмотреть перемещение по каталогам, файлам работа с ними.

    Если смотреть на актуальность, то можно смело отметить, что Linux является Open Source (открытым программным обеспечением) в следствии чего, это бесплатный, а самое важное защищенный продукт, что я имею ввиду: Open Source дает то, что никакие ваши данные не будут украдены ни одной внутренней утилитой, если конечно в мне принесете ее из вне.
    Основная часть:

    Командная строка - это способ взаимодействия с компьютером. Она может использоваться для запуска программ (например на языке PHP) и для настройки некоторых программ.
    Рассмотрим терминал в каждой системе, для примера посмотрим какие файлы есть в текущем каталоге, далее разберем более подробно.
    Mac OS :

    Linux:

    Windows:

    Клавиши, работающие во всех операционных системах:


    • ↑,↓ — стрелки вверх и вниз в командной строке позволяют смотреть предыдущие введенные команды, чтобы 2 раза не набирать. В Windows при закрытии окошка консоли вся история теряется, в других ОС — сохраняется.

    • [tab] — автодополняет имена файлов и команды. Если в текущем каталоге есть файл file.txt, ты наберешь fi и нажмешь [tab] то он автодополнит имя файла (или предложит варианты, если таких файлов несколько).

    • [ctrl+c] — прерывает выполнение команды, например, если она долго тупит

    • Важно: клавиша Esc, как и многие привычные клавиши, **не работает** в командной строке. Клавиши Ctrl + C, V, X обычно не работают как «копировать/вырезать/вставить» (иногда для вставки можно использовать Shift + Ins). Клавиша Ctrl + Q не работает как «выход».


    Особенности линукса и мака:


    • В линуксе и маке, [ctrl+l] очищает экран, [ctrl+k] и [ctrl+u] удаляют все перед или после курсора, [ctrl+w] удаляет слово перед курсором, [ctrl+r] делает поиск по истории команд (для отмены поиска нажми [ctrl+c], escape в командной строке не работает, для завершения поиска нажми стрелку вправо/влево), [ctrl+d] завершает работу и закрывает консоль.

    • Еще в линуксе и маке иногда не работают Home и End, используй [ctrl+a], чтобы перейти в начало строки и [ctrl+e], чтобы в конец. [alt + b] \(back) и [alt + f] \(forward) двигают курсор на 1 слово назад/вперед.

    • В линуксовой и маковской файловой системе нет букв дисков. Пути к файлам там начинаются из единого корня, и используют прямой слеш (например `/home/ivan/file.txt`), а дополнительные диски (например USB-носители) монтируются в одну из папок внутри файловой системы (например `/mnt/flash`). В линуксе регистр букв в имени файла имеет значение.


    Особенности Windows


    • По умолчанию в Windows в консоли очень маленький и нечитаемый шрифт.

    • Пути к файлу в Windows используют бекслеш (например `d:\tmp\file.txt`), а регистр букв в них не имеет значения.


    Буфер обмена


    • В командной строке обычно не работает ctrl+v,c,x для вставки, копирования и вырезания текста. Иногда (зависит от настроек системы) вставить текст можно через [shift+ins], иногда правой кнопкой мыши.

    • Скопировать текст обычно можно, выделив мышью (в Windows надо разрешить выделение текста, нажав правой кнопкой на заголовок, зайдя в настройки окна, и также нажать Enter после выделения).


    Текущий каталог:
    В командной строке результат выполнения команд часто зависит от того, в каком каталоге и на каком диске вы находитесь. Также, когда вы указываете в команде относительное имя файла (без полного пути и имени диска), оно ищется в текущем каталоге.
    Какой каталог текущий, в Windows написано в подсказке, а в linux можно узнать командой `pwd` (print working directory)

    Чтобы перейти в другой каталог, в линуксе используют команду `cd`:
    cd / — перейти в корневой каталог (в линукс нет букв дисков, и корневой каталог один на всю систему)

    cd /etc/apache — перейти в каталог /etc/apache

    cd files — переходит в каталог files внутри текущего

    cd .. — переходит в родительский каталог

    cd ../.. — переходит на 2 уровня выше

    cd

    — перейти в свой домашний каталог (/home/anon например)

    cd /test — перейти в /home/anon/test

    В Windows, сначала надо перейти на нужный диск командой `c:`, `d:`, `e:` и так далее. Потом использовать `cd` или `chdir`:
    d: - перейти на диск d:

    cd \ — перейти в корневой каталог

    cd \windows\system32

    cd ..

    cd ..\..

    Обратите внимание, windows и linux используют разные виды слешей. Обратите внимание, `..` обозначает «родительский каталог». Обратите внимание, только в линукс и мак `` обозначает «домашний каталог» (это `/home/username` или `/Users/username`). `.` (одна точка) обозначает текущий каталог и `cd .` никуда не перейдет. `/` (линукс) или `\` (Windows) обозначает корневой каталог.

    В Windows 7 и выше можно открыть окно консоли с заданной текущей папкой. Есть 2 способа, как это сделать:
    1. зажав shift, щелкнуть правой кнопкой по пустому месту в открытом окне папки, из появившегося меню выбрать пункт «command line here» («открыть командную строку»)

    2. поставить курсор в адресную строку в окне папки, ввести cmd и нажать Enter
    Если вам часто в windows приходится открывать консоль в какой-то папке (например папке с твоими программами), ты можешь создать на рабочем столе ярлык (правой кнопкой на рабочем столе → создать ярлык → ввести cmd, нажать "Далее" → ввести название, нажать "Готово" → зайти в свойства ярлыка → указать рабочую папку, нажать "ОК"). При запуске ярлыка будет открываться командная строка с выбранной текущей папкой.
    В линуксе/маке, чтобы быстро перейти в нужную папку, можно набрать cd и перетащить в консоль иконку папки - должен вставиться полный путь к ней. Не гарантирую что это работает во всех дистрибутивах линукса, на маке работает.
    Очистка экрана
    В linux — команда `clear` или клавиша [ctrl+L], в windows — команда `cls` (clear screen).
    Список файлов


    • Посмотреть, какие файлы есть в текущем каталоге, можно командой `dir` в Windows и командой `ls` в линуксе (`ls -a` — показывает все файлы, включая скрытые, `ls -l` — показывает не только имена, но и размер, дату создания файла, права на него).

    • Посмотреть права на файл в Линукс можно либо командой `ls -l`, либо `stat file.txt`


    Команды и оболочка
    Оболочка — это cmd.exe в Windows и bash в линукс, это та программа, которая собственно мигает курсором и выполняет выши команды. Вы набираете команды, а она их выполняет. Команда обычно состоит из имени команды, и, иногда, дополнительных параметров, отделенных пробелом, вроде:
    ls — показать список файлов в линукс

    ls -l — показать файлы с подробностями

    dir — показать список файлов в windows с подробностями

    dir /b — показать только имена файлов, без подробностей
    Подсказка и получение помощи
    Почти у любой команды есть подсказки. Чтобы их увидеть, добавь к имени команды параметр (`--help` или `/?`):
    В линукс: `ls --help` — выведет справку по команде ls
    В линукс: `man bash` — выведет подробную длинную справку по команде bash (для выхода нажмите q,

    для прокрутки используйте стрелки и PgUp/PgDn). Также, `man bash` можно набирать в поисковой системе (Гугл, Яндекс) - скорее всего она покажет ссылку на тот же самый мануал.
    Также, для Линукса есть прекрасный сайт https://explainshell.com/ , который умеет для введенной команды находить мануал по ней и выводить объяснения каждого аргумента. Он полезен, когда ты видишь где-то в статье команду и хочешь понять, что делает каждая опция в ней. [Пример объяснения для команды ls -la /tmp](https://explainshell.com/explain?cmd=ls+-la+%2Ftmp). В Хроме и ФФ также можно нажать правой кнопкой мыши в поле поиска, выбрать там пункт вроде "Добавить как поисковую систему", задать для него ключевое слово (например, exp) и тогда запрос можно будет писать прямо в адресной строке браузера как `exp ls -la /tmp`.
    В Windows: `dir /?` — выведет справку по команде dir

    В Windows: `help` выведет подсказку по основным командам


    В Mac OS и Linux подсказку можно получить по команде «man man» рассмотрим на примере на примере Mac OS


    Виды команд
    Команды бывают внутренние (это маленький список команд, встроенных в оболочку). Встроенные команды — это, например, `cd` в линукс или `exit` в Windows. Их мало.
    Внешние команды — их большинство — это фактически программы, лежащие на диске. Оболочка ищет их не по всему диску, а только в заранее заданных папках. Список папок перечислен в специальной переменной PATH.

    Просмотреть эту переменную можно так:
    В линуксе: `echo $PATH`
    В windows: `echo %PATH%`
    В linux PATH — это папки /bin, /usr/bin, /usr/local/bin, /sbin, /usr/sbin, именно в них в Линуксе хранятся почти все программы. В текущем каталоге программы не ищутся, если это не указать явно, набрав `./command`.
    В Windows PATH — это всякие системные папки вроде c:\windows, c:\windows\system32 и так далее + текущий каталог, в котором вы находитесь. Заметь, что папки вроде c:\program files\autocad в PATH не добавлены и в Windows таким образом, из командной строки обычные программы, установленные в Program Files, не запустить. Только то, что положено в системные папки.
    Таким образом: если вы под линуксом, и ты набираешь команду `php`, то скорее всего файл php лежит в одной из *bin папок и эта команда запустит php. Если вы под Windows установил php допустим в c:\php, и не прописал этот путь в PATH, то набрав `php`, оболочка не найдет файл php.exe и ничего не запустит. И вы скажете «что за кривой мануал, ничего не работает».
    Что же делать? Есть 2 варианта:
    1. добавить папку с php в PATH через мой компьютер — свойства и перезалогиниться в систему

    2. писать вместо `php` полный путь `c:\php\php.exe`
    Продолжаем. Допустим, вы хотите запустить в командной строке файл my.php , который находится в текущем каталоге:
    Линукс: php my.php

    Windows: c:\php\php.exe my.php
    Допустим, вы хотите запустить php-файл не из текущего каталога. Тогда надо написать путь к нему:
    Линукс: php /some/dir/my.php

    Windows: c:\php\php.exe d:\files\my.php
    В общем, проще запускать файлы из текущего каталога, чем мучаться с путями.


    Больше команд — linux
    Попрактиковаться в линукс в командной строке можно на таких командах:
    - Создать текстовый файл: `cat > file.txt` [enter] ввести текст [enter][ctrl+d] — и файл создан

    - Создать текстовый файл содержащий данную строку: `echo Hello World > file.txt`

    - Просмотреть текстовый файл: `cat file.txt`

    - Просмотреть огромный текстовый файл, который не влезает на экран: `cat file.txt | less` или `less file.txt`. В просмотрщике работают стрелки и q для выхода (escape не работает).

    - Удалить файл: `rm file.txt`

    - Скопировать файл: `cp file.txt copy.txt`

    - Переместить/переименовать файл: `mv file.txt copy.txt`

    - Скопировать в другую папку: `cp file.txt /some/other/directory`

    - Запустить команду и сохранить ее вывод в файл, не выводя на экран: `ls -la > file.txt` (эта команда выведет список файлов, но не на экран, а сохранит в файл. Бывает иногда полезно).

    - Запустить команду, вывести результат на экран и сохранить в файл: `ls | tee -a file.txt`

    - Вывести файл, но не весь, а только первые 10 строк: `cat file.txt | head -10`

    - Вывести последние 10 строк файла: `cat file.txt | tail -10`

    - Следить за обновлением файлов и выводить в консоль новые строки, которые в них дописывают: `tail -f file1.txt file2.txt` (удобно так мониторить логи)

    - Вывести только строки файла, содержащие слово «dog»: `cat file.txt | grep -i dog` (`-i` значит игнорировать регистр букв)

    - Найти файлы, в имени которых есть «dog», в каталоге /tmp: `find /tmp -iname '*dog*'`

    - Узнать текущее время: `date`

    - Создать папку: `mkdir folder`

    - Удалить папку: `rm -r folder`

    - Померять, сколько времени выполнялась команда: `time [команда]`

    - Узнать свой id пользователя: `id`

    - Показать список запущенных процессов: `ps -lax`

    - Показать что-то вроде диспетчера задач: `top` (для выхода q)

    - Запустить редактор, из которого сложно выйти, так как никакие привычные кнопки не работают: `vi` (попробуйте `:q!` если все-таки в него попали)

    - Запустить нормальный редактор файла: `nano file.txt`
    Подробнее о работе команд можно узнать с помощью параметра `--help`, дописанного после команды.


    Больше команд - Windows
    Попрактиковаться в командной строке в Windows можно так:
    - `help` — выводит список полезных команд

    - `dir` — выводит файлы в каталоге

    - Создать текстовый файл: `copy con file.txt`[enter]ввести текст[enter][ctrl+z][enter] — файл создан

    - Просмотреть текстовый файл: `type file.txt`

    - Просмотреть огромный текстовый файл: `type file.txt | more` (enter — прокрутка, q — выход)

    - Удалить файл: `del file.txt`

    - Скопировать файл: `copy /b file.txt copy.txt`

    - Переименовать файл: `ren file.txt copy.txt`

    - Запустить команду и сохранить вывод в файл: `dir /? > file.txt`

    - Создать текстовый файл с одной строкой текста: `echo lalala lololo > file.txt`

    - Дописать строчку в конец файла: `echo boom >> file.txt`

    - Создать папку: `mkdir folder`

    - Удалить папку: `rmdir folder`

    - Узнать текущее время: `time` и `date` (ctrl+с для выхода)
    Подробнее о работе команд можно узнать с помощью параметра `/?`, дописанного после команды.

    Команды для работы с сетью Интернет
    В линукс: показать информацию о настройке сети: `ifconfig` (или `/sbin/ifconfig` если у тебя в PATH нет /sbin)
    В Windows показать информацию о сети: `ipconfig`
    Пропинговать (проверить связь) с сервером: `ping google.com`
    Узнать IP по имени домена: `nslookup yandex.ru`
    Показать список открытых с компьютера сетевых соединений: `netstat -an` (в подсказке по команде указаны также параметры, с помощью которых, например, можно вывести какая программа установила это соединение).
    Проверить путь до какого-то сервера или узла сети:
    - в Windows: `tracert google.com`

    - в linux: `traceroute google.com` (не работает? пишите `/usr/sbin/traceroute` или пропиши уже sbin в PATH)
    Если резюмировать все выше сказанное и добавить некоторые команды которые я не освещал, то можно составить таблицу с командами Windows и linux, Mac OS


    Описание

    Команда CMD Windows

    Команда Linux

    Команда

    Mac OS

    Вызов справочной системы

    HELP

    apropos, man, whatis

    apropos, man, whatis

    Вызов командного интерпретатора (оболочки)

    CMD

    bash, csh, sh

    bash, csh, sh

    Очистка экрана

    CLS

    clear, reset

    clear, reset

    Вывод сообщения на экран

    ECHO

    echo

    echo

    Пауза в работе

    PAUSE

    sleep

    sleep

    Настройка параметров терминала

    MODE

    stty

    stty

    Установка значений переменных окружения (указание путей к каталогам)

    PATH, SET, SETx

    env, set

    env, set

    Изменение системной даты

    DATE

    date

    date

    Изменение системного времени

    TIME

    date

    date

    Выход из командной строки

    EXIT

    exit

    exit

    Работа с файлами и каталогами










    Отображение списка файлов и каталогов

    DIR

    dir, ls

    dir, ls

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

    MKDIR

    mkdir

    mkdir

    Удаление каталога

    RMDIR

    rmdir

    rmdir

    Удаление файла

    DEL, ERASE

    rm

    rm

    Переход в другой каталог

    CD

    cd

    cd

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

    COPY, XCOPY

    cp

    cp

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

    REN, RENAME

    mv

    mv

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

    MOVE

    mv

    mv

    Поиск файла

    WHERE

    find, locate

    find, locate

    Вывод на экран содержимого файла

    TYPE, MORE

    cat, less, more

    cat, less, more

    Сравнение содержимого двух файлов

    COMP, FC

    cmp, diff, diff3, sdiff

    cmp, diff, diff3, sdiff

    Сортировка строк в текстовом файле

    SORT

    sort

    sort

    Изменение атрибутов файла

    ATTRIB

    chmod

    chmod

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

    MKLINK

    ln

    ln

    Резервное копирование данных

    ROBOCOPY

    cpio, tar

    cpio, tar

    Вызов текстового редактора

    EDIT (нет в Windows Vista и старше)

    vi

    vi

    Работа с томами и разделами










    Создание разделов

    FDISK

    fdisk

    fdisk

    Управление разделами

    DISKPART

    parted, partx

    parted, partx

    Форматирование диска, создание файловой системы

    DISKPART, FORMAT

    mformat, mkfs

    mformat, mkfs

    Проверка файловой системы

    CHKDSK

    fsck

    fsck

    Управление системой.










    Отобразить список процессов

    TASKLIST, QUERY PROCESS

    ps

    ps

    Уничтожить процесс

    TASKKILL

    kill, killall

    kill, killall

    Перезагрузить компьютер

    SHUTDOWN

    shutdown, reboot

    shutdown, reboot

    Выключить компьютер

    SHUTDOWN

    shutdown, halt

    shutdown, halt

    Выполнить команду от имени другого пользователя

    RUNAS

    sudo

    sudo

    Отобразить имя компьютера

    HOSTNAME

    hostname

    hostname

    Пользователи и группы.










    Создать нового пользователя

    NET USER

    useradd

    Non

    Изменить параметры пользователя

    NET USER

    usermod

    dscl

    Изменить пароль пользователя

    NET USER

    passwd

    dscl

    Удалить пользователя

    NET USER

    userdel

    dscl

    Создать новую группу пользователей

    NET GROUP

    groupadd

    dscl

    Изменить параметры группы

    NET GROUP

    groupmod

    dscl

    Удалить группу

    NET GROUP

    groupdel

    dscl

    Отобразить список активных пользователей

    QUERY USER

    users

    dscl

    Работа с сетью.










    Работа с таблицей соответствия IP и MAC адресов ARP

    arp

    arp

    arp

    Конфигурация протокола IP

    IPCONFIG, NETSH

    ifconfig, ip

    Networksetup

    Работа с таблицей маршрутизации

    ROUTE

    route

    route

    Опрос узла по протоколу ICMP

    PING

    ping

    ping

    Клиент Telnet

    TELNET

    telnet

    telnet

    Работа с DNS-сервером в интерактивном режиме

    NSLOOKUP

    dig, nslookup

    dig, nslookup

    Трассировка маршрута к удаленному узлу

    TRACERT

    traceroute

    traceroute

    Отобразить статистику сетевых соединений

    NETSTAT

    netstat

    netstat



    Стоит отметить Mac OS X — это ОС Unix, и ее командная строка на 99,9% такая же, как и в любом дистрибутиве Linux . bash это ваша оболочка по умолчанию, и вы можете скомпилировать все те же программы и утилиты.

    Bash — это bash, поэтому оболочка и ее встроенные компоненты совпадают. Но учтите, что поведение некоторых инструментов, таких как ps или head может отличаться в деталях, может привести к сбою ваших сценариев.

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

    Студент группы ИСТ-012 Голубев М.С.



    написать администратору сайта