Как «приручить» консоль, или 5 шагов к жизни с командной строкой

Как ускорить работу компьютера

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

Прежде чем увеличивать скорость, выполняем все действия выше — убеждаемся в отсутствии каких либо проблем, препятствующих быстрой работе. После можно следовать данным советам:

  1. Пользуемся компьютером разумно:
    • Не запускаем большого количества программ одновременно без необходимости. Не редко на тормозящем компьютере можно увидеть браузер с 1000-й открытых вкладок и офисных документов. Ресурсы не резиновые и стоит закрывать программы, которыми мы не пользуемся.
    • Не устанавливаем на компьютер все в подряд. Внимательно устанавливаем программы (частенько, они предлагают дополнительно установить утилиты или другие программы) — отказываемся и ставим только то, чем будем пользоваться.
    • Время от времени, удаляем софт, которым перестали пользоваться.
  2. Настраиваем автоматическую чистку компьютера от временных файлов, например, с помощью программы CCleaner.
  3. Делаем полную проверку компьютера на наличие вирусов и вычищаем все, что найдет программа.
  4. Отключаем из автозапуска все, чем не пользуемся.
  5. При медленной производительности диска, можно настроить Readyboost. Это технология для программного кеширования на флеш-накопитель.
  6. Отключаем ненужные службы Windows. Однако, для каждого пользователя это свои «ненужные» службы, так как их отключение приводит к потери некоторой функциональности. Перед отключением, рекомендуется изучить, за что отвечает каждая из служб и сделать соответствующий вывод. Также, стоит с помощью программы Process Explorer найти svchost для нее посмотреть, а много ли ресурсов потребляет служба и стоит ли ее выключать.

Если программные методы не повысили скорость до желаемого результата, делаем upgrade своему компьютеру. Если используется обычный HDD, его замена на SSD даст приличный прирост производительности.

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

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

Узнать, в какой же папке вы сейчас находитесь, очень просто, достаточно посмотреть на приглашение терминала, то есть на те символы, которые печатаются автоматически в начале каждой строки:

Текущий каталог — это то, что между символами и

Кстати, обратите внимание, перед стоит имя пользователя и имя компьютера, разделённые символом. Но когда вы запускаете терминал, то между и стоит символ :

При запуске терминала текущим каталогом становится домашняя папка пользователя, так вот, символ — это синоним адреса домашней папки текущего пользователя. Кстати, если вы ещё не знаете, полный адрес домашнего каталога выглядит как

/home/логин_пользователя

У меня это .

Хорошо, как выяснить текущее местоположение, вроде разобрались, а как же его сменить? Для этого предназначена команда , выполните, например, команду

cd Музыка

Видите, текущее местоположение изменилось:

На всякий случай напоминаю, что имена файлов и каталогов в Linux чувствительны к регистру символов, то есть и — эта два совершенно разных имени.

После команды можно указывать как полные пути относительно корня, так и относительные, отсчитывающиеся от текущего каталога. В примере выше я использовал относительный путь. А вот полный:

cd /etc/apt

Хочу сразу обратить внимание на несколько важных особенностей. Во-первых, при наборе путей так же работает автодополнение по Tab, это очень удобно

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

cd Каталог\ с\ плохими\ символами\ в\ имени\<\>

Установка обратного слеша перед некоторыми символами называется экранированием. Кстати, при использовании автодополнения все слеши расставляются автоматически. Кроме того, можно просто заключить путь в двойные кавычки:

cd "Каталог с плохими символами в имени<>"

Но в этом случае автодополнение работать не будет.

Заменитель адреса домашнего каталога можно использовать и при наборе путей, например:

cd ~/Музыка

А для перемещения непосредственно в домашний каталог достаточно просто набрать без аргументов.

Для перемещения на каталог выше можно использовать команду

cd ..

Вообще, две точки обозначают всегда родительский каталог, поэтому можно делать так:

cd ../..

В принципе, всё можно как угодно комбинировать, в разумных пределах, конечно. Ну и напоследок про . Переместиться в предыдущий посещённый каталог можно командой

cd -

Как перемещаться по каталогам в первом приближении вроде разобрались, теперь же я расскажу про некоторые другие полезные операции. Посмотреть содержимое текущего каталога можно командой :

Обычно командам можно передавать различные модификаторы, например:

Кстати, эта команда показывает различную дополнительную информацию о содержимом каталога.

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

cat ~/text.txt

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

Хотя перемещать курсор в нужную позицию можно стрелочками на клавиатуре, следующие сокращения позволят установить его в нужную позицию. Это позволит быстрее и удобнее вводить команды.

  • Ctrl+A (Home) — быстрый переход в начало строчки.
  • Ctrl+E (End) — быстрый переход в конец строчки.
  • Alt+B — перемещение курсора влево на одно слово (назад).
  • Ctrl+B — перемещение на символ влево (назад).
  • Alt+F — перемещение на слово вперед.
  • Ctrl+F — перемещение на символ вперед.
  • Ctrl+XX — быстрое перемещение на начало строчки и возврат на прошлую позицию. Это сочетание клавиш используется, когда необходимо изменить что-то в начале строки и этой же комбинацией перейти на исходное место курсора.

sudo: Executing Commands with Administrative Privileges

The sudo command executes a command with administrative privileges (root-user administrative level), which is necessary, for example, when working with directories or files not owned by your user account. When using sudo you will be prompted for your password. Only users with administrative privileges are allowed to use sudo.

Be careful when executing commands with administrative privileges — you might damage your system! You should never use normal sudo to start graphical applications with administrative privileges. Please see RootSudo for more information on using sudo correctly.

Эмулятор терминала

Горячие клавиши

В Ubuntu для открытия терминала по умолчанию используется комбинация горячих клавиш CTRL+ALT+T.

После нажатия комбинации откроется окно с приглашением терминала от имени текущего пользователя — это значит, что команды в данном терминале будут выполняться от имени того, кто в данной момент авторизован в системе.

Для исполнения команд от имени суперпользователя необходимо перед командой прописывать sudo. Это специальная программа, которая позволяет подменить пользователя для выполнения вслед идущей команды. По умолчанию в Ubuntu она подменяет пользователя на суперпользователя (root), чтобы можно было работать в терминале с его привилегиями. Это необходимо, например, для установки программ через apt.

При использовании sudo необходимо будет ввести пароль администратора системы, который был указан при ее установке (в большинстве случаев — пароль единственного пользователя системы).

На заметку: Полезные хоткеи в терминале

Использование команды «Выполнить»

В системе также есть специальный диалог, который открывается по нажатию комбинации клавиш ALT+F2 и позволяет запустить произвольную программу введя ее название.

Для различных графических окружений название стандартного эмулятора терминала будет различным, приведу самые распространенные:

  • Gnome —
  • Xfce —
  • Kde —
  • Unity —
  • Эмулятор терминала, установленный во всех версиях *buntu по умолчанию —

Меню приложений

В любой системе эмулятор терминала можно найти и с помощью меню приложений. Это то меню, из которого пользователь запускает свои программы, такие как браузер или текстовый редактор. В меню терминал будет иметь название «Эмулятор терминала» или «Терминал» или же «Terminal emulator» — по-английски.

Я использую окружение рабочего стола XFCE и приведу пример в его меню приложений:

1 896

Зачем переходить на Linux

Если хотите перестать заниматься цифровым пиратством, начните с установки Linux. А еще это будет весомым плюсом, если приходите на работу со своим ноутбуком.

◆ В Linux есть магазин приложений. Когда пользователи после переустановки Windows начинают настройку стороннего ПО, они либо идут на торренты, либо начинают занимательное путешествие по файлообменным помойкам и рекламным сайтам в поисках установщика нужной программы.

Только не нужно говорить, что в Windows есть свой магазин приложений, я уже пробовал, как он работает и чуть не сошел с ума.

Пользователи Linux без проблем могут установить весь нужный софт в пару нажатий мышью и при этом не переживать, что после установки придется чистить систему от всевозможных mail.ru-агентов или Амиго-браузеров.

◆ Архитектура Linux менее подвержена вирусам. Большая часть вредоносного ПО сейчас разрабатывается именно для Windows. Сложности с поиском приложений и желание пользователей скачать что-то бесплатно буквально открывают двери для троянов и вирусов.

В Linux имеется более сложная система разграничения прав доступа, модульность компонентов и монолитное ядро обеспечивают гораздо большую безопасность, чем “дырявый” системный реестр в Windows.

◆ Linux потребляет меньше ресурсов компьютера. Для современных ПК с многоядерными процессорами и двузначным числом ОЗУ это не будет преимуществом, но вот старый системник или ноутбук с двумя ядрами и парой планок ОЗУ по 2 ГБ на Linux просто оживет.

Это отличное преимущество, если хотите отдать свой устаревший ПК родителям или бабушкам, решили настроить запылившийся ноут для дистанционного обучения ребенка либо хотите настроить стоящий без дела системник в качестве медиасервера.

◆ Исходный код Linux открытый. Это позволяет энтузиастам быстрее находить уязвимости, а разработчикам устранять их. Еще такой подход позволяет моментально выявить шпионские или вредоносные части кода, предупредить об этом общественность и отказаться от проблемного дистрибутива.

Много ли пользователи знают о механизмах слежки и шпионских скриптах в Windows? Часть из них известна сообществу энтузиастов, но отключать их придется в ручном режиме после установки системы.

◆ У Linux есть множество дистрибутивов. Если разделение Windows на версии направлено только на то, чтобы отключить у пользователя фишки, за который он не хочет платить, то в мире Linux есть действительно отличающиеся друг от друга сборки.

Есть дистрибутивы, которые хорошо оптимизированы под определенное железо, например, Clear Linux OS от Intel. Есть версии с упором на защиту пользовательских данных, анонимность и конфиденциальность вроде Kodachi. Есть сборки, которые буквально оживляют старое железо и нетребовательны к ресурсам, например, antiX или SliTaz (образ последнего занимает менее 100 Мб и может полностью харниться в ОЗУ).

Сборка Ubuntu Ultimate Edition может похвастаться полным набором предустановленного ПО и драйверов. Одними из самых популярных и стабильных являются дистрибутивы Debian и Ubuntu, а одним из самых простых и дружелюбных – Linux Mint.

◆ Linux имеет большое количество графических интерфейсов и элементов управления. Это не просто изменяемые обои, украшательства или съедающие ОЗУ дополнения. Это специально разработанные модули, которые могут добавляться или убираться при необходимости, делая систему такой, какой ее хочет видеть пользователь.

Самые опытные могут и вовсе обойтись командной строкой без графического интерфейса, а самые дотошные смогут превратить Linux в практически в полное подобие Windows или macOS.

◆ Практически любую версию Linux можно запустить с флешки. Так называемый Live-режим есть у большинства распространенных сборок и дистрибутивов. Вы можете попробовать любую версию Linux, посмотреть на графический интерфейс, встроенный набор ПО и драйверов без полной переустановки системы.

Еще подобные версии удобно использовать для восстановления системы или вовсе на компьютерах без накопителя. Запускается такая версия ОС с флешки за пару минут и все готово к работе.

Все это делает Linux более привлекательной операционной системой для многих пользователей Windows.

Что такое в Linux командная строка

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

Командная строка, или консоль — это специальная программа, которая выполняет и обрабатывает команды, введенные пользователем с клавиатуры. Она способна создавать файлы и редактировать их, управлять системными ресурсами и предоставлять множество полезных для пользователя данных, назначать те или иные права доступа к файлам и папкам, а также проделывать массу других операций.

В отличие от консоли в виндовс, которая появилась там от MS DOS (виндовс изначально являлась лишь графической оболочкой этой старой операционной системы), терминал в линуксе обладает куда более мощными и серьезными возможностями. Он находится в ОС изначально. Так было и в Unix, поэтому здесь он более развит, что позволяет экономить множество времени.

Современные консоли в Unix-подобных системах могут автоматически дополнять прописываемые имена команд или файлов, выполнять поиск и повторное выполнение действий, обладают историей выполненных команд.

Обратите внимание! Преимущество командной работы по сравнению с использованием графического интерфейса проявляется при выполнении множества однотипных действий. Иногда для решения задачи нужно переходить от окна к окну и делать десятки нажатий на мышь, в то время когда пусть даже длинная команда сделает всю работу за секунду

Pasting in commands

Often, you will be referred to instructions that require commands to be pasted into the terminal. You might be wondering why the text you’ve copied from a web page using Ctrl + C won’t paste in with ctrl+V. Surely you don’t have to type in all those nasty commands and filenames? Relax. ctrl+shift+V pastes into a GNOME terminal; you can also do middle button click on your mouse (both buttons simultaneously on a two-button mouse) or right click and select Paste from the menu. However, if you want to avoid the mouse and yet paste it, use «Shift + Insert», to paste the command. If you have to copy it from another terminal / webpage, you can use «Ctrl + Insert» to copy.

Сеть

ifconfig — показать информацию о сетиiwconfig — показать информацию о беспроводной сетиsudo iwlist scan — поиск беспроводных сетейsudo /etc/init.d/networking restart — перезапустить сеть/etc/network/interfaces — файл для ручной настройки сетиifup interface — включить интерфейсifdown interface — отключить интерфейс

ping host — пропинговать host и вывести результат

whois domain — получить информацию whois для domainwget file — скачать fileifconfig eth0″ — показать конфигурацию сетевого интерфейса eth0ifup eth0″ — активировать интерфейс eth0ifdown eth0″ — деактивировать интерфейс eth0ifconfig eth0 192.168.1.1 netmask 255.255.255.0″ — выставить интерфейсу eth0 ip-адрес и маску подсетиifconfig eth0 promisc» — перевести интерфейс eth0 в promiscuous-режим для «отлова» пакетов (sniffing)ifconfig eth0 -promisc» — отключить promiscuous-режим на интерфейсе eth0dhclient eth0″ — активировать интерфейс eth0 в dhcp-режиме.route -n» — вывести локальную таблицу маршрутизацииroute add -net 0/0 gw IP_Gateway» — задать ip-адрес шлюза по умолчанию (default gateway)route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1″ — добавить статический маршрут в сеть 192.168.0.0/16 через шлюз с ip-адресом 192.168.1.1route del 0/0 gw IP_gateway» — удалить ip-адрес шлюза по умолчанию (default gateway)echo «1″ > /proc/sys/net/ipv4/ip_forward» — разрешить пересылку пакетов (forwarding)hostname» — отобразить имя компьютераip link show» — отобразить состояние всех интерфейсовmii-tool eth0″ — отобразить статус и тип соединения для интерфейса eth0ethtool eth0″ — отображает статистику интерфеса eth0 с выводом такой информации, как поддерживаемые и текущие режимы соединенияnetstat -tupn» — отображает все установленные сетевые соединения по протоколам TCP и UDP без разрешения имён в ip-адреса и PID’ы и имена процессов, обеспечивающих эти соединенияnetstat -tupln» — отображает все сетевые соединения по протоколам TCP и UDP без разрешения имён в ip-адреса и PID’ы и имена процессов, слушающих портыtcpdump tcp port 80″ — отобразить весь трафик на TCP-порт 80 (обычно — HTTP)iwlist scan» — просканировать эфир на предмет, доступности беспроводных точек доступаiwconfig eth1″ — показать конфигурацию беспроводного сетевого интерфейса eth1cat /proc/net/dev — показать сетевые интерфейсы и статистику по нимdig domain – получить DNS информацию domain

Сравнение с другими интерфейсами

Интерфейсы командной строки

Современный интерфейс командной строки

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

Графический интерфейс можно сделать довольно сложным, когда диалоги закопаны глубоко в системе или перемещены в разные места во время редизайна. Кроме того, пользователям обычно сложнее написать скрипт для значков и диалоговых окон.

WIMP широко используют режимы , поскольку значение всех клавиш и щелчков в определенных позициях на экране все время переопределяется. Интерфейсы командной строки используют режимы только в ограниченных формах, например, для текущего каталога и переменных среды .

Большинство современных операционных систем предоставляют как графический интерфейс, так и некоторый уровень интерфейса командной строки, хотя графическим интерфейсам обычно уделяется больше внимания. Графический интерфейс обычно основан на WIMP, хотя иногда появляются и другие метафоры, например, используемые в Microsoft Bob , 3dwm или File System Visualizer .

Обертки GUI

Оболочки графического пользовательского интерфейса (GUI) находят способ обойти версии интерфейса командной строки (CLI) (обычно) Linux и Unix-подобных программных приложений и их текстовых пользовательских интерфейсов или вводимых меток команд. В то время как приложения с командной строкой или текстовые приложения позволяют пользователям запускать программу в неинтерактивном режиме, поверх них оболочки графического интерфейса пользователя избегают крутой кривой обучения командной строки, которая требует, чтобы команды вводились на клавиатуре . Запустив оболочку графического интерфейса пользователя , пользователи могут интуитивно взаимодействовать , запускать, останавливать и изменять ее рабочие параметры, например, с помощью графических значков и визуальных индикаторов среды рабочего стола . Приложения также могут предоставлять оба интерфейса, и когда они это делают, графический интерфейс обычно представляет собой оболочку WIMP вокруг версии для командной строки. Это особенно характерно для приложений, разработанных для Unix-подобных операционных систем. Последний раньше реализовывался первым, потому что он позволял разработчикам сосредоточиться исключительно на функциональности своего продукта, не беспокоясь о деталях интерфейса, таких как разработка значков и размещение кнопок. Такой способ проектирования программ также позволяет пользователям запускать программу в сценарии оболочки .

История разработки

Корни Linux уходят в два других проекта: Unix и Multics, которые ставили своей целью разработать многопользовательскую операционную систему.

Что такое Unix?

Unix – это собрание кроссплатформенных многопользовательских и многозадачных операционных систем.

Можно сразу сказать, что в данный момент Unix-системы являются одними из самых важных операционных систем. Влияние Unix распространилось и на языки программирования: язык C был разработан во время разработки Unix-систем.

Разработкой Unix занималась корпорация Bell Laboratories – в 1969 году они показали первую систему Unix. Чем дальше, тем большую популярность обретали системы Unix – в 70-х их начали устанавливать на компьютеры в учебных заведениях.

При создании Unix разработчики поставили перед собой три основные задачи:

  1. Использование минимального количества функций, сохранение простоты.
  2. Общность: одинаковые методы и механизмы в разных случаях.
  3. Комбинирование программ для решения задач, а не разработка новых программ с нуля.

Что касается отличительных особенностей Unix, то это:

  1. Практически постоянное использование командной строки.
  2. Использование конвейнеров.
  3. Настройка системы через использование простых (зачастую текстовых) файлов.

Unix имеет свою собственную философию. Программист Дуглас Макилрой, который разработал конвейнер в Linux, определил следующие правила:

Одна из проблем, коснувшаяся Unix, – наличие разных версий и множества программ, которые писали разработчики под свои нужды. Из-за низкой совместимости программы, работающие с одной версией Unix, могли не работать на машинах с другими версиями. В итоге было решено создать общий документ со стандартами, которым должны следовать разработчики.

В 1983 году было объявлено о создании GNU (GNU’s Not UNIX), Unix-подобной операционной системы. Произошло это под влиянием идеи основателя проекта Ричарда Столманна о необходимости создания свободно распространяемой операционной системы и программного обеспечения с открытым исходным кодом.

Ричард Столманн также основал движение свободного программного обеспечения и сформулирован четыре права, которыми должен обладать пользователь: он может запускать программу для любых целей, он может изучать программы и изменять их согласно своим потребностям, он может распространять программу, чтобы помочь другим, и он может публиковать улучшения программы, чтобы помочь сообществу в целом. Все это говорило о том, что исходный код программы должен быть доступен всем.

Именно эта мысль вдохновила Линуса Торвальдса, создателя Linux, начать в 1991 году работу над своей операционной системой. Linux, как и GNU, это Unix-подобная система, то есть система, появившаяся под влиянием Unix.

В дальнейшем именно система GNU/Linux станет той системой, которую сейчас называют просто Linux.

Что такое Multics?

Multics – Multiplexed Information and Computing Service («Мультиплексная информационная и вычислительная служба») – это одна из самых первых операционных систем, в которой была реализована плоская модель хранения данных и четко разделена концепция файлов (сегментов). Создание Multics началось в 1964 году. Над системой работали разработчики компании Bell Laboratories – через несколько лет часть разработчиков начнет работу над созданием Unix.

Multics разрабатывали для того, чтобы, во-первых, дать возможность использовать ресурсы ЭВМ большому количеству пользователей одновременно, во-вторых, дать пользователям возможность совместно использовать данные, в-третьих, обеспечить хорошую скорость работы с данными.

Однако главные вычислительные задачи не были достигнуты при выпуске первой версии системы, и компания Bell Laboratories перевела свой интерес на другой проект, в результате которого на свет появился Unix.

Виды программ в Linux

Перед тем, как мы перейдем к запуску программ, нужно сначала понять что представляет из себя программа. В Linux программы отличаются от других файлов только тем, что для них установлен флаг исполняемости. Я уже подробно писал об этом в статье поэтому не буду повторяться.

Все программы можно поделить на несколько типов:

  • Бинарные программы — содержат инструкции процессору уже готовые к выполнению, большинство программ находятся в таком формате, они быстрые и выполняются сразу же системой;
  • Программы на байт-коде — это уже не процессорные инструкции, а инструкции определенной виртуальной машины, которая может их выполнять, без виртуальной машины такие команды не могут быть выполнены. Такие программы потребляют больше ресурсов, но тоже достаточно быстрые, их преимущество в том, что они могут выполняться без изменения везде где может работать виртуальная машина. К таким программам можно отнести программы на Java.
  • Скриптовые программы — эти программы состоят из набора команд в виде обычного текста, которые выполняет специальный интерпретатор. Такие программы более медленные, но зато они проще в разработке и их код можно легко и быстро изменить.

А теперь перейдем к запуску программ.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: