Сответствие консольных команд Windows и Linux.
При переходе с Windows на Linux и наоборот, для тех, кто знаком с командной строкой, может пригодиться небольшая справка по соответствию консольных команд этих операционных систем. Естественно, полного соответствия, за редким исключением, не бывает, и в приведенной таблице собраны команды, идентичные по результатам выполнения или функционально близкие.
Соответствие команд CMD Windows командам Linux
Описание | Команда CMD Windows | Команда Linux |
Вызов справочной системы | HELP | apropos, man, whatis |
Вызов командного интерпретатора (оболочки) | CMD | bash, csh, sh |
Очистка экрана | CLS | clear, reset |
Вывод сообщения на экран | ECHO | echo |
Пауза в работе | PAUSE | sleep |
Настройка параметров терминала | MODE | stty |
Установка значений переменных окружения (указание путей к каталогам) | PATH, SET, SETx | env, set |
Изменение системной даты | DATE | date |
Изменение системного времени | TIME | date |
Выход из командной строки | EXIT | exit |
Работа с файлами и каталогами | ||
Отображение списка файлов и каталогов | DIR | dir, ls |
Создание каталога | MKDIR | mkdir |
Удаление каталога | RMDIR | rmdir |
Удаление файла | DEL, ERASE | rm |
Переход в другой каталог | CD | cd |
Копирование файлов или каталогов | COPY, XCOPY | cp |
Переименование файла | REN, RENAME | mv |
Перемещение файлов | MOVE | mv |
Поиск файла | WHERE | find, locate |
Вывод на экран содержимого файла | TYPE, MORE | cat, less, more |
Сравнение содержимого двух файлов | COMP, FC | cmp, diff, diff3, sdiff |
Сортировка строк в текстовом файле | SORT | sort |
Изменение атрибутов файла | ATTRIB | chmod |
Создание символьной ссылки на файл или каталог | MKLINK | ln |
Резервное копирование данных | ROBOCOPY | cpio, tar |
Вызов текстового редактора | EDIT (нет в Windows Vista и старше) | vi |
Работа с томами и разделами | ||
Создание разделов | FDISK | fdisk |
Управление разделами | DISKPART | parted, partx |
Форматирование диска, создание файловой системы | DISKPART, FORMAT | mformat, mkfs |
Проверка файловой системы | CHKDSK | fsck |
Управление системой. | ||
Отобразить список процессов | TASKLIST, QUERY PROCESS | ps |
Уничтожить процесс | TASKKILL | kill, killall |
Перезагрузить компьютер | SHUTDOWN | shutdown, reboot |
Выключить компьютер | SHUTDOWN | shutdown, halt |
Выполнить команду от имени другого пользователя | RUNAS | sudo |
Отобразить имя компьютера | HOSTNAME | hostname |
Пользователи и группы. | ||
Создать нового пользователя | NET USER | useradd |
Изменить параметры пользователя | NET USER | usermod |
Изменить пароль пользователя | NET USER | passwd |
Удалить пользователя | NET USER | userdel |
Создать новую группу пользователей | NET GROUP | groupadd |
Изменить параметры группы | NET GROUP | groupmod |
Удалить группу | NET GROUP | groupdel |
Отобразить список активных пользователей | QUERY USER | users |
Работа с сетью. | ||
Работа с таблицей соответствия IP и MAC адресов ARP | arp | arp |
Конфигурация протокола IP | IPCONFIG, NETSH | ifconfig, ip |
Работа с таблицей маршрутизации | ROUTE | route |
Опрос узла по протоколу ICMP | PING | ping |
Клиент Telnet | TELNET | telnet |
Работа с DNS-сервером в интерактивном режиме | NSLOOKUP | dig, nslookup |
Трассировка маршрута к удаленному узлу | TRACERT | traceroute |
Отобразить статистику сетевых соединений | NETSTAT | netstat |
Строчные и заглавные буквы для команд командной строки Windows воспринимаются одинаково, ECHO и echo — будет интерпретировано как одна и та же команда. При работе в командной строке Linux соблюдение регистра символов обязательно.
Если вы желаете помочь развитию проекта, можете воспользоваться кнопкой «Поделиться» для своей социальной сети
Тяжелое расставание с Net-Tools
Не секрет, что Net-Tools пора на почетную отставку. Да, многим админам и мне в том числе, до условного рефлекса Павлова знакомы команды ifconfig , route , netstat . На первый взгляд нет причин что-то менять, а лучшее как всегда враг хорошего.
Давайте узнаем почему Net-Tools уже не тот и как безболезненно с него перейти на iproute2 .
Что не так с ifconfig-ом?
Какие есть претензии к Net-Tools и насколько они обоснованны?
- Использует устаревший ioctl , в то время как iproute2 использует актуальный netlink .
- ifconfig показывает вторичные IP адреса как отдельные интерфейсы.
- ifconfig не видит вторичные IP адреса без маркировки. Попробуйте запустить следующую команду и проверьте затем вывод в ifconfig . На интерфейсе eth0 IP адрес уже должен быть сконфигурен.
- ifconfig не знает о существовании CIDR. Только традиционные IPv4 адреса.
- ifconfig не умеет показывать физический адрес туннельных интерфейсов tun , tap , вместо адреса сплошные нули.
- ifconfig не позволяет создавать создавать tun , tap устройства и статичные l2tp , ipip , gre тунели.
- ifconfig не показывает одноранговые IP адреса, (peer IP). Можно сконфигурировать одноранговую сеть на eth0 , но ifconfig не покажет удаленный IP.
- netstat , пытается быть дружественным в режиме показа статистики, показывая описание SNMP переменных, но не всегда это оправданно. По ссылке история о том, как понять, что такое timeout in transit . Кроме того такой вывод статистики нелегко скормить обработчику регулярных выражений.
- netstat не выдает полную статистику, так как показывает только те SNMP переменные из /proc/net/
, которые определены в файле statistics.c.
Категория | Netstat | Nstat | Разница |
---|---|---|---|
Ip | 6 | 17 | +11 |
Ip6 | 14 | 32 | +18 |
Icmp | 6 | 29 | +23 |
Icmp6 | 25 | 46 | +21 |
Tcp | 10 | 10 | 0 |
Udp | 7 | 8 | +1 |
Udp6 | 4 | 8 | +4 |
UdpLite | 0 | 15 | +15 |
UdpLite6 | 0 | 7 | +7 |
TcpExt | 48 | 116 | +68 |
IpExt | 11 | 17 | +6 |
Все перечисленные недостатки обусловлены тем, что проект слишком долго не развивался — последний релиз был в 2011 г, а ядро и сетевой стек за это время ушли далеко вперед. Справедливости ради надо отметить, что в последнее время работа над проектом возобновилась, но вряд ли это приведет к существенным изменениям в кодовой базе.
Переучиваемся на iproute2
С iproute2 можно получить все то же, что с Net-Tools и даже больше, но только синтаксис и вывод команд на терминал будут отличаться. Если честно, читабельность некоторых команд ip наводит на мысль, что новое не всегда лучшее.
Следующие две команды призваны заменить ifconfig без дополнительных ключей.
С ключем -c вывод будет цветным и более читабельным.
Просмотреть таблицу маршрутизации кратко.
Вся таблица маршрутизации.
Обратите внимание, что вывод команд из набора iproute2 зачастую не тривиально парсить в скрипте. Это не добавляет популярности мейнтейнерам, которые пытаются выкинуть Net-Tools из дистрибутива.
Просмотреть физические адреса соседних узлов из ARP кэша. Для наглядности варианты с Net-Tools и iproute2 пишем рядом.
Перейдем теперь к настройкам. Поднять интерфейс.
Задать IP адрес.
В отличии от Net-Tools, iproute2 позволяет также удалить IP адрес.
Добавить вторичный адрес.
И удаляем его же.
Добавляем маршрут по умолчанию (a. k. a. gateway).
Мы рассмотрели только базовые команды мониторинга и настройки, чуть менее чем полный список команд iproute2 по ссылке.
Nstat вместо netstat
Nstat в отличие от своего более старого аналога выдает только SNMP метрики в строго определенном порядке и выдает их все.
Еще одно отличие состоит в том, что netstat показывает кумулятивное значение метрик с момента запуска ОС, в то время как nstat по умолчанию показывает дельту значений и поэтому при первом запуске обеих команд значения будут одинаковы. Для того, чтобы nstat повел себя привычно, надо запускать его с ключем -s .
С ключем —zero получаем только нулевые значения.
Не знаю, хорошо ли это или плохо, но еще nstat умеет выдавать результат в формате json .
Ss вместо netstat
Команда ss с лихвой перекрывает функционал Netstat , по части вывода информации о сетевых подключениях, делает это быстрее и копает глубже. Пока netstat за каждым чихом лезет в /proc и теряя темп, ss через Netlink интерфейс быстро качает информацию из ядра.
Отрадно, что синтаксис у обеих команд схожий, поэтому привыкать долго не придется.
Однако ss позволяет залезть буквально под капот tcp соединениям.
Тут есть все: таймеры подтверждения доставки, дорога туда-обратно, механизм контроля перегрузки канала cubic и много чего еще.
Тяни-толкай вокруг Net-Tools
По этому вопросу консенсуса в Linux сообществе пока нет. В OpenSuse в 2009 г. состоялся пленум завязалась дискуссия по этому вопросу, но на жесткие меры не пошли, а вот RedHat и Fedora в 2011 г. решили, что с них хватит, и уже начиная с 7-й версии RHEL не ставит Net-Tools. В 7.1 была безуспешная попытка его вернуть, что показывает неизбывную популярность Net-Tools. В Debian Linux после неудачной попытки в 2009 г. объявить Net-Tools устаревшим и начать процесс его замены, несколько лет об этом не вспоминали, и вот недавно спор возобновился с новой силой. Дело в том, что в Debian до сих пор значительное количество пакетов от него зависит. В Gentoo как всегда решаешь ты, ставить или нет, однако зависимостей по сабжу нет.
Мне лично кажется, что пока нет причин отказываться от Net-Tools там, где это возможно. Если у вас два с половиной сетевых интерфейса на локалхосте, включая loopback, вы спокойно можете продолжать использовать эти программы, но на приличном боевом или даже на тестовом сервере iproute2 все же будет предпочтительнее, как бы пальцы ни дергались набрать привычные старые команды. Рано или поздно все Linux дистрибутивы и даже Debian перестанут ставить этот пакет по умолчанию, и тогда знание команд из набора iproute2 вполне пригодится, хотя этот момент может наступить еще не скоро.