Канал на Youtube


Бесплатная техподдержка !

Основные команды Linux


  Здесь я напишу основные команды Linux, которые будут полезны Вам при освоении данной операционной системы.

Основные команды Linux
 

  Чтобы создать директорию (папку, каталог) используется команда mkdir (Make Directory), после которой пишем ее название. Например: mkdir new_dir

  Для навигации по директориям используется команда cd directory_name/ (Change Directory). Слеш в конце не обязателен, но он помогает визуально в терминале отделять папки от файлов.

  Для создания файла используется команда touch и указываем имя создаваемого файла. Например: touch new_file

  Чтобы удалить файл, нужно ввести rm file_name (Remove). Для папки синтаксис немного другой. Для удаления каталога используется: rm -rf directory/ Расшифруем: -rf это два ключа, указывающих на то, что папку нужно удалить рекурсивно (Recurse) - т.е. заходя в каждую подпапку и без подтверждения (Force).

  Внимание: будьте внимательны при использовании этой команды! Так как rm -rf / удалит АБСОЛЮТНО ВСЕ ФАЙЛЫ И ПАПКИ, т.е. ДАЖЕ саму ОС! Под "раздачу" могут попасть и файлы на всех примонтированных в данный момент дисках, и вообще все подряд, до чего "дотянется" данная команда. Причем, операционная система будет даже какое-то время работать, но - сбоить, не находя нужных ей файлов.

  Хотя, даже в режиме sudo su в «Ubuntu» это не сработает, но в большинстве *NIX систем - вполне и очень быстро. Так что, не рискуйте повторять это у себя и других! Разве, - в качестве наглядной демонстрации "убийства" системы! :)

  Для перемещения и переименования используется команда mv (Move). Например, для перемещения: mv filename dir/ В данном случае имя файла сохранится. Или так: mv filename dir/new_name Тогда перемещаемый файл будет попутно еще и переименован в «new_name». Для простого переименования достаточно написать mv filename new_name и файл будет переименован.

  Чтобы вывести содержимое любого файла в терминал можно воспользоваться командой cat Например: у нас есть просто текстовый файл, чтобы вывести его в терминал (просмотреть его содержимое) пишем cat filename (имя файла) и его содержимое выведется прямо в окно нашего терминала.

  Примечание: данная команда выводит именно содержимое. Т.е. cat video.avi не начнет воспроизведение видео, а просто выведет его бинарно-символьное содержимое прямо в терминал (в консоль).

  Также у нас есть возможность по управлению вводом/выводом информации в терминале. Например, вот изощренный вариант копирования файла с использованием команды cat, пишем cat filename > new_filename, эта конструкция выведет содержимое файла filename, но оно не будет отображено в окне консоли, а сразу будет записано в new_filename.

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

  Пример: cat filename | grep named покажет только те строки из файла, в которых есть слово «named».

  Чтобы посмотреть краткую справку о какой-либо команде, в большинстве случаев, можно писать command --help, где command - название команды.

  Для чтения полной справки есть команда man (manual). Используется она в виде man command, где command название команды, по которой мы хотим получить помощь. К сожалению, вся справочная информация - на английском языке. Для выхода из режима просмотра файла используется клавиша «Q», для навигации вверх/низ клавиши «PageUp» и «PageDown».

  Для создания ссылки (что-то вроде ярлыка в Windows) используется команда ln (Link) Например: ln file1 file2 создаст "жесткую" ссылку (hard link) или ln -s file1 file2 - создаст символьную (мягкую) ссылку (symbolic link).

  Эта команда создаёт ссылку на файл «file1», которая будет выглядеть и располагаться как «file2». Таким образом, для файловой системы исходный файл «file1» и ссылка на него «file2», на самом деле, физически будут являться одним и тем же файлом. Жесткие ссылки не могут указывать на файлы, расположенные на других дисковых разделах.

  Если вы создаёте символьную ссылку (т.е. используя ключ «-s»), то при этом файл «file1» может и не существовать. Символьная ссылка с именем «file2» всё равно будет создана. Пример: ln -s /media/home/ed /home/ed - будет создана символьная ссылка в каталоге /home/ed на каталог /media/home/ed).

  Чтобы запустить/остановить/перезапустить/перезагрузить какой-либо демон (службу) можно воспользоваться командой: /etc /init.d/daemon_name start/stop/restart/reload , также возможны и другие параметры, или отсутствие некоторых, они определяются уже конкретным программным обеспечением.

  Выключение и перезагрузка компьютера выполняются командой shutdown -h now (Halt) - выключит компьютер. Комбинация shutdown -r now (Reboot) перезагрузит наш ПК. Ключ "Now" указывает, когда нужно совершить это действие, те - сейчас (now). Также есть возможность сделать это через заданный промежуток времени, указав вместо now, ключ +m , где m - количество минут до выключения. Можно - в формате hh:mm указать время выключения, например 18:00.
 

  Подключение дисков (монтирование)

  Немного хуже в Linux дело обстоит с подключением дисков/флешек, и если в Desktop версиях они подключаются автоматически при первом обращении к ним (те «проводник» сам запустит процесс их монтирования прозрачно для пользователя), то в серверных версиях ОС их придется подключать (монтировать) вручную.

  Впрочем, здесь нет ничего сложного! Достаточно знать, что и куда мы хотим подключить? Например, чтобы подключить раздел SDB1, нам нужно ввести команду mount /dev/sdb1 /mnt/temp_disk где /dev/sdb1 - имя файла, отвечающего за раздел диска, а /mnt/temp_disk - папка, в которую нужно смонтировать (подключить) наш диск.

  Причем, эта папка должна существовать и если в ней есть файлы то они станут временно недоступны, пока мы не размонтируем диск командой umount /dev/sdb1 , используя umount -a (All) можно отмонтировать все подключенные разделы, кроме корня (/). Применение же ключа -f , отмонтирует устройство независимо от того, используется оно или нет в данный момент. Внимание! подобная  процедура может повредить открытые файлы на отмонтируемых устройствах.
 

  Установка и управление пакетами

  В отличие от Windows, где нужно искать программы самому, устанавливать их, думать где скачать какую-то библиотеку или фреймворк, в *NIX подобных системах используются так называемые пакеты. В Debian-ориентированных дистрибутивах они имеют расширение *.deb (DEBian), для «Red Hat Linux» используются *.rpm пакеты (рекурсивный акроним - RPM Package Manager).

  Так же, следуя основной концепции открытого ПО *NIX (его можно сформулировать так: «программа должна выполнять одну задачу, но выполнять ее на отлично»), сама программа обычно занимает несколько сотен килобайт или - пару мегабайт. Все необходимые библиотеки/зависимости будут устанавливаться отдельно, хотя и в автоматическом режиме. На каком-то этапе инсталляции нам просто предложат их установить.

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

  Для установки/обновления/удаления/чистки программ в Linux Ubuntu используется консольный менеджер пакетов apt. Например, чтобы установить что-либо, мы пишем apt-get install prog_name , где prog_name - название устанавливаемого пакета (программы). Можно устанавливать и несколько пакетов сразу. Для этого просто перечислите их через пробел.

  Для обновления ПО используются команды apt-get update и apt-get upgrade Первая обновит информацию о списке доступных пакетов и покажет, что именно требуется обновить, а вторая - запустит обновление всего, для чего оно потребуется.

  Для удаления ненужных пакетов используется конструкция apt-get remove/purge prog_name Разница в том, что команда remove удалит сам пакет, а purge - пакет с файлами настроек. Для более подробной информации почитайте apt-get –help.

  Немного о сетевых утилитах

  Для проверки работоспособности сети и сетевого соединения используется команда ping, она работает так же, как и в Windows, разница только в некоторых ключах. Например, в Windows для "пинга" пакетами по 1500 байт используется ключ -l (Length) ping localhost -l 1500, в *NIX это будет ключ -s (Size) ping localhost -s 1500 и еще несколько ключей.

  Еще есть ключ -A, который позволяет отправлять запросы намного быстрее (примерно пять раз в секунду, против одного в Windows), а в паре с sudo может "выстрелить" и около 1000 пакетов за то же время!

  Также есть ключ -f Используйте его с осторожностью, так как он может "положить" слабый канал сети или "пингуемый" хост (ПК)! В этом режиме утилита не ждет ответа, а продолжает слать пакеты (около 4 тысяч в секунду), генерируя через сетевую карту компьютера очень большой трафик. Так как вывод терминала просто не успевает за отображением такого мощного "пинга", то на монитор ничего выводиться и не будет. В случае же потери пакета, будут отображаться точки: один потерянный пакет = одна точка.

  Ради эксперимента я "пинганул" свой роутер таким образом :) Входящий и исходящий трафик повысился на ~10Mbps при значении в 1500 и на ~2Mbps при размере и частоте передаваемых пакетов по умолчанию (64B).

  Чтобы проверить работу DNS (Domain Name System - системы доменных имен) используется утилита nslookup. Синтаксис у нее такой же, как и в Windows. Например, чтобы узнать какие IP адреса используются для домена sebeadmin, достаточно написать в терминале nslookup sebeadmin и мы получим IP или список IP адресов, которые отвечают за это доменное имя в глобальной сети Интернет.

  Для проверки пути следования пакетов по сети используется другая утилита - traceroute (в windows - tracert). Например, чтобы передать данные от моего компьютера до этого сайта пишем traceroute sebeadmin На мониторе отобразится весь "путь", которым пройдут наши данные до сайта. Это называется трассировкой маршрута.

root @CoolServ:/home/asus/# traceroute sebeadmin
traceroute to sebeadmin (91.204.74.143), 30 hops max, 60 byte packets

1  172.30.2.1 (172.30.2.1) 0.493 ms 0.337 ms 1.474 ms
2  91.211.xxx.xxx (91.211.xxx.xxx) 1.076 ms 0.990 ms 0.915 ms
3  77.222.147.233 (77.222.147.233) 8.541 ms 8.483 ms 8.403 ms
4  m9-ix.caravan.ru (193.232.244.208) 21.012 ms 21.409 ms 22.029 ms

5  v811.th-1.caravan.ru (212.24.42.51) 139.798 ms 139.745 ms 139.945 ms
6  hosted-by.imhoster.net (91.204.74.143) 22.441 ms 21.840 ms 21.690 ms


  Немного расшифруем: расстояние до сайта составило 6 хопов (прыжков или 6 роутеров (маршрутизаторов) по пути следования) наших пакетов.
 

  Псевдографические утилиты

  Первая из равных - MTR (My TraceRoute) – монитор трассы IP пакетов с обновлением информации. Это - аналог «traceroute», который «мониторит» маршрут, постоянно посылая ICMP пакеты на маршрутизаторы по пути следования.

Консольная утилита My Traceroute

  Следующая программа, которая очень облегчает перемещение по диску, поиск по каталогам, редактирование файлов и много чего еще, - MC (Midnight Commander). Это файловый менеджер. Он визуально похож на популярный «Far Manager» для Windows (Far тоже использует псевдографику), хотя по удобству и интерфейсу он больше сродни другому менеджеру - «Total Commander». Вот так MC выглядит в терминале.

Окно Midnight Commander

  Если хорошо разобраться с этой оболочкой, то Вы будете быстро и удобно "путешествовать" по файловой системе, подключаться через Shell (SSH), FTP, SMB (Samba) к другим серверам для удобного копирования файлов и чувствовать себя весьма комфортно. Также в ней есть встроенный просмотрщик фалов, - клавиша (F3) и их редактор - (F4).

  Консольный диспетчер задач HTOP. Есть несколько консольных диспетчеров задач, это «Top» и «Htop». Они немного отличаются удобством предоставления информации. Поскольку, на мой взгляд, «Htop» удобнее, то рассмотрим именно его:

Диспетчер задач Линукс Htop

  Здесь все достаточно просто: слева вверху отображается загрузка ЦП, использование ОЗУ (оперативной памяти) и раздела подкачки на жестком диске. Правее - общее состояние системы. Как видим из скриншота, сейчас выполняется 27 процессов, 1 запущен. Средняя загрузка центрального процессора компьютера - 0% (диспетчеру нужно немного времени для сбора статистики).

  Ниже отображен список запущенных демонов (процессов). Некоторые из них могут дублироваться. Более подробно об этой замечательной утилитке будет рассказано в другой статье.

  Консольный редактор текстов «NANO». Это простой и, в то же время, удобный редактор текста, что-то вроде блокнота для MS Windows. Вот его окно в терминале:

Редактор текста из консоли Nano

  Краткая инструкция по использованию:

  • Выход (перед закрытием спросит сохранять-ли файл): Ctrl+X
  • Сохранить файл: Ctrl+O
  • Найти текст: Ctrl+W
  • Заменить текст поиска на текст замены: Ctrl+ подтвердить замену Y, пропустить N, заменить все совпадения A
  • Справка по клавиатурным сокращениям: Ctrl+G
  • Прокручивать текст экранами: PageUp/PageDown
     

  Маленький, но шустрый текстовый браузер «LYNX» для терминала. Компоненты страниц выглядят немного страшновато, но если нужно срочно, находясь в терминальной сессии, зайти на какой-нибудь сайт, - он это сделает мгновенно! Вот, к примеру, так выглядит сайт sebeadmin в «lynx»:

  Фото - кликабельно.

Текстовый браузер Lynx

  Конечно, есть еще множество различных утилит, но приведенные здесь используются чаще всего. Наиболее важные из оставшихся мы обязательно рассмотрим с Вами в следующих наших статьях.




Владимир
Продолжение, это замечательно. Огромное спасибо, за ваш труд.

Кахович Андрей
Спасибо и Вам, Владимир за его оценку.


Страницы: [1]


Бесплатные авторские уроки !