- Руководство по выживанию в оболочке Linux для начинающих
- Командная строка Linux
- Зачем вообще изучать командную строку Linux?
- Приглашение командной строки
- 10 основных команд
- 1. pwd
- 4. man
- 5. mkdir
- 6. rmdir
- 7. clear
- 8. nano
- 9. cat
- 10. rm
- 11. mv (бонус!)
- Примечания
- Заключение
- Всё о работе в командной строке Linux
- Как открыть командную строку в Linux
- Что такое командная строка bash?
- Основные команды для работы в командной строке Linux
- Команды для службы с файлами и каталогами:
- Системные команды
- Управление действиями
- Сетевые бригады
- Подсказки по использованию команд в Linux
Руководство по выживанию в оболочке Linux для начинающих
Перевод статьи «A Beginner’s Guide to Surviving in the Linux Shell».
Командная строка Linux
Черный экран с белым текстом и без всякой графики. Да, на первый взгляд оболочка Linux выглядит пугающе, но она куда более мощная, чем графические инструменты. 70% серверов и 90% супер-компьютеров в мире работают на Linux. Учебная кривая этой операционной системы довольно крутая, чтобы ее изучить, нужно «пожить» в ней некоторое время. Но когда вы освоитесь в командной строке, у вас появятся навыки, выделяющие вас на общем фоне.
Эта статья представляет и поясняет 10 самых полезных команд Linux. После ее прочтения вы сможете в командной строке делать такие базовые вещи как создание и удаление директорий, редактирование текстовых файлов и т. п.
Зачем вообще изучать командную строку Linux?
Преимущества, которе дает хорошее умение пользоваться командной строкой:
- Вы будете лучше разбираться в своей операционной системе. Оболочка дает вам прямой доступ к вашей файловой системе, благодаря чему вы начинаете лучше понимать иерархию и структуру ОС. Вам также придется иметь дело с конфигурационными файлами (тоже напрямую), а это даст вам возможность более эффективно контролировать свою операционную систему.
- Вы сможете удаленно контролировать компьютеры и серверы. Такие сетевые протоколы как SSH и Telnet позволяют удаленно коннектиться к компьютерам в сети, но только с помощью командной строки, без графического интерфейса. Таким образом, вы сможете пользоваться этими протоколами, только если познакомитесь с оболочкой.
- Вы сможете самостоятельно установить Arch Linux. Этот дистрибутив пугает многих новичков своим методом инсталляции. Чтобы установить Arch Linux, вам придется все делать вручную, от разбивки диска до создания пользователя, и все это – в командной строке. Для этого нужно очень хорошо в ней разбираться.
- Вы сможете зарабатывать настройкой и администрированием Linux-серверов. Во многих компаниях бывают вакансии «Linux System Administrator». Человек на этой позиции занимается поддержкой компьютеров с Linux, а также вносит необходимые изменения в настройки конфигурации. Этот человек должен очень хорошо знать оболочку Linux и все команды, необходимые для настройки системы.
Приглашение командной строки
Открыв приложение-терминал в вашем дистрибутиве Linux, вы увидите черный экран с вашим именем и прочей информацией. После них будет идти курсор: оболочка готова к приему команд. Информацию, которая отображается в приглашении командной строки, можно настроить, но в данной статье мы не будем этого касаться.
Стандартно в приглашении командной строки вы увидите имя пользователя, имя хоста (имя вашего компьютера в сети), название директории, в которой вы находитесь, и знак «$». Этот знак указывает на то, что вы зашли как обычный пользователь, а не root (пользователь root в Linux имеет все права и привилегии, для него будет другой знак – «#»).
10 основных команд
Эти команды позволят вам выполнять в оболочке все те задачи, который вы обычно выполняете с помощью графического пользовательского интерфейса: создание и удаление директорий, написание, редактирование и удаление файлов и т. п.
1. pwd
Команда pwd (print working directory – вывод рабочей директории) выводит полный путь к директории, в которой вы сейчас работаете. Открывая терминал, обычно вы попадаете в свою домашнюю директорию. Таким образом, введя команду pwd, вы получите в выводе /home/(ваше-имя-пользователя). В приглашении командной строки домашняя директория обозначена символом «
Команда cd (change directory – «сменить директорию») меняет рабочую директорию на ту, имя которой вы указываете после имени самой команды. Если вы введете cd myfolder, вашей рабочей директорией станет myfolder. Это имя также отобразится в приглашении командной строки. Но если в вашей текущей директории нет папки с именем myfolder, вы получите сообщение об ошибке.
Если после перехода в другую директорию вы вновь выполните команду pwd, на экран выведется полный путь к вашей новой рабочей директории.
Команда cd .. (в качестве аргумента указаны две точки) сменит рабочую директорию на ее родительскую, т. е., предыдущую в иерархии. В нашем случае мы вернемся в домашнюю папку.
Примечание редакции: для возврата в домашнюю директорию из любой другой можно ввести cd
Также можно указывать абсолютный путь к директории, в которую вы хотите перейти. Абсолютным путем называется полное указание пути, начиная от директории root (/). Например, абсолютный путь к myfolder будет выглядеть как /home/puranjay/myfolder. Именно абсолютный путь вы видите в результате выполнения команды pwd.
Примечание редакции: первый способ указания пути, который использовался в статье, называется относительным. Мы указывали только имя директории myfolder. Это подразумевало, что мы имеем в виду директорию myfolder – дочернюю для нашей рабочей директории. Обозначение родительской директории двумя точками (cd ..) это тоже относительный путь, потому что мы перемещаемся в директорию, родительскую по отношению к нашей рабочей директории.
Команда ls (list – «список»), введенная без дополнительных аргументов, выводит содержимое текущей рабочей директории, а именно – список содержащихся в ней файлов и директорий.
Например, если запустить команду ls, находясь в myfolder, мы получим имена содержащихся в этой папке файлов.
Также можно в качестве аргумента команды ввести абсолютный путь к директории, содержимое которой вы хотите посмотреть. Например, если вы находитесь в домашней директории и запустите команду ls /boot, оболочка выведет содержимое директории boot, находящейся в корневой (/) директории. Ваша рабочая директория при этом не изменится.
Также стоит помнить о том, что «boot» и «/boot» с точки зрения оболочки это разные директории. Просто «boot» это директория или файл в текущей директории, а «/boot» – директория или файл, находящиеся в корневой директории (/). Если вы запустите команду ls boot, вы получите сообщение об ошибке, потому что в текущей (домашней) директории такой папки или такого файла нет.
4. man
Команда man (manual – «руководство») открывает страницу руководства по команде, имя которой вы вводите в качестве аргумента. Это руководство содержит информацию по всем командам, доступным в Linux. Там вы найдете сведения о правильном использовании команды и различных доступных опциях.
Для выхода из страницы man нажмите клавишу «q».
Например, если мы запустим команду man ls, мы получим руководство и команде ls.
5. mkdir
Команда mkdir (make directory – «создать директорию») создает новую директорию с именем, введенным в качестве аргумента команды. Находиться она будет в нашей текущей директории. Например, mkdir hello создаст директорию hello внутри текущей директории. После ее создания можно ввести cd hello и перейти в эту новую директорию. В приглашении командной строки «
» сменится на «hello».
6. rmdir
Команда rmdir (remove directory — «удалить директорию») удаляет/стирает директорию, указанную в качестве аргумента команды. Если мы введем rmdir hello, мы удалим ранее созданную директорию hello.
Нельзя удалить директорию, находясь в ней. Поэтому с помощью cd .. мы перейдем на уровень выше в иерархии и уж затем удалим папку hello.
Также нельзя удалить директорию с помощью команды rmdir, если эта директория не пустая (мы получим сообщение об ошибке).
Чтобы все же заставить оболочку удалить не пустую директорию с помощью команды rmdir, нужно добавить к ней флаг — ignore-fail-on-non-empty. Например, если мы запустим rmdir —ignore-fail-on-non-empty hello, мы удалим папку hello, несмотря на то, что в ней что-то лежит.
Удаление не пустой директории
7. clear
Команда clear очищает окно терминала, удаляя все предыдущие выводы команд. Это бывает полезно, когда вам нужно убрать беспорядок в окне.
8. nano
Nano это консольный текстовый редактор, с помощью которого можно создавать и редактировать текстовые файлы, в том числе файлы конфигурации. Он похож на прочие текстовые редакторы, такие как notepad, за исключением того что он работает только в командной строке (не имеет графического интерфейса).
В большинстве дистрибутивов Linux редактор nano уже предустановлен.
Введя команду nano, вы откроете редактор и получите интерфейс, в котором можно набирать текст.
Для выхода из nano нажмите CTRL+X. При этом редактор спросит вас, хотите ли вы сохранить файл.
Если нажмете «Y», вам будет предложено ввести имя для этого файла. Нажатие ENTER после ввода имени закроет nano. Файл с указанным именем будет сохранен в текущей директории.
9. cat
Команда cat (от слова concatenate – «объединять») используется для вывода содержимого файла в окне терминала. Используется, главным образом, для просмотра содержимого файла. Для этого нужно ввести саму команду, а в качестве аргумента – имя файла (или абсолютный путь к файлу), который вы хотите просмотреть. Содержимое файла будет выведено на экран.
Примечание редакции: имя команды образовано от слова «конкатенация», и основное ее назначение – объединение нескольких файлов в один. Указав в качестве аргументов два разных файла, вы сможете просмотреть их одновременно и даже перезаписать результат в третий файл. Любопытные факты: в Linux есть также команда tac (cat наоборот) – для объединения файлов в обратном порядке, и команда dog – cat с улучшенным функционалом.
10. rm
Команда rm (remove – «удалить») похожа на команду rmdir, но она удаляет любые файлы, не только директории. Для использования этой команды следует указать в качестве аргумента имя файла, который вы хотите удалить. Таким образом можно удалить файл в текущей директории. А если указать абсолютный путь к файлу, то можно удалить любой файл в любой директории.
11. mv (бонус!)
Команда mv (move – «переместить») используется для перемещения и переименования файлов. Формат команды – mv исходное-положение пункт-назначения. Если файлы находятся не в текущей директории, нужно указать путь к ним (относительный или абсолютный).
Примечания
- Оболочка Linux чувствительна к регистру, так что desktop и Desktop это два разных имени.
- Следует с осторожностью прописывать пути к файлам, потому что, например, boot и /boot это две разные директории.
- Единственный способ научиться работать в оболочке Linux это провести в ней некоторое время, используя ее ежедневно. Если основная операционная система на вашей машине это Linux, то вам будет проще.
- Старайтесь найти способ делать все, что вам понадобилось сделать в Linux, с помощью командной строки. Если у вас при этом возникают вопросы, найти ответы на них можно на Stack Overflow.
- Если вы хотите стать настоящим мастером в Linux, можете почитать «Linux Bible» – самое глубокое из всех руководств по этой ОС.
Заключение
Сам я впервые познакомился с терминалом Linux пять лет назад, и меня он тоже пугал. За эти пять лет я каждый день узнавал что-то новое о Linux. Время и силы, которые вы потратите на обучение, ни в коем случае не будут потрачены впустую, они обязательно окупятся. Linux это самый крупный и самый старый проект с открытым исходным кодом, а его изучение – первый шаг к тому, чтобы стать контрибутором этого проекта.
Источник
Всё о работе в командной строке Linux
Лучшая профессиональная работа в Linux немыслима без использования командной строки. Пользователям, привыкшим трудиться в системах с графическим интерфейсом, работа с командной строкой может показаться неудобной: то, что возможно сделать одним перетаскиванием мышью в командной строке потребует ввода с клавиатуры многих слов: команды с аргументами. Однако в Linux этот вид интерфейса всегда был основным, а потому и хорошо развитым. Командная строка (Command Line) или Консоль (Console) или Терминал (Terminal) — интерфейс для управления програмками с помощью команд.
Команды состоят из букв, цифр, символов, набираются построчно, исполняются после нажатия клавиши Enter. Основной инструмент здесь клавиатура. Данный интерфейс встроен в ядро системы, он станет доступен, даже если графический интерфейс не запустится. Преимущества: небольшой расход ресурсов, упругость при составлении перечня действий из команд, возможность автоматического выполнения команд, возможность воспроизводить и вставлять команды. Если сравнивать интерфейсы в разных системах, то можно заметить, что главные команды одинаковы во всех дистрибутивах семейства Linux, а вот графические программы в каждой системе смогут очень сильно различаться.
Как открыть командную строку в Linux
В командных оболочках, утилизируемых в Linux, есть масса способов экономии усилий (нажатий на клавиши) при выполнении более распространённых действий: автоматическое дополнение длинных названий команд или имён файлов, розыск и повторное выполнение команды, уже когда-то исполнявшейся раньше, подстановка списков имён файлов по отдельному шаблону и многое другое. Преимущества командной строки становятся особенно очевидны, когда требуется выполнять однотипные операции над множеством объектов. В системе с графическим интерфейсом требуется столько перетаскиваний мышью, сколько есть объектов, в командной строке будет довольно одной (пусть длинной и сложной) команды.
Как получить доступ к командной строке в Ubuntu? Нет ничто проще. Чтобы открыть эмулятор терминала в Ubuntu, выберите на панели пункт «Приложения->Стандартные->Терминал». Опустится эмулятор терминала — Gnome terminal. Также эмулятор терминала Gnome terminal в Ubuntu возможно запустить из окна запуска приложений. Для этого нажмите Alt+F2 и введите в открывшемся окне заглавие программы — «gnome-terminal». Чтобы получить доступ к настоящей текстовой консоли, возможно воспользоваться комбинациями клавиш Ctrl+Alt+F1… Ctrl+Alt+F6. Ctrl+Alt+F7 — переход обратно в графичный режим.
Командная строка, оболочка, консоль — эти термины используются для обозначения взаимодействия человека-оператора с операторной системой с применением стандартных устройств ввода-вывода, обеспечивающих ввод команд и получение итогов их выполнения. В операционных системах семейства Linux подобное взаимодействие обеспечивается специальным программным провиантом — оболочкой ( shell ) . Наиболее распространенной из них, является оболочка проекта GNU bash ( Bourne Again SHell ). Bash строится на оболочке Bourne ( sh ) созданной Стефеном Борном и включает в себя свойства множества иных оболочек — C ( csh ) , Korn ( ksh ), tc ( tcsh ) . Bash была написана Брайаном Фоксом (Brian Fox ) и в истиннее время поддерживается Четом Рейми ( Chet Ramey ).
Что такое командная строка bash?
Bash расшифровывается как Bourne again shell (что возможно перевести как «Еще одна оболочка Борна»), название частично заимствованно от более ранешней версии командной оболочки UNIX, которая называлась просто Bourne shell («Оболочка Борна» – по имена разработчика Стивена Борна). Bash позволяет интерактивно взаимодействовать с компьютером, вводя некоторые команды и получая на них соответствующий отклик. Также этот командный процессор позволяет исполнять скрипты (команды из файла), может производить автодополнение названий файлов и директорий, благоволит использование переменных, операторов ветвления и цикла. Далее в статье будут приведены наиболее простые и необходимые для работы в bash команды, которые помогут вам сориентироваться и начать сами использовать командную строку для своих задач, но сначала необходимо перейти к интерфейсу инструктивной строки.
Командный интерпретатор bash – это один из нескольких интерпретаторов, доступных в Linux. Иное свое название – Bourne-again shell – интерпретатор bash получил в честь Стивена Борна (Stephen Bourne), творца его ранней версии (/bin/sh). По большей части bash совместим с sh, но содержит множество улучшений, касающихся как функциональность, так и возможности программирования. Bash сочетает возможности интерпретаторов Korn shell (ksh) и C shell (csh) и представляется POSIX-совместимым интерпретатором.
Основные команды для работы в командной строке Linux
Команды для службы с файлами и каталогами:
- pwd – отобразить путь текущего каталога
- cd – перейти в указанный каталог
- ls – показать список файлов каталога, с ключом -l показывает дополнительные сведения о файлах.
- cp – копирование файлов/папок
- mv – смещение файлов/папок
- mkdir – создать папку
- rm – удалить файлы/папки, с ключом -r устраняет и все вложенные папки, с ключом -f — удаляет открытые файлы или каталоги
- rmdir – удаление порожний папки
- chmod – изменить права доступа к файлу
- chown — сменить владельца файла или каталога
- find — отыскать файл. Задается исходный путь для поиска и шаблон поиска, find / -name .X* — разыскивать от корневого каталога файлы, содержащие в имени символы .X
- which — отобразить полный путь выполняемого файла, доступного в данной оболочке, например which ifconfig
- touch — изменить преходящие отметки файла. Удобно использовать для создания пустых файлов – touch myfile основывает пустой файл myfile .
Системные команды
Эти команды обычно используется от имени суперпользователя ( с бригадой sudo ).
- reboot – перезагрузка системы
- poweroff – выключение компьютера
- reset – очищает окно терминала
- passwd – переменить свой пароль, а суперпользователю — поменять пароль любого пользователя
- users — отобразить перечень пользователей, вошедших в систему.
- yum — установка, удаление или обновление программного обеспечения в дистрибутивах Fedora, RedHat и т.п.
- dpkg — аппарат, удаление или обновление программного обеспечения в дистрибутивах Debian, Ubuntu и т.п.
- apt-get — установка, устранение или обновление программного обеспечения в дистрибутивах на основе Debian (Ubuntu, Mint и т.п.)
Управление действиями
- ps – отобразить список текущих активных процессов
- lsof — отобразить список открытых файлов процесса или юзера
- strace — отобразить список системных вызовов
- last — отобразить историю перезагрузок и регистраций юзеров в системе
- kill – послать сигнал процессу, обычно используется для принудительного завершения службы процесса.
- killall – завершение работы всех процессов, имена которых заданы метеопараметром командной строки
- top – отображение списка текущих процессов и интерактивное управление ими.
Сетевые бригады
- ifconfig – конфигурация сетевых интерфейсов
- route — таблица маршрутизации
- ifup / ifdown — подсоединить /выключить сетевой интерфейс
- ip — просмотр или изменение параметров конфигурации протокола IP
- netstat — показать состояние сетевых соединений
- arp, ping, nslookup, traceroute — наиболее часто используемые бригады сетевой диагностики.
Подсказки по использованию команд в Linux
При работе в командной оболочке Linux, в основной массе случаев, можно получить справочную информацию по использованию конкретной команды, введя ее имя с метеопараметром —help:
ls —help — отобразить справку для команды ls. В большинстве случаев, для получения справочной данных, допускается использование ключа -h
ls -h В операционных системах семейства Linux, более подробную ссылочную информацию можно получить из комплекта документации, известного как man-страницы, поскольку он доступен по бригаде man. Этот комплект включает в себя 8 разделов, содержащих справочную информацию, которую возможно вывести на экран с использованием команды man
Источник