В данном посте приведен минимальный базовый список команд для уверенной работы в командной строке 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