Руководство по выживанию в оболочке Linux для начинающих
Перевод статьи «A Beginner’s Guide to Surviving in the Linux Shell».
Командная строка Linux
Черный экран с белым текстом и без всякой графики. Да, на первый взгляд оболочка Linux выглядит пугающе, но она куда более мощная, чем графические инструменты. 70% серверов и 90% супер-компьютеров в мире работают на Linux. Учебная кривая этой операционной системы довольно крутая, чтобы ее изучить, нужно «пожить» в ней некоторое время. Но когда вы освоитесь в командной строке, у вас появятся навыки, выделяющие вас на общем фоне.
Эта статья представляет и поясняет 10 самых полезных команд Linux. После ее прочтения вы сможете в командной строке делать такие базовые вещи как создание и удаление директорий, редактирование текстовых файлов и т. п.
Зачем вообще изучать командную строку Linux?
Преимущества, которе дает хорошее умение пользоваться командной строкой:
Приглашение командной строки
Открыв приложение-терминал в вашем дистрибутиве Linux, вы увидите черный экран с вашим именем и прочей информацией. После них будет идти курсор: оболочка готова к приему команд. Информацию, которая отображается в приглашении командной строки, можно настроить, но в данной статье мы не будем этого касаться.
Стандартно в приглашении командной строки вы увидите имя пользователя, имя хоста (имя вашего компьютера в сети), название директории, в которой вы находитесь, и знак «$». Этот знак указывает на то, что вы зашли как обычный пользователь, а не root (пользователь root в Linux имеет все права и привилегии, для него будет другой знак – «#»).
10 основных команд
Эти команды позволят вам выполнять в оболочке все те задачи, который вы обычно выполняете с помощью графического пользовательского интерфейса: создание и удаление директорий, написание, редактирование и удаление файлов и т. п.
1. pwd
Команда pwd (print working directory – вывод рабочей директории) выводит полный путь к директории, в которой вы сейчас работаете. Открывая терминал, обычно вы попадаете в свою домашнюю директорию. Таким образом, введя команду pwd, вы получите в выводе /home/(ваше-имя-пользователя). В приглашении командной строки домашняя директория обозначена символом «
Команда cd (change directory – «сменить директорию») меняет рабочую директорию на ту, имя которой вы указываете после имени самой команды. Если вы введете cd myfolder, вашей рабочей директорией станет myfolder. Это имя также отобразится в приглашении командной строки. Но если в вашей текущей директории нет папки с именем myfolder, вы получите сообщение об ошибке.
Если после перехода в другую директорию вы вновь выполните команду pwd, на экран выведется полный путь к вашей новой рабочей директории.
Примечание редакции: для возврата в домашнюю директорию из любой другой можно ввести cd
Также можно указывать абсолютный путь к директории, в которую вы хотите перейти. Абсолютным путем называется полное указание пути, начиная от директории root (/). Например, абсолютный путь к myfolder будет выглядеть как /home/puranjay/myfolder. Именно абсолютный путь вы видите в результате выполнения команды pwd.
Команда 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 и перейти в эту новую директорию. В приглашении командной строки «
6. rmdir
Команда rmdir (remove directory — «удалить директорию») удаляет/стирает директорию, указанную в качестве аргумента команды. Если мы введем rmdir hello, мы удалим ранее созданную директорию 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 пять лет назад, и меня он тоже пугал. За эти пять лет я каждый день узнавал что-то новое о Linux. Время и силы, которые вы потратите на обучение, ни в коем случае не будут потрачены впустую, они обязательно окупятся. Linux это самый крупный и самый старый проект с открытым исходным кодом, а его изучение – первый шаг к тому, чтобы стать контрибутором этого проекта.
50 основных команд Linux для новичков
Терминал и текстовые команды — главный способ управления операционной системой Linux. Особенно, если речь идет о сервере – на него редко ставят графический интерфейс, и вся работа выполняется исключительно через командную строку. Поэтому любому администратору важно знать хотя бы с десяток ключевых команд для терминала Линукс, нужных для навигации в системе и базового управления файлами. В этом материале мы их как раз разберем.
Базовые команды для работы с терминалом
То, что поможет при работе с консолью в целом.
Команды для управления правами на файлы и директории
Все, что нужно для разрешения проблем, связанных с правами в Linux.
Команды для управления пользователями
Linux — многопользовательская система. Ей одновременно могут управлять несколько людей. Поэтому здесь достаточно сложная система добавления и редактирования учетных записей.
Установка, удаление и обновление пакетов
Для установки программ в Linux используются менеджеры пакетов. Они разнятся от дистрибутива к дистрибутиву, поэтому команды для управления ими тоже отличаются. Рассмотрим наиболее популярные.
Debian/Ubuntu
Red Hat Linux/CentOS
Команды для навигации и базовой работы с файлами
Самый крупный список в статье. Содержит в себе практически все мелкие утилиты и инструменты для взаимодействия с файлами и папками. Причем речь идет не только об их изменении, но и о получении информации о них.
Вот, что написано в тестовом документе
Что в терминал выводит cat
И что выводит grep
Команды для отображения базовой информации и управления системой
Утилиты, делящиеся разного рода справочной информацией с администратором компьютера.
На этом все. Это список команд, которыми я хотел бы поделиться с новичками. Я разобрал основное, что будет важно в самом начале работы. Ну а вы всегда можете воспользоваться документацией, открывающейся через man, и подробнее ознакомиться с любой из команд или утилит.
Командная строка Linux: краткий курс для начинающих
Введение
Требования
Для разных операционных систем командную строку можно открывать с помощью приложений:
С подробным описанием команд для Ubuntu можно ознакомиться в официальной документации.
Вход на сервер через терминал
В операционной системе Ubuntu 20.04 открыть командную строку можно двумя способами: через консоль и через графический терминал.
Для работы через консоль следует нажать сочетание клавиш Ctrl+Alt+F1, для возврата в графический интерфейс — сочетание клавиш Ctrl+Alt+F7.
Для запуска терминала нажмите сочетание клавиш Ctrl+Alt+T.
Внизу экрана располагается приглашение командной строки — последовательность символов, извещающая о готовности к обработке команд:
Базовые команды, используемые при настройке сервера
После создания нового сервера необходимо предпринять несколько шагов по его базовой настройке.
Для того чтобы открыть сервер под учетной записью заведенного пользователя введите команду:
Для входа на сервер под учетной записью root используйте команду, заменив SERVER_IP_ADDRESS на публичный IP-адрес вашего сервера:
Для создания новой учетной записи пользователя введите команду, заменив имя DEMO на любое другое необходимое имя:
Для открытия конфигурационного файла в текстовом редакторе под пользователем root введите команду:
Для замены строчки в открывшемся конфигурационном файле найдите, например, строчку Port 22 и замените число 22 на любое другое число (от 1025 и до 65536).
После внесения изменений сохраните и закройте файл, нажав сочетание клавиш CTRL-X, затем клавишу Y, затем клавишу ENTER.
Для перезапуска сервиса SSH выполните следующую команду:
Для выполнения команды с привилегиями root-пользователя, перед ней следует поставить слово sudo:
Для завершения сессии выполните команду:
Обзорное описание команд, аргументов и опций для них
Для запуска команды следует ввести команду и нажать клавишу Enter.
Команды выполняются последовательно, для выполнения следующей появится приглашение командной строки (если не использовать специальные скрипты).
Для того чтобы открыть страницу с подробным описанием команды Linux, например ip address, введите команду man с именем команды:
Запуск без аргументов и опций
При запуске команд без аргументов:
Пример:
Выполнив команду ls без параметров, получаем список файлов в каталоге:
Запуск с аргументами (параметрами)
Большинство команд рассчитано на запуск с передачей аргументов (параметров).
Наиболее распространенное использование команды cd — вызов с аргументом, который является путем к директории, в которую следует перейти:
Запуск с опциями
Многие команды также поддерживают опции (флаги, ключи) запуска, позволяющие изменять результат выполнения команды. Опции представляют собой одиночный символ после символа «-», либо в расширенном написании после «—».
Пример:
Запуск с аргументами и опциями (одновременно)
Структура записи команды с опциями и аргументами:
Пример:
Переменные окружения
Окружение/среда (environment) — это набор пар ПЕРЕМЕННАЯ=ЗНАЧЕНИЕ, которые могут использоваться запускаемыми процессами.
Просмотр переменных окружения
Для того чтобы посмотреть свое окружение введите команду без аргументов:
В зависимости от конфигурации системы, вывод списка переменных окружения может занять несколько экранов, поэтому лучше использовать команду:
Просмотр значения переменной
Переменные окружения могут формироваться как из заглавных, так и из строчных символов, однако исторически повелось именовать их в верхнем регистре.
Для перехода в домашнюю директорию следует использовать команду:
Установка переменных окружения
Для установки значений переменной окружения введите команду:
VAR — название переменной;
value — значение переменной.
Пример:
Выполнив команду var=value, после вывода на просмотр получаем результат value:
Заключение
Мы познакомились с принципами работы в командной строке и базовыми командами.
В последующих статьях цикла, описывающего принципы работы в Linux, вы изучите с работой в bash (переменные, условия, циклы, примеры простых скриптов), а также ознакомитесь с управлением файлами и каталогами, созданием пользователей и настройкой прав.
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Азы работы в командной строке Linux (часть 1)
Возникло желание написать мануал о консоли, базовых командах и азах файловой системы Linux. Когда я начинал своё знакомство с Linux именно такой инструкции мне не хватало. Надеюсь, абсолютным новичкам, которых пугают консольные команды, она поможет «влиться» в число умеющих использовать командную строку Linux.
Командная строка Linux
В зависимости от вашего Linux, ярлык для открытия консоли может быть вынесен на рабочий стол,
добавлен в избранные команды,
доступен в контекстном меню при клике правой кнопкой мыши в области рабочего стола.
Либо вы для вызова эмулятора терминала вы можете воспользоваться сочетанием клавиш CTRL + ALT + t.
В приглашении командной строки отображается имя пользователя и имя хоста. Перед областью ввода команд может быть символ решётки (#) или символ доллара ($). Символ доллара означает, что вы работаете под обычным пользователем, а символ решётки – что под суперпользователем (root).
TAB для автодополнения
При вводе команды или имени файла, обязательно используйте клавишу TAB – она автоматически допишет для вас команду или имя файла. Если при нажатии на TAB ничего не происходит, то быстро нажмите TAB два раза, чтобы увидеть все доступные варианты. Если варианты не выводятся, то это верный признак того, что: 1) вы неправильно начали вводить имя команды, 2) программа, которую вы намереваетесь запустить, ещё не установлена.
ENTER для запуска выполнения команд
Набрав команду, нажмите ENTER и после этого она запустится.
CTRL + c для прерывания выполнения программы
Если вы хотите оборвать выполнение команды, то используйте для этого сочетание клавиш CTRL + c. Если вы ввели команду, но передумали её запускать, то вместо удаления строки, можете также нажать CTRL + c.
↑ (курсорная клавиша вверх) для просмотра истории команд
Если вы хотите повторить выполнение команды, то клавишами ↑ и ↓ вы можете пролистать историю ранее введённых команд, выбрать любую из них для повторного выполнения, отредактировать перед запуском.
Азы файловой системы Linux
Если нужно прочитать какие-то данные или сохранить информацию в файл из консоли, нужно уметь указывать путь до файла. В файловой система Linux нет такого понятия как буквы дисков. Там используется понятие «корень». Обозначается корень символом /
После корня указываются папки (в Linux они называются директориями) и файлы. Одни папки могут быть вложены в другие – точно также как в Windows. Вложенные папки и файлы разделяются символом / (точно таким же как корень).
Пример указания пути до файла:
Эта запись означает, что файл book.txt находится в папке mial, а папка mial находится в папке home.
Базовые команды Linux
pwd для показа текущей рабочей директории
Откройте консоль и введите туда
Здесь / (первый слеш) – это корень, home – это название папки (директории), далее / (второй слеш) – отделяет название вложенной папки, mial – название второй вложенной папки.
Команда pwd показывает «текущую рабочую директорию». Текущую рабочую директорию нужно знать при указании относительных путей до файлов и папок, также некоторые программы сохраняют результаты своего выполнения в текущую директорию.
mkdir для создания новых директорий
После mkdir укажите название папки, которую вы хотите создать. Если вы укажите относительный путь, например, так:
То будет создана новая папка test1 в текущей рабочей директории, т.е. в моём случае путь до неё будет
Также можно указать абсолютный путь до папки:
ls для просмотра содержимого каталогов
Команда ls используется для вывода списка файлов и папок текущей рабочей директории:
Теперь мы можем убедиться, что папки test1 и test2 действительно были созданы.
Чтобы список выглядел лучше, можно использовать команду ls с опцией -l
После команды и опций можно указать путь до папки, содержимое которой вы хотим посмотреть. Чтобы увидеть содержимое директории /var/log нужно ввести:
Для просмотра содержимого корневой директории:
cd для перехода по папкам (смены текущей рабочей директории)
Для перехода по папкам используется команда cd после которой пишется директория, в которую вы хотите перейти. Можно указывать относительный путь или абсолютный:
Символ . (одна точка) означает текущую директорию, а символ .. (две точки) означаете родительскую директорию. Следовательно, для перехода на один уровень вверх нужно набрать
cp для копирования файлов
Если вам нужно скопировать файл в другую директорию, то используется команда cp. После неё указывается файл, который нужно скопировать и затем через пробел директория, куда вы хотите поместить файл, например:
Этой командой я скопировал файл test.sh в директорию test1. Проверим
mv для переименования и перемещения файлов.
После команды mv указывается имя файла, который вы хотите переименовать или переместить. Затем через пробел пишется директория, куда вы хотите переместить файл (тогда файл будет перемещён в неё с исходным именем), или директория и новое имя файла (тогда файл будет перемещён и переименован), или только новое имя файла (тогда файл будет переименован).
Файл test.sh из каталога test1 я переместил в каталог test2:
Файл test.sh в каталоге test2 я переименовал в test2.sh:
Файл test2.sh в каталоге test2 я переместил в каталог test1 и присвоил ему имя new.txt:
rm для удаления файлов и папок
Чтобы удалить наши тестовые директории, воспользуемся командой rm. После этой команды укажите путь до файла или папки, которые нужно удалить. Если вы собираетесь удалить директорию, то используйте также опцию -r, она означает рекурсивно удалять каталоги и их содержимое. Можно указать сразу несколько файлов и (или) каталогов:
Для понимания иерархии файловой системы рекомендуется ещё одна статья для новичков «Структура директорий Linux. Важные файлы Linux».
Как копировать текст в командной строке и как вставлять в командную строку Linux
Привычные сочетания клавиш Ctrl+c и Ctrl+v в терминале имеют другое действие. Для копирования нужно использовать Ctrl+Insert, а для вставки Shift+Insert.
Ошибка «команда не найдена»
Причиной данной ошибки могут быть:
Ещё несколько полезных сочетаний клавиш для командной строки Linux
Одна из самых часто используемых:
Имеется функционал копи-пастинга:
Основы работы в командной строке Linux
В настоящее время работать в Linux можно и без использования командной строки. Почти все основные действия можно выполнять используя графические приложения. Но основные команды и утилиты командной строки, я думаю, должен знать каждый, кто работает в Linux.
Многие действия с помощью утилит командной строки можно выполнять значительно быстрее, чем использовать графические аналоги, главное знать требуемые команды. Утилиты командной строки зачастую имеют значительно большие возможности или у них вообще отсутствуют графические аналоги. Наконец, командная строка предоставляет свободу, в ней делаешь то, что ты хочешь и как хочешь, а не ищешь нужную галочку или поле в графической программе.
Запуск эмулятора терминала в Ubuntu
Приглашение к вводу команды
Приглашение к вводу команды в эмуляторе терминала имеет следующий формат:
Здесь — это имя, которое вы использовали для входа в систему и под которым вы сейчас работаете. Затем идет значок @, за ним имя локальной системы, далее двоеточие и имя текущего каталога, в котором вы в данный момент находитесь.
В эмуляторе gnome-terminal при запуске терминала в качестве каталога используется значок тильда
Основные команды Linux
Ниже я вкратце рассмотрю некоторые основные команды (утилиты) Linux и их опции, которые часто приходится использовать при работе в командной строке. Некоторые команды я приведу с примерами, а некоторые просто с кратким описанием.
ls — вывод имен файлов
Теперь приведу несколько примеров. Выполнив команду ls без параметров, вы получите просто список файлов в каталоге.
mkdir — создание каталога
cp — копирование файла
mv — перемещение, переименование файла
rm — удаление файла
Команда rm предназначена для удаления файлов. Основные опции команды:
cd — смена текущего каталога
Команда cd предназначена для смены каталога, в котором вы сейчас находитесь. Например, вы сейчас находитесь в своем домашнем каталоге
и хотите перейти в каталог
Если выполнить команду cd без параметров, то вы перейдете в свой домашний каталог
/information мы можем перейти в каталог
cat — вывод содержимого файла
pwd — вывод полного пути текущего каталога
Команда pwd используется, чтобы вывести полный путь текущего каталога.