Содержание
В данном посте приведен минимальный базовый список команд для уверенной работы в командной строке Linux/Ubuntu.
Порядок выполнения команд в Ubuntu
В консоли Ubuntu несколько команд можно комбинировать и создавать условия выполнения, в заивисмости от итога выполнения предыдущей команды.
Безусловное последовательное выполнение — это когда одна за другой выполняются команды в той последовательности, в которой они записаны. Например, мы хотим выполнить сначала одну команду. Затем, когда она отработает (вернет управление в командную строку), нам нужно запустить вторую команду. Для этого служит символ точка с запятой ;. Таким образом, если вы выполните в терминале:
то сначала запустится первая команда mycommand1, а когда управление вернется в терминал, то запустится вторая и так далее.
Зависимое выполнение команд через оператор && — это означает, что команда mycommand2 будет выполнена только в том случае, если команда mycommand1 была выполнена успешно. Каждая следующая команда выполняется только при успешном выполнении предыдущей. К примеру:
Зависимое выполнение команд через оператор || — это означает, что команда mycommand2 будет выполнена только, если mycommand1 вернула ошибку. Каждая следующая команда запускается только если предыдущая вернула ошибку. К примеру:
то команда mycommand2 будет выполнена только, если mycommand1 вернула ошибку. Каждая следующая команда запускается только если предыдущая вернула ошибку.
reboot — перезагрузка операционной системы через консоль
Перезагружает систему через консоль. Форма записи обычная:
apt-get — управление приложениями через менеджер пакетов Ubuntu
apt-get позволяет устанавливать, обновлять, удалять приложения и пакетами ОС Ubuntu. Форма записи:
Очень полезно обновлять информации о доступных пакетов через команду:
Зачастую, apt-get может и не установить какой-то пакет из репозитория, если мы не выполним обновление информации.
whoami — выводит логин текущего пользователя
Выводит имя пользователя, который на данный момент работает в консоли. Форма записи:
aptitude — более совершенная версия команды apt-get
Это более совершенный менеджер пакетов. В частности, позволяет очень эффективно обновлять пакеты, сохраняя все зависимости:
bash — команды оболочки командной строки Ubuntu
Это команды, который позволяют работать со средой окружения. К прими, на основе их можно написать целые скрипты с расширением *.sh и выполнять их:
Есть переменные среды окружения Ubuntu, в которых система хранит те или иные данные. К примеру, командой echo можно вывести данные, хранящиеся в переменных $USER, $HOME, $PATH:
Очень важно упомянуть в данном контексте 3 важных скрытых файла оболочки bash в корневой директории root:
Данные файлы загружаются при каждом начале сессии загрузки командной строки или системы Ubuntu. Это файлы настроек начальной загрузки сессии пользователя и внутри них прописаны сценарии начальной загрузки системы.
ls — вывод списка всех файлов и директорий в указанном пути
Выводит весь список файлов и папок в определенной директории, которую мы укажем. Форма записи:
В обычной записи эта команда не выведет скрытые файлы и папки, которые начинаются с точки, а для их вывода используются ключи дополнительного управления командами через дефис.
Чтобы показать и скрытые файлы нужно вывести через набор команды и ключа -a:
К примеру, для вывода полной информации с правами доступа, владельцами и со скрытыми папками и файлами можно набрать комбинацию этой команды с ключами в виде:
mkdir — создание папки или директории по указанному пути
Позволяет создавать папку через командную строку в Ubuntu. Если требуется создавать вложенные папки, то они разделяются через прямой слэш (/):
pwd — показывает текущую директорию, где находится пользователь
Тоже самое можно увидеть, если вывести это через системную переменную $PWD, в котором Ubuntu этот путь и хранит:
cd — команда перехода по папкам и директориям
Позволяет пользователю перемещаться по разделам и директориям системы. К примеру, для перехода на один уровень выше нужно выполнить:
Для перехода в какую-то директорию в пределах текущей директории нужно выполнить:
а если хотим из текущей директории перейти сразу в какой-нибудь параллельный раздел, то надо указать абсолютный путь с указанием / в начале пути:
cp — команда копирования файлов и папок в Ubuntu
Позволяет копировать указанный файл, принимаемый первым параметром в виде файла, указанный вторым параметром:
Если мы хотим копировать папки с содержимым, то надо еще указать ключ реверсного копирования -r:
mv — перемещение или переименование папки из одного в другое место(имя)
Суть переименования и перемещения в среде программирования — идентичные операции, поэтому эта команда служит для двоякого использования:
или мы можем переместить:
если хотим переместить файл, то надо первым параметром указать имя файла, а вторым — путь, по которому он будет перемещен:
rm — удаление файлов и папок в Ubuntu
Данная команда позволяет удалять файлы и папки, передаваемые первым параметром:
а если хотим удалить папку и его содержимое, то надо указать ключ рекурсивности -rf:
если хотим удалить только все содержимое папки, без самой папки, то надо после слэша написать выражение *:
nano/vi/… — редактирование файлов в Ubuntu
На самом деле по умолчанию в Ubuntu нет встроенной команды редактирования и для этого надо будет установить любой из доступных редакторов через пакетный менеджер. Есть такие популярные редакторы, как nano/ vi/vim/ joe и т.д.
netstat — команда вывода на консоль информации о состоянии TCP соединения процессов
Одна из полезных комбинаций данной команды — это вывод информации о запущенных процессах, занимаемых ими портов и адресов сети:
Еще одна полезна комбинация — это вывод всех занятых процессами портов:
kill — убивает тот или иной процесс по ID или по PID
Чтобы убить процесс по PID:
чтобы убить процесс принудительно по PID добавляем ключ -9:
lsof — команда для вывода информации о том, какие файлы или порты используются теми или иными процессами
Одна из полезных комбинаций данной команды — вывод процессов, которые занимают тот или иной порт:
К примеру, какой-то процесс занял нужный нам порт и нам нужно узнать его PID и принудительно освободить этот порт и для этого можно набрать:
Операционная система Убунту (Ubuntu) имеет дружественный графический интерфейс (GUI), который позволяет решать практически все задачи не прибегая к написанию команд в консоли.
Но все же бывают моменты и обстоятельства, при которых возникает необходимость ручного ввода команд в консоли.
В этой статье я буду описывать наиболее популярные и необходимые команды, которые позволят вам решить возникшие перед вами задачи.
Ну, начнем помаленьку.
Сначала кратко часто употребляемые команды, а дальше будет развернутая таблица команд.
И ссылочка на форум с топиком по командам: http://forum.ubuntu.ru/index.php?topic=14535.15
Системные команды
— эта команда выводит справочную информация по нужной вам команде, такую как синтаксис, ключи, описание и т.д. Синоним info.
sudo — переход в режим суперпользователя
(после первой команды sudo необходимо ввести пароль пользователя).
Для запуска в терминале команды с правами администратора просто наберите перед ней sudo.Пример: sudo reboot
reboot — перезагрузка системы
poweroff — выключение компьютера
reset — очищает окно терминала, работает даже если вы потеряли курсор
passwd — позволяет пользователю поменять свой пароль,
а суперпользователю — поменять пароль любого зарегистрированного в
free — получить информацию об оперативной памяти (всего, занято, свободно, в swap).
Команды для работы с файлами
pwd – показать текущий каталог
cd — переход в заданную папку
ls — показывает список файлов текущей папки, с ключом -l показывает дополнительные сведения о файлах
cp — копирование файлов/папок
mv — перемещение файлов/папок
rm — удаление файлов/папок, с ключем -R удаляет и все вложенные папки
mkdir — создать папку
rmdir — удаление пустой папки
chmod — изменить права доступа к файлу.
Команды для работы с пакетами
Это одна команда (утилита) с разными ключами.
apt-get update — обновление информации о пакетах из репозиториев
apt-get upgrade — обновление всех пакетов
apt-get clean — очищает локальный репозиторий, т.е. удаляет всё, что вы ранее скачивали. Очень полезно иногда прогонять для очистки диска.
apt-get autoremove — удаление ранее скачаных, но более ненужных пакетов
apt-get remove — удаление пакета из системы, с сохранением его конфигурационных файлов
apt-get purge — удаление пакета со всеми зависимостями
apt-get install — установка пакета.
Управление процессами
ps — показывает текущие активные процессы
kill — команда отправляет сигнал прекращения работы тому или иному процессу, используется для прекращения работы зависшего приложения
killall — прекращение работы всех процессов, соответствующих заданным параметрам
top — интерактивный список текущих процессов, отсортированных по % использования центрального процессора.
Сетевые команды
ifconfig — выводит информацию о сетевых интерфейсах (в windows используется ipconfig)
pppoeconf — комманда настройки подключения к интернет
ping host – пропинговать host и вывести результат
whois domain – получить информацию whois для domain
route host — показать путь прохождения пакетов, от вас к host
wget file – скачать file
ssh user@host – подключится к host как user
ufw enable — включить фаервол
ufw disable — выключить фаервол.
Прочее команды терминала
clear — очищает окно терминала
nano — текстовый редактор файлов. есть аналог — gedit
uname -a — выводит информацию об операционной системе
who — показывает, кто сейчас в системе
whoami — показывает под каким именем зарегистрирован текущий пользователь
finger user – показать информацию о user.
Операционная система Linux очень нравится программистам и любителям «поковыряться», потому что в ней предусмотрено активное использование консоли, содержащей сотни команд. Если вы решили серьезно взяться за изучение этой гибкой ОС, следует для начала выучить в Линукс основные команды.
Зачем же существуют в Linux команды консоли? Вводя их в консоль, пользователь может оперативно совершать массу действий: открытие, перемещение и копирование файлов, просмотр различной информации и статистики, мониторинг и отладка, получение подробной информации о системе, видоизменение программной и визуальной части системы. И это лишь часть возможностей, которые вы получаете, благодаря этим командам.
Многие имеют дополнительные параметры, а некоторые и вовсе без них не работают. Для начала попробуйте просто вводить команды в консоль и изучать их действие.
Возможность видоизменять систему командами делает Linux очень универсальной оперативной системой. Вы можете настроить её под себя, изменив в ней всё что угодно. Сначала команды могут показаться сложными, но хорошенько выучив их, вы значительно ускорите работу с компьютером и начнете получать истинное удовольствие, понимая, что всё в ней настроено вами под ваши нужды.
Помните, что для полноценной работы с консолью вам нужны права администратора. Ниже представлен список основных команд в консоли Linux и их расшифровка.
1. Простейшие действия
ls — выдать список файлов в текущем каталоге.
cd [каталог] — сменить текущий каталог. Если имя каталога не указывается, то текущим становится домашний каталог пользователя.
cp — копировать файлы.
mv — переместить или переименовать файл.
ln -s — создать символическую ссылку.
rm — удалить файлы.
mkdir — создать новый каталог.
rmdir — удалить пустой каталог.
rm -r (рекурсивное удаление) — удалить файлы или каталоги и их подкаталоги. ОСТОРОЖНЕЙ с этой командой, поскольку пока у Linux нет системы полного восстановления удаленных файлов (если вы не пользуетесь специальными программами для помещения удаленных файлов в специальный каталог, что-то вроде «корзинки» в ОС Windows).
cat — вывод содержимого файла на стандартный вывод (по умолчанию — на экран).
Можно записать вводимый на экран текст с помощью следующей последовательности действий:
cat >
.
.
.
CTRL/d
more — просмотр содержимого длинного текстового файла по страницам.
less — просмотр содержимого текстового файла с возможностью вернуться к предыдущим страницам. Нажмите q, когда захотите выйти из программы. «less» — аналог команды DOS «more», хотя очень часто «less» бывает более удобной чем «more».
pico — редактировать текстовый файл с помощью текстового редактора pico.
lynx — просмотр файла html или WWW ссылки с помощью текстового браузера Lynx.
tar -zxvf — распаковать архив tgz или tar.gz
find — name имя_файла — найти файл с именем «имя файла» и отобразить результат поиска на экране. Поиск начинается с каталога ; «имя_файла» может содержать маску для поиска.
pine — хорошая текстово-ориентированная программа для чтения электронной почты.
mc — запустить программу управления файлами «Midnight Commander» (Выглядит как «Norton Commander», но по своим возможностям ближе к far).
./Имя_Программы — запустить на исполнение исполняемый файл в текущем каталоге, если текущего каталога нет в списке каталогов, указанных в переменной окружения PATH.
xterm (в X терминале) — запустить простой терминал в графической оболочке X-windows. Для того чтобы выйти из него, наберите »exit».
2. Стандартные команды и команды, дающие информацию по системе команд (всегда набираются в одной строке)
pwd — вывести имя текущего каталога.
whoami — вывести имя под которым Вы зарегистрированы.
date — вывести дату и время.
time — выполнить программу и получить информацию о времени, нужном для ее выполнения. Не путайте эту команду с date. Например: Я могу определить выполнить команду ls и узнать, как много времени требуется для вывода списка файлов в каталоге, набрав последовательность: time ls
who — определить кто из пользователей работает на машине.
rwho -a — определение всех пользователей, подключившихся к вашей сети. Для выполнения этой команды требуется, чтобы был запущен процесс rwho.
ruptime — какие машины работают в сети, и какие остановлены.
finger — системная информация о зарегистрированном пользователе. Попробуйте: finger
uptime — количество времени, прошедшего с последней перезагрузки операционной системы.
ps a — вывести список текущих процессов в Вашем сеансе работы.
top — интерактивный список текущих процессов, отсортированных по использованию центрального процессора.
uname -a — вывести информацию о версии операционной системы.
free — вывести информацию по использованию памяти.
df -h — вывести информацию о свободном и используемом месте на дисках.
du . -bh | more — вывод на экран информации о размере файлов и каталогов, начиная с текущего каталога.
set|more — вывести текущие значения переменных окружения. (Не для всех shell. Для csh/tcsh — printenv | more, хотя set тоже покажет полезную информацию.)
echo $PATH — вывести значение переменной окружения «PATH» Команда echo может использоваться для вывода значений любых переменных окружения. Воспользуйтесь командами set или printenv для получения полного списка.
3. Работа с сетью
ssh — обеспечивает безопасное вхождение в удаленный сеанс работы с другой машиной, а также позволяет выполнить заданную команду на удаленной машине без вхождения в сеанс работы:
ssh [-l Ваше_имя_пользователя_на_удаленной_машине] — вхождение в сеанс на удаленной машине. Используйте имя машины или ее IP адрес. (Вы должны быть зарегистрированы на этой удаленной машине). Если Ваше_имя_пользователя одинаково на локальной и удаленной машинах, то его можно не набирать, т.е.: ssh — позволит Вам войти в сеанс на удаленной машине
ssh — выполнит на удаленном компьютере заданную команду и передаст Вам на экран результат ее выполнения (При установлении соединения по ssh Вы должны будете ввести пароль, который Вы имеете на удаленном компьютере; при этом пароль будет передан по сети в зашифрованном виде, т.е. безопасным образом.)
scp — обеспечивает безопасное копирование файлов в сети:
scp @ : — cкопирует файл с локального компьютера в Вашу корневую директорию на удаленном компьютере (наличие «:» в конце команды обязательно).
telnet — связаться по telnet с другой машиной. Войдите в сеанс работы после установления связи с помощью вашего пароля.
ftp — связаться по ftp с удаленным компьютером. Этот тип связи хорош для копирования файлов с/на удаленную машину.
Предпочтительно не пользоваться командами telnet и ftp, а использовать только ssh и scp, поскольку они обеспечивают безопасность сетевого соединения!
hostname -i — показывает IP адрес компьютера, на котором Вы работаете.
4. Некоторые команды администрирования
alias ls=»ls -Fskb —color» — создать alias-псевдоним для того чтобы одной командой можно было запустить более сложную комбинацию команд. Поместите создание alias в файл /etc/bashrc если вы хотите, чтобы эти псевдонимы были доступны всем пользователям вашей системы.
Для tcsh — формат определения alias другой:
alias la ‘ls -AF —color=none’
kapasswd — команда для изменения пароля для доступа к файловой системе AFS. При работе на базовом Linux-кластере ЛИТ следует пользоваться только этой командой (а не командой passwd!) для изменения пароля для вхождения в кластер.
passwd — изменить свой пароль на каком-либо локальном компьютере.
chmod — изменить права доступа к файлу, владельцем которого вы являетесь.
Есть три способа доступа к файлу:
чтение — read (r), запись — write (w), исполнение — execute (x) и три типа пользователей:
владелец файла — owner (u), члены той же группы, что и владелец файла (g) и все остальные (o).
Поверить текущие права доступа можно следующим способом:
ls -l имя_файла
Если файл доступен всеми способами всем пользователям, то напротив имени файла будет следующая комбинация букв: rwxrwxrwx
Первые три буквы — это права доступа для владельца файла, второй триплет — права доступа для его группы, следующая тройка — права доступа для остальных. Отсутствие права доступа показывается как «-».; Например: Эта команда позволит вам установить права доступа на чтение для файла «junk» для всех (all=user+group+others):
chmod a+r junk
Эта команда отнимет право доступа на исполнение файла у всех кроме пользователя и группы:
chmod o-x junk
Для получения дополнительной информации наберите chmod —help или man chmod или почитайте любое руководство по Linux. Вы можете установить права доступа по умолчанию для создаваемых вами файлов с помощью команды»umask» (наберите man umask).
chown — изменить владельца файлов.
chgrp — изменить группу для файла.
Вы можете использовать две последние команды, после того как сделали копию файла для кого-либо.
5. Контроль процессов
ps axu | grep — отобразить все процессы, запущенные в системе от Вашего имени пользователя.
kill
— «убить» процесс. Для начала определите PID Вашего «убиваемого» процесса при помощи ps.
killall — «убить» все процессы по имени программы.
xkill (в терминале X window) — «убить» процесс, на окно которого укажите курсором.
6. Встроенные в Linux программные утилиты и языки
emacs (в X терминале) — редактор emacs. Очень многофукционален, но весьма сложен для неопытных пользователей.
gcc — GNU C компилятор. В сети есть очень хорошие руководства по использованию.
g++ — GNU C++ компилятор.
perl — очень мощный скриптовый язык. Чрезвычайно гибкий, но с довольно сложным синтаксисом. Очень популярен среди продвинутых пользователей.
python — современный и довольно элегантный объектно-ориентированный интерпретатор. Выглядит таким же мощным и немного проще, чем perl.
g77 — GNU FORTRAN компилятор.
f2c — перекодировщик из FORTRAN в C.
fort77 — компилятор FORTRAN. Выполняет f2c, а затем использует gcc или g++.
grep — поиск фрагмента текста в файлах, удовлетворяющего набранной маске. Маска определяется с помощью стандартной системы обозначений, называемой «регулярные выражения».
tr — translation utility (другими словами — замена букв в текстовом файле).
gawk — GNU awk (используется для обработки форматированных текстовых файлов). Лучше вызывать просто awk.
sed — утилита для обработки текстовых файлов.