11 застарілих команд Linux, які не варто використовувати

У Linux є застарілі команди, які досі активно використовуються, хоч вони й мають нові альтернативи. Можливо, ви теж використовуєте їх, адже вони присутні у багатьох книжках та старих посібниках по користуванню Linux. 

Деякі команди все ще присутні у різних дистрибутивах, деякі вже замінені новими реалізаціями чи будуть замінені в новіших версіях.

Ми розглянули 11 застарілих команд та їх альтернативи. Читайте далі, щоб дізнатись, які з них ви використовуєте та чим їх можна замінити.

scp

Команда для безпечної копії, яка використовує протокол SSH, щоб копіювати файли між двома машинами Linux. Її перевага в тому, що scp чітко дотримується синтаксису команди cp. Тому ця команда популярна серед користувачів Linux.

За допомогою cp ви копіюєте файли на локальній машині з одного місця в інше. А щоб копіювати файли між машинами, ви використовуєте scp.

Це може здатися зручним, але насправді scp проблематична. OpenSSH відмітив, що протоколу SCP не одне десятиліття, він не оновлювався та має багато вразливостей.

Що не так з протоколом SCP? Під час копіювання файлів із віддаленої системи до локального каталогу scp не перевіряє, чи імена файлів, які надіслав сервер, відповідали тим, які запросив клієнт. Це могло б дозволити зловмисникам створювати та видаляти локальні файли зі шкідливим вмістом.

OpenSSH у релізі 9.0 2022 року виправили проблему і тепер команда за замовчуванням використовує не застарілий SCP протокол, а протокол SFTP — SSH File Transfer Protocol. 

Деякі дистрибутиви, такі як Red Hat і Fedora, випередили цей реліз та створили власні реалізації команди scp, що використовують протокол SFTP. Для інших дистрибутивів команда залишається спірною. 

Хоч команда scp тепер використовує новіший протокол, чи не доречніше дати дорогу новим командам, що одразу його використовували?

scp можна замінити командами rsync та sftp.

egrep і fgrep

Ці команди — похідні від grep, що використовується для пошуку рядків. Вона створена майже 50 років тому, а трохи пізніше з’явилися egrep і fgrep, щоб розширити її функціональність:

  • egrep дозволяє використовувати розширений регулярний вираз;
  • fgrep працює з фіксованими рядками замість регулярного виразу.

Замість того, щоб робити це двома командами, їх зробили опціями оригінальної. 

Команду grep змінили та додали нові параметри, що виконували ті самі функції: 

  • egrep стало grep -E, 
  • fgrep стало grep -F.

Проте egrep та fgrep використовуються і зараз. Вони все ще є у дистрибутивах та багатьох навчальних матеріалах: підручниках, гайдах та на сайтах.

Замість egrep і fgrep краще використовувати grep -E та grep -F.

Мережеві команди пакета net-tools

netstat 

Команда netstat — це інструмент для мережевої аналітики. Вона підходить для моніторингу пакетів TCP/UDP, сокетів, перегляду мережевих інтерфейсів тощо.

Ця команда входила в пакет net-tools, що застарів ще десь у 2010 році. Тому дистрибутиви перестали додавати команду netstat.

Чим можна замінити: команда ss. Встановлювати для цього нічого не потрібно, оскільки команда є частиною сучасних дистрибутивів Linux. Як бонус: вона надає більше інформації та можливостей, ніж netstat.

ifconfig

Команда використовується для налаштування та виведення параметрів мережевого інтерфейсу для мережі за допомогою TCP/IP. Вона застаріла як і net-tools, але ще використовується та зустрічається в інструкціях. Свого часу ми присвятили їй окремий матеріал, де детально розглянули як нею користуватися. Можете ознайомитися та спробувати, щоб порівняти із новішою альтернативою — командою ip.

Чим замінити ifconfig: його функції тепер виконує команда ip.

arp, route, iptunnel та nameif

Ці команди можна знайти у книгах про Linux до 2010 року, але у власній системі — не знайдете. Більшість з них замінили різними опціями команди ip:

  • arp тепер ip n,
  • iptunnel — ip tunnel,
  • nameif — ip link,
  • route — ip route.

Більше застарілих команд

iwconfig

Це команда, схожа на ifconfig, але використовується лише для бездротового інтерфейсу та не входить до пакета net-tools.

iwconfig ще присутня в Ubuntu 22.04, але з Red Hat та багатьох дистрибутивів її видалили.

Чим замінити iwconfig: командою iw.

iptables

Основна команда для налаштування маршрутів для NAT та фільтрації пакетів для фаєрволів. 

Інфраструктура команди стала занадто заплутаною, враховуючи iptables, ip6tables, arptables і ebtables, які виконують різні, але схожі функції. Тому проєкт, який створив команду iptables — netfilter — замінив її на nftables, яка об’єднує всі ці функції. Вона розв’язує проблеми масштабованості та продуктивності iptables.

Проте iptables досі використовується та присутня в більшості дистрибутивів Linux. Але якщо самі розробники її замінили, варто хоча б спробувати перейти на новий інструмент. Тут можна подивитися в чому переваги nftables над iptables.

Чим замінити: спробуйте нову команду nftables.

Висновок

Тепер ви знаєте, як команди Linux застарілі та чим їх можна замінити. Ви й надалі можете користуватися ними, але будьте готові, що настане момент, коли їх замінять інші команди. Тож зберігайте цей матеріал та тримайте наші підказки під рукою на випадок, коли необхідно знайти альтернативу звичним командам. 

Чи користуєтеся ви якимись із перелічених команд? Пишіть у коментарях, якими саме.

Залишити відповідь

Дякуємо, що поділились