Базовый набор команд для работы в консоли Linux/Ubuntu

👁 119 просмотров

 

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

Порядок выполнения команд в Ubuntu

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

Безусловное последовательное выполнение — это когда одна за другой выполняются команды в той последовательности, в которой они записаны. Например, мы хотим выполнить сначала одну команду. Затем, когда она отработает (вернет управление в командную строку), нам нужно запустить вторую команду. Для этого служит символ точка с запятой ;. Таким образом, если вы выполните в терминале:

mycommand1; mycommand2; mycommand3

то сначала запустится первая команда mycommand1, а когда управление вернется в терминал, то запустится вторая и так далее.

Зависимое выполнение команд через оператор && — это означает, что команда mycommand2 будет выполнена только в том случае, если команда mycommand1 была выполнена успешно. Каждая следующая команда выполняется только при успешном выполнении предыдущей. К примеру:

mycommand1 && mycommand2 && mycommand3

Зависимое выполнение команд через оператор || — это означает, что команда mycommand2 будет выполнена только, если mycommand1 вернула ошибку. Каждая следующая команда запускается только если предыдущая вернула ошибку. К примеру:

mycommand1 || mycommand2 || mycommand3

то команда mycommand2 будет выполнена только, если mycommand1 вернула ошибку. Каждая следующая команда запускается только если предыдущая вернула ошибку.

reboot — перезагрузка операционной системы через консоль

Перезагружает систему через консоль. Форма записи обычная:

reboot

apt-get — управление приложениями через менеджер пакетов Ubuntu

apt-get позволяет устанавливать, обновлять, удалять приложения и пакетами ОС Ubuntu. Форма записи:

sudo apt-get install[uninstall, update] <package_name>

Очень полезно обновлять информации о доступных пакетов через команду:

sudo apt-get update

Зачастую, apt-get может и не установить какой-то пакет из репозитория, если мы не выполним обновление информации.

whoami — выводит логин текущего пользователя

Выводит имя пользователя, который на данный момент работает в консоли. Форма записи:

whoami

aptitude — более совершенная версия команды apt-get

Это более совершенный менеджер пакетов. В частности, позволяет очень эффективно обновлять пакеты, сохраняя все зависимости:

sudo aptitude safe-upgrade

bash — команды оболочки командной строки Ubuntu

Это команды, который позволяют работать со средой окружения. К прими, на основе их можно написать целые скрипты с расширением *.sh и выполнять их:

bash myscript.sh

Есть переменные среды окружения Ubuntu, в которых система хранит те или иные данные. К примеру, командой echo можно вывести данные, хранящиеся в переменных $USER, $HOME, $PATH:

echo $USER[$HOME, $PATH]

Очень важно упомянуть в данном контексте 3 важных скрытых файла оболочки bash в корневой директории root:

  • .bashrc
  • .bash_profile
  • .profile

Данные файлы загружаются при каждом начале сессии загрузки командной строки или системы Ubuntu. Это файлы настроек начальной загрузки сессии пользователя и внутри них прописаны сценарии начальной загрузки системы.

ls — вывод списка всех файлов и директорий в указанном пути

Выводит весь список файлов и папок в определенной директории, которую мы укажем. Форма записи:

ls /dir/name

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

Чтобы показать и скрытые файлы нужно вывести через набор команды и ключа -a:

ls -a

К примеру, для вывода полной информации с правами доступа, владельцами и со скрытыми папками и файлами можно набрать комбинацию этой команды с ключами в виде:

ls -la /dir/name

mkdir — создание папки или директории по указанному пути

Позволяет создавать папку через командную строку в Ubuntu. Если требуется создавать вложенные папки, то они разделяются через прямой слэш (/):

mkdir my/new/dir

pwd — показывает текущую директорию, где находится пользователь

Форма записи:

pwd

Тоже самое можно увидеть, если вывести это через системную переменную $PWD, в котором Ubuntu этот путь и хранит:

echo $PWD

cd — команда перехода по папкам и директориям

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

cd ../

Для перехода в какую-то директорию в пределах текущей директории нужно выполнить:

cd ./folder/name

или

cd folder/name

а если хотим из текущей директории перейти сразу в какой-нибудь параллельный раздел, то надо указать абсолютный путь с указанием / в начале пути:

cd /usr/bin

cp — команда копирования файлов и папок в Ubuntu

Позволяет копировать указанный файл, принимаемый первым параметром в виде файла, указанный вторым параметром:

cp filename.txt filename_copy.txt

Если мы хотим копировать папки с содержимым, то надо еще указать ключ реверсного копирования -r:

cp -r foldername foldername_copy

mv — перемещение или переименование папки из одного в другое место(имя)

Суть переименования и перемещения в среде программирования  — идентичные операции, поэтому эта команда служит для двоякого использования:

mv dirname new_dirname

или мы можем переместить:

mv dirname folder/dirname

если хотим переместить файл, то надо первым параметром указать имя файла, а вторым — путь, по которому он будет перемещен:

mv filename.txt folder/path/

rm — удаление файлов и папок в Ubuntu

Данная команда позволяет удалять файлы и папки, передаваемые первым параметром:

rm filename.txt

а если хотим удалить папку и его содержимое, то надо указать ключ рекурсивности -rf:

rm -rf foldername

если хотим удалить только все содержимое папки, без самой папки, то надо после слэша написать выражение *:

rm foldername/*

nano/vi/…  — редактирование файлов в Ubuntu

На самом деле по умолчанию в Ubuntu нет встроенной команды редактирования и для этого надо будет установить любой из доступных редакторов через пакетный менеджер. Есть такие популярные редакторы, как nano/ vi/vim/ joe и т.д.

netstat — команда вывода на консоль информации о состоянии TCP соединения процессов

Одна из полезных комбинаций данной команды — это вывод информации о запущенных процессах, занимаемых ими портов и адресов сети:

netstat --tcp --listening --program

Еще одна полезна комбинация — это вывод всех занятых процессами портов:

netstat -ntlp | grep LISTEN

kill — убивает тот или иной процесс по ID или по PID

Чтобы убить процесс по PID:

kill PID

чтобы убить процесс принудительно по PID добавляем ключ -9:

kill -9 PID

lsof — команда для вывода информации о том, какие файлы или порты используются теми или иными процессами

Одна из полезных комбинаций данной команды — вывод процессов, которые занимают тот или иной порт:

lsof -Pni :3306

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

lsof -i tcp:3000
kill -9 PID