Основные команды ос unix. Командная строка Команды для работы с файлами и папками

Алексеев Игорь Геннадиевич,

Бранцевич Петр Юльянович

ОПЕРАЦИОННЫЕ СИСТЕМЫ и СИСТЕМНОЕ ПРОГРАММИРОВАНИЕ

учебно-методическое пособие для студентов специальности

«Программное обеспечение информационных технологий»


УДК 004.04 (075.8)

ББК 32.973 я 73

Рецензент:

А47Алексеев И.Г. Учебно-методическое пособие Операционные системы и системное программирование: для студ. спец. «Программное обеспечение информационных технологий»/И.Г Алексеев, П.Ю. Бранцевич – Мн.: БГУИР, 2009. – 73 с.

ISBN 985-444-№

В пособии рассмотрены основные команды операционной системы UNIX, предназначенные для работы с файлами и каталогами, а также для создания процессов и организации взаимодействия между ними. Даны структуры лабораторных работ по курсу «ОСиСП»

УДК 004.04 (075.8)

ББК 32.973 я 73

ISBN 985-444-387-6 © Алексеев И.Г, Бранцевич П.Ю 2009

© БГУИР, 2009


1. ОСНОВНЫЕ Команды ОС UNIX......................................................... 4

2. Лабораторные работы...................................................................... 7

Лабораторная работа №1 Работа в ОС UNIX/Linux,

интерпретатор BASH .............................................................................................. 7

Лабораторная работа № 2 Работа с файлами и каталогами ОС UNIX.... 12

Лабораторная работа № 3 Процессы в ОС UNIX/Linux .......................... 17

Лабораторная работа № 4 Использование сигналов в ОС UNIX/Linux ….. 21

Лабораторная работа № 5 Использование каналов в ОС UNIX/Linux …… 26

Лабораторная работа № 6 Потоки в ОС UNIX/Linux ……………………… 33

Лабораторная работа № 7 Семафоры в ОС UNIX/Linux …………………… 36

Лабораторная работа № 8 Использование общей памяти в

ОС UNIX/Linux ………………………………………………………………… 39

Литература................................................................................................. 42


ОСНОВНЫЕ КОМАНДЫ ОС UNIX

Операционная система ОС Linux создана на основе ОС UNIX и во многом имеет схожую структуру и систему команд. Пользователь может работать в текстовом режиме с помощью командной строки, или с использованием графического интерфейса X Window и одного из менеджеров рабочего стола (например, KDE или GNOME ). Причем, одновременно в системе могут работать 7 пользователей (6- в текстовом режиме консоли и 1 – в графическом режиме), переключение между пользователями осуществляется по нажатию клавиш:



.

В табл. 1 приведены основные команды системы

Таблица 1

Команда Аргументы/ключи Пример Описание
dir каталог dir dir /home
ls -all и другие (см. man) ls -all Выводит на консоль содержимое каталога
ps -a -x и другие (см. man) ps -a
mkdir имя каталога mkdir stud11 Создает каталог
rmdir имя каталога rmdir stud11 Удаляет каталог
rm файл rm myfile1 Удаляет файл
mv файл новое имя mv myfile1 myf1 Переименование файла
cat файл cat 1.txt Вывод файла на консоль
cd имя каталога cd home Переход по каталогам
grep (см. man) grep "^a" "words.txt" Поиск строки в файле
kill pid процесса kill 12045 Уничтожает процесс
top Выводит на консоль список процессов
htop Выводит на консоль полный список запущенных процессов
su Переход в режим root
chmod права доступа файл chmod 777 1.txt Изменение прав доступа к файлам
mount устройство каталог mount /dev/cdrom /MyCD Монтирование устройств
dd if=файл of= файл bs=n count=n dd if=/dev/hda1 of=/F.bin bs=512 count=1 Копирование побайтное
ln файл1 файл2 -l ln файл1 файл2 ln –l файл1 файл2 Создать жёсткую или символическую ссылку на файл
uname -a uname –a Информация о системе
find dir файл find /home –name a1.txt Поиск файлов
man man fgetc Справка по системе
info info fgetc Справка по системе

Linux и Windows используют различные файловые системы для хранения и организации доступа к информации на дисках. В Linux используются файловые системы- Ext2/Ext3 , RaiserFS, FFS и другие. Все файловые системы имеют поддержку журналирования . Журналируемая файловая система сначала записывает изменения, которые она будет проводить в отдельную часть файловой системы (журнал ) и только потом вносит необходимые изменения в остальную часть файловой системы. После удачного выполнения всех транзакций, записи удаляются из журнала . Это обеспечивает лучшее сохранение целостности системы и уменьшает вероятность потери данных. Следует отметить, что Linux поддерживает доступ к Windows -разделам.

Файловая система Linux имеет лишь один корневой каталог, который обозначается косой чертой (/ ). В файловой структуре Linux нет дисков A, B, C, D …., а есть только каталоги. В Linux различаются прописные и строчные буквы в командах, именах файлов и каталогов. В Windows у каждого файла существует лишь одно имя, в Linux их может быть много. Это – «жесткие » ссылки, которые указывают непосредственно на индексный дескриптор файла. Жесткая ссылка – это один из принципов организации файловой системы Linux .

Структура каталогов ОС Linux представлена в табл. 1. Есть также несколько полезных сокращений для имен каталогов:

  • Одиночная точка (. ) обозначает текущий рабочий каталог.
  • Две точки (.. ) обозначают родительский каталог текущего рабочего.
  • Тильда (~ ) обозначает домашний каталог пользователя (обычно это каталог, который является текущим рабочим при запуске Bash).

Таблица 1

/ Корневой каталог
/bin Содержит исполняемые файлы самых необходимых для работы системы программ. Каталог /bin не содержит подкаталогов.
/boot Здесь находятся само ядро системы (файл vmlinuz -...) и файлы, необходимые для его загрузки.
/dev Каталог /dev содержит файлы устройств (драйверы).
/etc Это каталог конфигурационных файлов, т. е. файлов, содержащих информацию о настройках системы (например, настройки программ).
/home Содержит домашние каталоги пользователей системы.
/lib Здесь находятся библиотеки (функции, необходимые многим программам).
/media Содержит подкаталоги, которые используются как точки монтирования для сменных устройств (CD-ROM"ов, floppy-дисков и др.)
/mnt Данный каталог (или его подкаталоги) может служить точкой монтирования для временно подключаемых файловых систем.
/proc Содержит файлы с информацией о выполняющихся в системе процессах.
/root Это домашний каталог администратора системы.
/sbin Содержит исполняемые программы, как и каталог /bin . Однако использовать программы, находящиеся в этом каталоге может только администратор системы (root ).
/tmp Каталог для временных файлов, хранящих промежуточные данные, необходимых для работы тех или иных программ, и удаляющиеся после завершения работы программ.
/usr Каталог для большинства программ, которые не имеют значения для загрузки системы. Структура этого каталога фактически дублирует структуру корневого каталога.
/var Содержит данные, которые были получены в процессе работы одних программ и должны быть переданы другим, и файлы журналов со сведениями о работе системы.

ЛАБОРАТОРНЫЕ РАБОТЫ

pwd Вывести текущую директорию.
hostname Вывести или изменить сетевое имя машины.
whoami Ввести имя под которым я зарегистрирован.
date Вывести или изменить дату и время. Например, чтобы установить дату и время равную 2000-12-31 23:57, следует выполнить команду:
date 123123572000
time Получить информацию о времени, нужного для выполнения процесса + еще кое-какую информацию. Не путайте эту команду с date. Например: Я могу определить как много времени требуется для вывода списка файлов в директории, набрав последовательность:
time ls
who Определить кто из пользователей работает на машине.
rwho -a Определение всех пользователей, подключившихся к вашей сети. Для выполнения этой команды требуется, чтобы был запущен процесс rwho. Если такого нет - запустите "setup" под суперпользователем.

finger [имя_пользователя] Системная информация о зарегистрированном пользователе. Попробуйте: finger root
uptime Количество времени прошедшего с последней перезагрузки.
ps a Список текущих процессов.
top Интерактивный список текущих процессов отсортированных по использованию cpu.
uname Вывести системную информацию.
free Вывести информацию по памяти.
df -h (=место на диске) Вывести информацию о свободном и используемом месте на дисках (в читабельном виде).
du / -bh | more (=кто сколько занял) Вывод детальной информации о размере файлов по директориям начиная с корневой (в читабельном виде).
cat /proc/cpuinfo Системная информация о процессоре. Заметьте, что файла в /proc директории - не настоящие файлы. Они используются для получения информации, известной системе.
cat /proc/interrupts Используемые прерывания.
cat /proc/version Версия ядра Linux и другая информация
cat /proc/filesystems Вывести используемые в данный момент типы файловых систем.
cat /etc/printcap Вывести настройки принтера.
lsmod (как root) Вывести информацию о загруженных в данный момент модулях ядра.
set|more Вывести текущие значения переменных окружения.
echo $PATH Вывести значение переменной окружения "PATH" Эта команда может использоваться для вывода значений других переменных окружения. Воспользуйтесь командой set, для получения полного списка.

Работа с сетью

Netconf (как root) Очень хорошая программа настройки сети, использующая для интерактивной работы с пользованием, текстовое меню.
ping [имя_машины] "Проверка на вшивость". Есть или нет контакта с другой машиной (в качестве параметре команде можно передавать сетевое имя машины или IP адрес), нажмите -C когда вся требуемая информация будет получена.
route -n Вывести таблицу маршрутизации (the routing table).
ipfwadm -F -p m Настроить firewall.
ifconfig (как root) Вывести информацию о текущих сетевых интерфейсах (ethernet, ppp, и т.д.) Ваша первая ethernet плата плата будет показана как eth0, вторая как eth1, первый ppp модем как ppp0 и так далее. "lo" - расшифровывается как "loopback only" сетевой интерфейс, который должен быть постоянно активирован. Используйте соответствующие опции (смотрите результат выполнения ifconfig --help) для настройки сетевых интерфейсов.
ifup [имя_сетевого_интерфейса] (/sbin/ifup при работе под обычным пользователем) Активизация соответствующего сетевого интерфейса. Например:
ifup eth0
ifup ppp0
Пользователь может активизировать и выключить сетевое интерфейс ppp только когда установлены соответствующие права доступа (права можно установить в процессе настройки ppp через "netconf")
ifdown [имя_сетевого_интерфейса] (/sbin/ifdown при работе под обычным пользователем). Диактивизация соответствующего сетевого интерфейса..

Простейшие действия

ls Список файлов в текущей директории. Команда выполнении команды dir выполняется команда ls.
cd [директория] Сменить директорию.
cp [что копировать][куда копировать] Копировать файлы.
mcopy [что копировать][куда копировать] Копировать файлы при работе с файловой системой dos (монтировать диска dos необязательно). Например: mcopy a:\autoexec.bat ~/junk . Для дополнительной информацией по подобным командам (mdir, mcd, mren, mmove, mdel, mmd, mrd, mformat ....) ознакомьтесь с man mtools.
mv [что перемещать][куда перемещать] Переместить или переименовать файл.
ln -s [на что сделать ссылку][имя ссылки] Создать символическую ссылку.
rm [файлы] Удалить файлы.
mkdir [директорию] Создать новую директорию.
rmdir [директорию] Удалить пустую директорию.
rm -r [файлы и/или директории] (рекурсивное удаление) Удалить файлы, директории и их поддиректории. ОСТОРОЖНЕЙ с этой командой, если у вас права суперпользователя! Пока у Linux нет системы полного восстановления удаленных файлов (если вы не пользуетесь специальными программами для помещения удаленный файлы в специальный каталог - a la корзинка под W95).
cat [имя файла] | more Просмотр содержимого текстового файла по одной странице за раз.
less [имя файла] Просмотр содержимого текстового файла с возможностью вернуться к предыдущим страницам. Нажмите q когда захотите выйти из программы. "Less" - аналог команды DOS "more", хотя очень часто "less" бывает более удобной чем "more".
pico [имя файла] Редактировать текстовый файл.
lynx Просмотр файла html или WWW ссылки с помощью текстового браузера Lynx.
tar -zxvf файлы] Распаковать архив tgz или tar.gz, который вы вытянули из сети.
find / -name "имя файла" Найти файл с именем "имя файла". Поиск начинается с директории / . "имя файла" может содержать маску для поиска.
pine Хорошая текстово - ориентированная программа для чтения электронной почты. Еще одна подобная программа называется "elm". Netscape считывает ваши письма с вашего Internet адреса, а pine позволяет вам просматривать "локальную" почту - то есть ту почту, которую посылает вам процесс son или cron.
mc Запустить программу оправления файлами "Midnight Commander" (Выглядит как "Norton Commander", но по своим возможностям ближе к far или dn).
telnet [сервер] Связаться по telnet с другой машиной. Используйте имя машины или ее IP адрес. Войдите с помощью вашего пароля (вы должны быть зарегистрированы на этой удаленной машине). Это позволит вам войти на другую машину и работать на ней, как будто вы сидите за ее клавиатурой (почти никаких отличий).
ftp [сервер] Связаться по ftp с удаленным компьютером. Этот тип связи хорош для копирования файлов с/на удаленную машину.
minicom Minicom - программа (выглядит как telix или рrocomm для Linux).
./Имя_Программы Запустить исполняемый файл в текущей директории, которая нет в списке директорий, указанных в переменной окружения PATH.
startx Запустить X-windows сервер и установленный по умолчанию оконный менеджер. Похоже на то как вы набираете "win" под DOS с Win3.1
xterm (в X терминале) Запустить простой терминал в графической оболочке X-windows. Для того чтобы выйти из него наберите "exit".
xboing (в X терминале). Очень классный, старый - добрый арканоид.
gimp (в X терминале) Очень мощный графический редактор (по возможностям близок к Photoshop). Требует некоторого времени для обучения - очень хорош для художников. Для доступа к локальному меню воспользуйтесь правой кнопкой мыши.
netscape (в X терминале) Запустить netscape (требуется отдельная установка этого продукта). Нормальная поддержка русского языка включена в 4.07 версию этого продукта - поэтому следует поставить эту версию или более новую.

Основные Команды Администрирования

printtool (как root в X терминале) Сконфигурировать ваш принтер.
setup (как root) Сконфигурировать мышь, звуковую карту, клавиатуру, графическую оболочку X-windows и системные службы. Очень простая в пользовании программа.
alias ls="ls -Fskb --color" Создать alias - псевдоним для того чтобы одной командой можно было запустить более сложную комбинацию команд. Поместите создание alias в файл /etc/bashrc если вы хотите, чтобы эти псевдонимы были доступны всем пользователям вашей системы.
adduser [имя_пользователя] З арегистрировать нового пользователя (у вас должны быть права суперюзера). Например:
adduser ivanov
Не забудьте следующим делом настроить пароль пользователя. Директория пользователя находится в каталоге /home/имя_пользователя.
useradd [имя_пользователя] То же, что и adduser.
userdel [имя_пользователя] Удалить пользователя из системы (вы должны зайти как root). С пользовательским каталогом и не прочитанными письмами удаленного пользователя нужно разбираться отдельно.
groupadd [имя_группы] Создать новую группу пользователей на вашей системе. Не обязательно создавать группу непосредственно на основной машине.
passwd Изменить пароль. Если вы суперпользователь, то вы можете изменить пароль любого зарегистрированного пользователя набрав команду:
passwd имя_пользователя
chmod [права доступа][файл] (=change mode) Изменить права доступа файлов, чьим владельцем вы являетесь (если вы не root, в этом случае вы можете изменить права доступа для любого файла). Есть три способа доступа к файлу: чтение - 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 [новая_группа][файлы] Изменить хозяина и группу для файла.
Вы можете использовать эти две команды, после того как сделали копию файла для кого- либо.
su (=super user) Вход в систему как суперпользователь (у вас спросят ваш пароль). Набрав "exit" вы вернетесь в вашу предыдущую пользовательскую оболочку. Пользователь root существует для администрирования системы и команда su дает быстрый доступ к возможностям суперпользователя, когда вам это потребуется. Никогда не входите в систему под пользователем root, используйте для этой цели команду su.

Контроль процессов

Ps (=print status) Вывести список текущих процессов с их IDs (PID) идентификаторами. Используйте
ps axu
для того чтобы отобразить все процессы запущенные на вашей системе, которые имеют вас в качестве хозяина (это касается и процессов которые отцеплены от терминала).
fg Вернуть фоновый или приостановленный процесс в интерактивное (высокоприоритетное) состояние;
bg Сделать процесс фоновым. Обратная функция от fg. Может следовать вслед за комбинацией z.
kill "Убить" процесс. Для начала определите PID "убиваемого" процесса при помощи ps.
killall [имя_программы] "Убить" все процессы по имени программы.
xkill (в терминале X window) "Убить" процесс, на окно которого укажите курсором.
lpc (как root) Проверить очередь принтера.
lpq Вывести список очереди заданий на печать.
lprm [Номер Задание] Удалить задание из очереди на печать.
nice [имя_программы] Запустить процесс, установив его приоритет.
renice Изменить приоритет процесса.

Для работы в Ubuntu пользователь может выбрать один из двух возможных вариантов интерфейса: графический либо интерфейс командной строки. Графический интерфейс (GUI - Graphical user interface) знаком большинству пользователей, в нем для выполнения действий нужно использовать различные элементы рабочего стола. Он имеет свои преимущества, которые выражаются главным образом в удобном и привычном формате подачи информации, а также в отсутствии необходимости знать какие-либо команды.

Однако многие пользователи Linux предпочитают работать в командной строке (CLI, Command Line Interface). Как правило, эти пользователи так или иначе связаны с программированием или системным администрированием, тем не менее знание основ bash будет полезно всем пользователям. Командная строка позволяет выполнять команды значительно быстрее, чем при использовании GUI, при этом экономит ресурсы. Более того, зачастую команды не имеют своих аналогов в графическом интерфейсе и, благодаря этому, дают значительную свободу пользователям в своих действиях. При этом интерфейс командной строки встроен в ядро операционной системы, а значит, он доступен даже тогда, когда вы не можете воспользоваться графической оболочкой. Сами же команды одинаковы для всех операционных систем на базе Linux, будь то Ubuntu, CentOs, Fedora или какая-либо другая.

Что такое bash

Bash расшифровывается как Bourne again shell (что можно перевести как «Еще одна оболочка Борна»), название частично заимствованно от более ранней версии командной оболочки UNIX, которая называлась просто Bourne shell («Оболочка Борна» - по фамилии разработчика Стивена Борна).

Bash позволяет интерактивно взаимодействовать с компьютером, вводя определенные команды и получая на них соответствующий отклик. Также этот командный процессор позволяет выполнять скрипты (команды из файла), может производить автодополнение названий файлов и директорий, допускает использование переменных, операторов ветвления и цикла.
Далее в статье будут приведены самые простые и необходимые для работы в bash команды, которые помогут вам сориентироваться и начать самостоятельно использовать командную строку для своих задач, но сначала необходимо перейти к интерфейсу командной строки.

Вход в командную строку

Используя Ubuntu в качестве операционной системы, вы можете перейти к командной строке двумя путями, а именно через консоль или через терминал.
Если вы хотите зайти в командную строку через терминал, то для этого необходимо нажать Ctrl+Alt+F(1-6) - в зависимости от выбранного номера (F1, F2…) вы попадаете в первую, вторую или другую по счету виртуальную консоль (они независимы и запускаются во время загрузки Ubuntu), каждая из которых имеет интерфейс командной строки. Если вы нажмете Ctrl+Alt+F7, то перейдете в седьмую виртуальную консоль, которая имеет графический интерфейс.

Что касается терминала, то это графическая программа, которая эмулирует консоль. Вы можете найти ее в меню, выбрав «Приложения», затем «Стандартные», а затем «Терминал», либо нажав сочетание клавиш Ctrl+Alt+T. Вы сможете выполнять команды, продолжая находиться в графическом интерфейсе.
Также возможен вариант, когда вам необходимо подключиться к серверу, на котором установлена Ubuntu. В этом случае вам нужно воспользоваться специальной программой (например, puTTy): наберите нужный ip-адрес, а затем введите имя пользователя и пароль.

Примечание.
При вводе пароля в командную строку он не высвечивается - вам нужно просто набрать пароль и нажать Enter. Если пароль введен правильно, вы сможете продолжить работу в командной строке.

Пользователь и система

Используя bash, вы можете легко получить любую необходимую вам техническую информацию о пользователях и системе.
Если вы хотите идентифицировать, под каким пользователем авторизованы в данный момент, вам нужно ввести в командную строку следующую команду:

Если вам нужно узнать не только о вашем, но и о других пользователях, находящихся в данный момент в этой операционной системе, используйте команды:

В отличие от whoami, эти команды показывает более подробную информацию: кроме имени пользователя вы также узнаете о том, какая используется терминальная линия, время начала сеанса, IP-адрес и некоторые другие данные.

Что касается данных о системе, то с ними можно ознакомиться, используя команду uname. Сама по себе эта команда даст вам не так много информации - только название системы. Однако если вы будете использовать ключи, то сможете узнать гораздо больше.

Ключи - это специальные аргументы, которые пишутся через пробел после команды и начинаются с одного или двух дефисов. Они определяют параметры, которые будут применены к команде. Как правило, узнать о доступных ключах вы можете, написав команду и --help (либо -help): к примеру,

У команды uname вы можете задать ключ -a (или --all), и тогда на экран будет выведена вся информация об операционной системе:

Если вас интересуют конкретно данные о ядре, то наберите следующую команду:

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

А команда pstree выведет информацию в виде дерева процессов.

Узнать сетевое имя машины вы можете с помощью команды hostname.

Переход по директориям

В этом разделе вы познакомитесь с основными командами bash, которые позволят вам выполнять самые простые действия в командной строке.
Команда cd позволяет переходить из одной директории в другую. При этом если вы используете команду без ключей, то попадете в домашнюю директорию; для того, чтобы перейти в какую-либо конкретную директорию, необходимо просто прописать ее путь, к примеру:

Cd /home/users/dir1

Вы также можете указывать команду cd с определенными ключами:

cd ../.. - переход на две директории выше;

cd - - переход в предыдущую директорию (в которой вы были до перемещения в нынешнюю).

Команда pwd укажет путь той директории, в которой вы в данный момент находитесь.

Создание, перемещение и удаление

Используйте команду mkdir для создания директории. Не забудьте указать имя:

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

Mkdir /home/users/dir1

Для создания файла вам нужно ввести команду touch и название будущего файла:

В этом случае прописать путь, где нужно создать файл, тоже возможно:

Touch /home/users/dir1/file1

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

Mv file2 /home/users/dir2 mv dir1 /home/users/dir3

Обратите внимание, что команда mv также используется для переименования, поэтому если при отсутствии директории dir2 вы напишете такую команду:

то директория dir1 будет переименована в директорию dir2. Этот пример справедлив и для файлов, которым вы можете давать другие названия при помощи команды mv.

Для удаления файлов следует использовать команду rm, а для удаления директорий rmdir. Если вы хотите удалить каталог, используйте команду rm с ключами -rf:

Rm -rf /home/users/

Еще одно действие, которое вы можете использовать, - это копирование при помощи команды cp. Синтаксис у этой команды такой же, как и у предыдущих, - вы просто пишете, что и куда хотите скопировать. Для копирования директории обязательно нужно использовать ключ -r, при этом если конечная директория (dir2) не существует, то она будет создана при копировании:

Cp -r dir1 dir2

Информация о файлах, каталогах и процессах

Для вывода информации о содержании каталога используется команда ls. Если использовать ее без ключей, то она просто выведет информацию об имеющихся в данной (или указанной) директории файлах и директориях. Основные ключи, которые часто используются с этой командой:

A - вам будут показаны все файлы директории, в том числе те, которые начинаются с. (точки);

S - запрос информации о размерах файлов (или директорий);

L - данные о файлах, в частности имя пользователя, который их создал, права доступа и время создания;

H - перевод размера файлов в удобном для восприятия формат (Кбайт, Мбайт и т.д.).

Также ключи можно комбинировать, поэтому обычно для вывода размера содержимого используется команда:

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

вы получите информацию о размерах и именах файлов.

Информацию о работающих процессах вы можете получить при помощи команды df. Лучше всего использовать ее сразу с ключом -h, чтобы данные были показаны в более удобном для чтения формате:

Поиск и использование регулярных выражений

Для поиска файлов в bash используется команда find. Ее синтаксис следующий: find + нужная директория (путь) + ключ (или несколько) + критерии ключа + (опционально) последующее действие над найденными файлами.

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

К примеру, следующая команда позволит вам найти все файлы, которые находятся в директории dir1, и имеют название file:

Find /home/users/dir1 -name ‘file*’

Для поиска наиболее удобно пользоваться некоторыми регулярными выражениями, а именно:

* - обозначает любое количество символов, включая их отсутствие (например, по запросу file* будут найдены все файлы: file, file1, file829, fileabc и т.д.);

Обозначает один символ (по запросу file? будут найдены файлы с одним символом после слова file: file1, file9, filea и т.д.; по запросу file?? будут найдены файлы с двумя символами: file12, file34, file92 и т.д.);

Обозначает подмножество значений, которые может принимать один символ (по запросу file будут найдены файлы: file1, file2, file3 и так далее до file9; по запросу file файлы filea, fileb, filec и filed).

Перенаправление и конвейер

Перенаправление вывода какой-либо команды задается символом > либо >>. Различие в том, что при использовании > вывод команды будет записан поверх содержимого файла, а при использовании >> вывод дописывается в конец файла.

Этим очень удобно пользоваться для логирования, если вы хотите записать какие-либо данные в файл. К примеру, эта команда запишет все найденные согласно указанными параметрам файлы в файл log (он автоматически появится в той директории, в которой вы работаете):

Find /home/users -name ‘file*’ >> log

Что касается конвейера, то этот инструмент позволяет использовать вывод одной команды в качестве ввода другой команды. Для этого необходимо использовать символ |:

Find /home/users -name ‘file*’ | sort -r

Если вы введете данную строку, то сначала будут найдены все файлы, которые соответствуют условию, а затем командой sort они будут отсортированы в обратном порядке (из-за использования ключа -r).

Содержимое файлов

Если вы хотите посмотреть содержимое файла, то можете обратиться к команде cat - в ответ на команду вы увидите все, что содержится в файле. Если данных слишком много, используйте конвейер и команду more - она позволит просматривать содержимое постранично:

Cat file1 | more

Если вам нужно не только посмотреть содержимое файла, но и отредактировать его, тогда нужно использовать одну из утилит: nano либо vim. Это текстовые редакторы, при помощи которых вы можете открыть файл, изменить и сохранить его. Несмотря на кажущееся сходство, эти утилиты имеют ряд отличий; большинство пользователей сходится во мнении, что nano представляет собой более простой редактор, в то время как vim обладает большими возможностями.

С русскоязычной документацией nano вы можете ознакомиться по этой ссылке: http://help.ubuntu.ru/wiki/nano

А документация vim доступна в этом разделе: http://help.ubuntu.ru/wiki/vim

Заключение

Существует множество различных команд и ключей, которые можно использовать в bash. В данной статье мы остановились лишь на самых основных, базовых командах, при помощи которых вы сможете выполнять операции и получать необходимую информацию.

Полную русскоязычную документацию вы можете найти по этому адресу:

В данной статье перечислены основные, для работы, команды терминала Linux Ubuntu Server. Также здесь представлены примеры этих команд с различными ключами. Статью можно условно назвать «30 полезных команд терминала Linux ».

В прошлой статье «Основы Linux Server для начинающих » мы познакомились с серверной операционной системой Ubuntu Server 10.10, узнали ее особенности, а также рассмотрели некоторые из команд, которые Вам понадобятся для первоначальной работы, но как Вы понимаете для полноценного управления сервером этого конечно недостаточно. Все начинающие системные администраторы обязаны знать, какие команды и программы представлены в Ubuntu Server, и не просто знать, а уметь ими пользоваться.
Здесь мы с Вами рассмотрим основные команды и программы, которыми, если Вы будете работать с Linux, Вы обязательно будете пользоваться.

Сразу хотелось бы отметить, что практически у всех команд, программ, которые используются в Linux, есть специальные «ключи » (или их еще называют «опции» ) и параметры. Для чего они нужно, сейчас попробую объяснить.

Программа, которую Вы запускаете, выполняет определенную задачу, а «ключи » указывают ей как эту задачу выполнить, т.е. вносят свои коррективы, критерии, условия. Также некоторым программам, чтобы выполнить свою задачу, необходимо своего рода сырье, с которым нужно проработать, «параметры » как раз и нужны, для того чтобы давать это сырье, например, при операции копирования необходимо указать что копировать, так вот то, что Вы укажите в качестве копирования (файл, папку ) и будет параметром.

Для каждой команды Вы можете сами посмотреть необходимые ключи, и что они делают с помощью встроенной документации. Для этого служит команда man , например, Вы хотите узнать, что делает команда ls, введите следующее и получите весь manual.

Команды терминала Linux

Ну а теперь перейдем непосредственно к самим командам.

1. Начнем с команды ls . Она нужна, для того чтобы Вы могли посмотреть, что у Вас находится в текущем каталоге (файлы и папк и). Пример, Вы только что загрузились и перед Вами командная строка, на самом деле Вы находитесь в своем домашнем каталоге и для того чтобы посмотреть, что в нем находится, введите следующее.

Ls -1 –l –h – a

  • -1 ключ, который выводит список файлов и папок в столбик;
  • -l ключ, который показывает дополнительную информацию о файлах и папках;
  • -h ключ, показывает размеры файлов и папок в более читабельном виде;
  • -a ключ, который показывает скрытые файлы и папки.

Сразу советую попробовать поэкспериментировать с ключами (т.е. например, введите команду без параметров, а потом добавляйте по одному и увидите существенное отличие ).

2. Следующая команда cd . Она используется для перехода в каталог, например:

cd test

Где, test — это каталог, в который Вы хотите перейти, но помните, в данном случае каталог test находится в Вашем домашнем каталоге, в других случаях Вам необходимо писать полный путь до каталога, например для перехода в каталог /etc/test введите следующее.

Cd /etc/test

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

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

Mkdir test

Где, test — это название каталога.

5. Теперь удалим созданный каталог, используя следующую команду.

Rm -r test

Где, test название Вашего каталога, который Вы хотите удалить. Также можно еще прописать ключ –f для форсированного удаления (т.е. без всяких подтверждений ).

6. Каталоги создавать и удалять научились, теперь научимся создавать файлы, напишите следующую команду.

Touch test

  • touch — это команда для создания файла;
  • test – это название файла (для проверки того, что файл создался, используйте команду l s).

7. Для удаления какого-нибудь файла или каталога используйте следующую команду.

Где, test название Вашего каталога, для форсированного удаления пропишите все тот же ключ -f

8. Теперь давайте запишем что-нибудь в этот файл, используем редактор nano , например, введите.

Nano test

откроется чистый лист, напишите что-нибудь и нажмите ctrl+o (для сохранения ) подтвердите сохранение, а для выхода из редактора нажмите ctrl+x

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

Cat test

Где, test название Вашего файла. Команда cat как раз используется для чтения стандартного ввода, т.е. может легко читать файлы (Совет! посмотрите man по этой команде, у нее много ключей, которые можно использовать в различных ситуациях ).

10. Теперь допустим, Вам ненужно читать весь файл (так как он допустим большой 1000 строк и больше ), Вы можете прочитать только первые 10 строк с помощью команды head, например.

Head /etc/services

у команды head есть ключи, например Вы, хотите прочитать первые 100 строк.

Head –n100 /etc/services

Где, –n100 количество строк, которые необходимо прочитать.

11. Теперь рассмотрим обратную ситуацию, Вам необходимо прочитать 10 последних строк, для этого введите следующее.

Tail /etc/services

  • tail – команда, которая читает последние 10 строк файла;
  • /etc/services – сам файл.

Также можете использовать ключи, например.

Tail –n100 /etc/services

Где, -n100 – будет количество последних строк.

Или также можно написать вот так.

Tail –n +560 /etc/services

Где, -n +560 – это показать последние строки, начиная с 560.

12. Теперь Вы, наверное, догадались, а как же нам узнать количество строк, это легко можно сделать с помощью команды.

Wc /etc/services

После запуска Вам покажут 3 числа, где первое — это количество строк в файле, второе – это количество слов, а третье — это количество символов. У данной команды есть ключи:

  • -l только строки;
  • -w только слова;
  • -c только символы.

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

13. А сейчас давайте научимся копировать каталоги и файлы, делается как всегда очень легко.

Cp test1 test2

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

14. Перемещение или переименование происходит практически также, только с помощью другой команды.

mv test1 test2

Применяется как для файлов, так и для каталогов.

15. Теперь перейдем к более нужному и полезному в повседневной работе, и начнем мы со следующей команды.

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

16 . А если Вам необходимо узнать только информацию об оперативной памяти Вы можете использовать следующую команду.

17. Иногда нужно узнать текущую дату и время на компьютере или изменить ее, для этого используется команда.

Для того чтобы изменить время на компьютере используйте ключ –s например, давайте поменяем текущее время на 12:30:00 для этого введите вот это.

Date –s 12:30:00

18. Перейдем к сетевым командам и начнем со следующей команды.

Ifconfig

Она показывает информацию о сконфигурированных сетевых устройствах.

19. Следующая команда

это таблица маршрутизации.

20. Если Вам необходимо узнать сетевое имя компьютера наберите вот это.

Hostname

21. Для просмотра статистики по сетевым интерфейсам можно использовать команду.

а если использовать ее с ключами –rn, то получится, то же самое что и команда route.

22. Теперь поговорим о таком вопросе, который всех интересует – как убить процесс в linux? Сразу скажу, что в Linux для завершения процесса используются так называемые сигналы, которые посылают ядру команду типа с каким параметром необходимо завершить тот или иной процесс. Для завершения процесса используется команда kill с разными сигналами. Для того чтобы узнать, какие сигналы в системе есть, введите следующее.

Kill – l

Где, –l ключ, который показывает список сигналов в системе.

Самыми часто используемыми сигналами в Linux Ubuntu являются сигналы: 15, 2, 3, 9 все эти сигналы используются для завершения процесса, а почему, Вы спросите, они расположены в таком порядке? сейчас объясню, 15 сигнал самый корректный сигнал для завершения процесса, т.е. при таком сигнале система попытается сохранить все данные и т.д., а 9 самый жесткий, т.е. системе абсолютно наплевать на все, она просто и безжалостно убивает процесс. Исходя из этого, можно сделать вывод о том, что сигналы расположены именно в порядке корректности завершения процесса. Для того чтобы завершить процесс необходимо указать его имя или pid. Например, завершим процесс test, у него pid 30, с помощью сигнала 9.

Kill 9 30

Kill 9 test

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

Где, –h используется для удобства, т.е. информация показывается в мегабайтах.

24. Для того чтобы узнать, сколько весит отдельная папка, все файлы в ней по отдельности, используйте следующую команду.

Du -h test

  • du – сама команда;
  • -h – ключ, который округляет килобайты до мегабайт;
  • test – каталог, который Вы хотите проверить.

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

Fdisk –l

где, — l ключ, который показывает информацию обо всех разделах.

Для того чтобы создавать разделы на жестком диске введите вот это.

Fdisk /dev/sdb

где, /dev/sda – путь к жесткому диску.

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

26. Но для начала Вам необходимо смонтировать этот жесткий диск, делается это следующим образом.

Mount /dev/sdb /mnt/

  • mount – сама команда монтирования;
  • /dev/sdb – путь к тому, что мы хотим монтировать;
  • /mnt/ — путь, куда мы будем это монтировать.

27. Как не сложно догадаться размонтировать можно с помощью команды umount.

Umount /dev/sdb

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

mkfs.ext3 /dev/sdb
  • mkfs – сама команды создания файловой системы;
  • ext3 – тип файловой системы (в linux намного больше типов файловых систем, чем в Windows );
  • /dev/sdb – для какого блочного устройства Вы хотите создать файловую систему.

29. Теперь поговорим о ядре, для того чтобы узнать версию ядра введите следующее.

Uname – r

А для полной информации о ядре используйте ключ –a.

30. Для того чтобы узнать список загруженных в ядро всех модулей используйте команду.

На заметку! Если Вы хотите научиться пользоваться Linux на домашнем компьютере без использования командной строки, то рекомендую почитать мою книгу – « »

Вот мы с Вами и рассмотрели 30 полезных команд Ubuntu Server . Надеюсь, материал был Вам полезен, пока!

Одним из коренных отличий семейства ОС Linux от ОС Windows является ведущая роль командной строки или терминала в администрировании системы. Для успешной работы с «Линукс» одного графического интерфейса недостаточно. Полноценное управление тут возможно только через терминал. А в работе с терминалом никак не обойтись без изучения основных команд Linux.

В Linux насчитывается несколько сотен основных команд и их модификаций. Они группируются по нескольким категориям. По расположению - могут быть утилитами командной строки или встроенной функцией командной оболочки. По частоте применения – используемыми постоянно, эпизодически и редко. По типам действий – от получения справки до управления файлами и процессами. Именно третья, функциональная составляющая и станет основой группировки утилит в этой статье.

В обзоре собраны все важнейшие команды Linux, которые могут пригодиться для администрирования ОС Linux. Статья рассчитана как на новичков, так и на продвинутых пользователей, уже знакомых с основным функционалом терминала. Эту своеобразную шпаргалку можно смело добавлять в закладки всем, кто хочет извлечь из «Линукс» максимум полезных свойств и повысить свою продуктивность в несколько раз.

Справочная информация / документация

  1. man

    (Manual). Показывает инструкцию к программам и командам Linux. Чтобы получить руководство для программы, наберите:

    Man имя_программы

    Для инструкции по команде, введите:

    Man имя_команды

  2. whatis

    Выводит краткое описание программы. Пример:

    Whatis имя_программы

  3. whereis

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

    Whereis имя_программы

    Также даёт информацию о связанной с программой справочной информации.

  4. file

    Показывает к какому типу относится файл . Особенность Linux в том, что рабочие файлы могут и не иметь расширения. Поэтому у пользователя могут возникнуть проблемы с идентификацией файлов, которые снимает эта команда.

  5. –help

    Вся необходимая информация о команде будет доступна, если набрать:

    Имя_программы --help

  6. whoami

    Команда показывает действительный идентификатор пользователя (UID).

  7. TAB

    Показывает варианты автозавершения команды . Нажатие клавиши табуляция после определённой команды или их последовательности выводит подсказку с вариантами возможного продолжения команды.

  8. Ctrl + R

    Это сочетание клавиш помогает запустить обратный поиск по всем параметрам, связанным с указанной командой. Достаточно лишь указать ключевое слово для поиска. Есть серьёзный минус – за раз можно увидеть только 1 результат. Выйти из режима реверсивного поиска поможет комбинация Ctrl + C .

Права суперпользователя

Большое число базовых команд Linux, например, установка программ или создание файлов в корневой системе, требуют для исполнения права пользователя root или суперпользователя. Применение данного режима несёт серьёзные изменения для операционной системы, поэтому нужно точно понимать, как сработает запущенная команда.

Способы получить права root в Linux

  • Вход от имени суперпользователя в виртуальной консоли, введя логин и пароль пользователя root.
  • Разовое переключение на роль суперпользователя в терминале с помощью специальных утилит.

О втором варианте расскажем подробнее.

  1. sudo

    (Super User Do). Позволяет исполнять команды с правами суперпользователя . Перед переходом в режим root администратора система выполнит запрос пароля и логина root. Пример:

    Sudo имя_команды

  2. sudo su

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

  3. sudo gksudo

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

  4. sudo !!

    Команда применяется, если нужно перезапустить с правами root уже отданную (от имени обычного пользователя) команду.

Максимальную производительность приложений Linux зависит от правильного подбора платформы для ОС. Мощный обеспечит интернет-ресурсу стабильную работу и пространство для развития.

Управления файлами и каталогами

  1. ls

    (List). С помощью этой утилиты можно посмотреть, что содержится в папке . Без указания конкретного пути показывает текущий каталог. Если путь указан, то переход совершиться в конечный его каталог. Чтобы вывести каталог в виде списка с дополнительной поясняющей информацией введите:

    Для показа скрытых файлов:

  2. ll

    Команда для просмотра содержимого директорий . Более современная альтернатива этой утилиты ls -l может работать не во всех дистрибутивах Linux.

  3. cat

    (Concatenate / Catenate). Команда двойного назначения. Показывает на экране что содержит файл или стандартный ввод. Также к «склеивает» несколько переданных подряд файлов в один. Если нужно посмотреть содержимое одного файла, вводим:

    Cat имя_файла

    Если нужно узнать содержимое нескольких файлов подряд:

    Cat файл_№1 файл_№2 файл_№3

    Для «склейки» файлов, вводим:

    Cat файл_№1 файл_№2 > файл_№3

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

  4. cd

    (Change Directory). Меняет текущий каталог , в котором работает терминал на указанный. Когда терминал запущен, он использует по умолчанию корневой каталог (root), вернуться в который можно, набрав:

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

    Cd адрес_папки

    Чтобы подняться по древу каталогов на уровень вверх набираем:

    Чтобы вернуться к предыдущей директории:

  5. &&

    Двойной амперсанд – не полноценная команда, а управляющий оператор. Он предназначен для выполнения последовательного ряда команд . Чтобы терминал выполнил команды одну за другой, нужно разделить их следующим образом:

    Команда_№1 && команда_№2 && команда_№3

    Число команд в такой последовательности не ограничено.

  6. mkdir

    (Make Directory). Создаёт новую директорию . Можно также создать полную структуру подкаталогов, если ввести сочетание:

    Mkdir –p

  7. cp

    (Copy). Утилита, позволяющая скопировать файл или каталог. Копирование файлов и каталогов. Чтобы копирование прошло рекурсивно, т. е. включало все поддиректории и файлы в них, надо добавить к команде:

    А если надо дополнить рекурсивное копирование сохранением всех атрибутов, сведения о владельце и временный штамп, добавляем «архивную» опцию -a, чтобы получилось:

    Cp –r –a

  8. mv

    (Move). Эта команда в Linux одновременно отвечает за перемещение и переименование файла или каталога. При переименовании файл перемещается в ту же папку, но уже названную по-новому.

  9. rm

    (Remove). Отвечает за удаление папок и файлов. Использовать оператор rm следует крайне осторожно. В Linux файлы удаляются не в корзину, откуда их можно восстановить, а стираются безвозвратно. Для рекурсивного удаления используйте сочетание:

  10. ln

    Типы ссылок Linux

  • символические (-s ) – указание на адрес файла ил папки без метаданных;
  • твёрдые или жёсткие (-P ) – содержат сведения о физическом адресе на диске, где хранится файл.
    Удалить ссылку в Linux можно при помощи атрибута –f .
  1. chmod

    (Change Mode). Изменяет разрешения доступа к файлу. Под доступом имеется в виду классическая триада: чтение r, изменение w и запуск x. Общий вид:

    Chmod разрешения имя_файла

    При этом, «разрешения» могут быть указаны буквенным, символьным (rwx) или цифровым кодом. Кроме того, эта переменная может включать информацию о владельце (u / g / o / a ) и операции с правами (+ / – / = ).

Популярные комбинации разрешений для команды chmod

Вид разрешения Символьный код Числовой код
Нет допуска 0
Чтение r– 4
Изменение -w- 2
Запуск –x 1
Запуск + Изменение -wx 3
Чтение + Запуск r-x 5
Чтение + Изменение rw- 6
Запуск + Изменение + Запуск rwx 7
  1. chown

    (Change Owner). Команда для смены владельца файла и его группы. Для смены владельца используем синтаксис:

    Chown новый_владелец имя_файла

    Для смены группы файла:

    Chown новая_группа имя_файла

    Если надо поменять оба параметра:

    Chown новый_владелец:новая_группа имя_файла

    Команду можно применить только с правами суперпользователя. Чтобы изменить владельца/группу рекурсивно добавляем:

    Chown –R

  2. chgrp

    (Change Group). Меняет группу файла. В отличие от chown, эта команда позволяет менять группы, только тем, кто в ней состоит.

  3. dd

    (Dataset Definition). Позволяет скопировать данные на двоичном уровне из одного места в другое. Данные могут быть любого размера - от образа CD/ DVD до целого жёсткого диска.
    Утилита перемещает блоки данных из указанного источника - if имя_файла в пункт назначения - of имя_файла , который может быть устройством или файлом. Для копирования нескольких файлов применяется утилита cp.
    С данной командой надо обращаться крайне осторожно, о чём свидетельствует её альтернативное название «Data Destroyer». Ошибка в вводе данных может легко стать причиной потери данных на диске.

  4. df

    (Disk Free). Даёт полную информацию о свободном пространстве на диске. Анализ включает перечисление файловых систем смонтированных разделов, обзор занятого и свободного места на диске. Для более удобного вывода информации, лучше применять сочетание:

  5. du

    (Disk Usage). Позволяет определить размер файла или каталога. Применяется в вместе с дополнительными операторами:

  • df –h - представляет данные о размере в удобном для восприятия формате;
  • df –s - даёт необходимый минимум данных;
  • df –d - задаёт глубину рекурсии для каталогов.
  1. mount / umount

    Команды Linux для монтажа и отключения любых файловых систем - от CD-диска и USB-флешки до ядер ОС. Тип файловой системы обычно определяется командой самостоятельно, путём чтения суперблока. Опция используется только с правами суперпользователя.

Навигация

  1. find

    Осуществляет поиск в файловой системе, файлах и папках. Для результатов поиска можно выполнять дополнительные команды.

  2. pwd

    Отображает на экране текущий каталог .

  3. clear

    Команда полной очистки окна терминала удаляет все ранее выведенные сообщения.

  4. history

    Показывает ранее введённые пользователем команды. Перемещаться по списку введённых команд можно, нажимая на клавиатуре «Вверх» и «Вниз».

  5. locate

    Быстрый поиск файлов по базе данных updatedb для шаблонов имён файлов. Эта БД работает со снимком файловой системы, что многократно ускоряет процесс поиска. Но тут есть и существенный минус. Точность поиска зависит от того, насколько актуальны данные о файловой системе в текущей версии снимка.

  6. zcat / zless / zmore

    Утилиты для просмотра сжатых файлов . С помощью zcat можно найти увидеть список сжатых файлов, zless выводит их списком постранично с возможностью листать вперёд и назад, а zmore - только вперёд.

  7. ;

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

    (команда_№1 &); (команда_№2 &); (команда_№3 &)

Управление сетью

  1. ip

    (Internet Protocol). Утилита выводит полный список параметров для настройки работы с сетью . Среди них:

  • link - сетевое устройство;
  • address - IP-адрес сетевого устройства;
  • monitor - мониторинг устройства;
  • route - маршрутизация;
  • tunnel - туннелированные.
    Каждый из выводимых объектов можно изменять при помощи дополнительных команд: add , change , del , save и т.д.
  1. ping

    Команда проверяет наличие и качество интернет-подключения .

  2. nethogs

    Утилита мониторинга сетевой активности устройств в системе. Чтобы задать сетевой интерфейс, введите:

    Nethogs -i

  3. traceroute

    Утилита отслеживания интернет-подключения , отслеживая маршруты следования пакетов данных в сетях TCP/IP. Более совершенный инструмент для отслеживания проблем с подключением к Сети, чем упомянутая выше команда ping. Запускается только с правами суперпользователя.

Работа с процессами

  1. kill / xkill / pkill / killall

    Вариации команды для завершения операций . Основное различие между ними - способ идентификации.

  • kill - прекращает операцию, находя ее через идентификатор процесса (PID).
  • xkill - графический способ. После ввода команды курсор превращается в крестик, который при клике на окно открытого процесса, останавливает его;
  • pkill - завершает конкретный процесс, находя его по имени.
  • killall - прекращает все процессы с указанным именем.
  1. Ctrl +C

    Данное сочетание клавиш - еще один быстрый способ завершить выполнение любого процесса в терминале Linux.

  2. Ctrl +Z

    Комбинация ставит любой запущенный в консоли процесс на паузу . Снова запустить его можно, введя % .

  3. ps / pgrep

    (Process Status / Process-ID Global Regular Expressions Print). Команды находят по заданным параметрам и выводят информацию об активных процессах . Самый доступный способ найти идентификатор процесса (PID). Модификация pstree показывает весь список («древо») исполняемых процессов.

  4. top / htop / atop

    (Table of Processes). Три варианта команды, вызывающую консольную программу мониторинга активных процессов в системе. Информация отображается в виде таблицы со списком процессов в реальном времени. Рекомендуется использовать две последних модификации программы – в них больше возможностей и продвинутых функций.

  5. crontab

    Выполнение Cron (Command Run ON) - задач по расписанию в Linux.

  6. time

  • real - общее время исполнения;
  • user - сколько времени пользователь занял у CPU;
  • sys - сколько времени CPU было потрачено системой.

Сделать время исполнения процесса ОС Linux минимальным поможет ! Универсальное решение по доступной цене!

Работа с архивами

  1. gzip

    Создаёт архивы со сжатыми файлами. Архивный файл будет иметь расширение .gz .

  2. gunzip

    Команда-распаковщик для zip-архивов . Извлекает сжатые файлы и удаляет архивный файл .gz .

  3. tar

    Сохраняет файлы и каталоги в архив с расширением .tar . Удобная утилита для создания резервных копий или надёжной архивации данных.

Управление пользователями

  1. useradd / userdel / usermod

    Команды управления учётными записями пользователей. Позволяют добавлять, удалять и редактировать пользовательские профили. Пример:

    Useradd имя_пользователя.

  2. passwd

    Позволяет менять пароли учётных записей . Обычный пользователь может поменять только пароль, связанный с его именем: passwd имя_пользователя.В режиме суперпользователя можно «вслепую» сбросить все пользовательские пароли в системе.

Работа с текстом

  1. Ctrl + A / Ctrl + E

    Клавиши быстрого перехода в начало (А ) и конец (E ) строки.

  2. Ctrl + Shift + C / Ctrl + Shift + V

    Это сочетание клавиш в Linux позволит быстро скопировать (C ) и вставить (V ) текст в терминале.

  3. more / less

    Две команды для облегчения просмотра больших текстов , не умещающихся на одном экране эмулятора терминала. Т.к. функционально команды одинаковы, но less - новее и поддерживает больше опций, рекомендуется использовать именно её.

  4. head / tail

    Пара дополняющих друг друга команд для просмотра на одном экране начала и конца текста . Команда head выдаёт 10 (по умолчанию) первых строк текста, tail - последних. Число строк в обоих случаях меняется с помощью аргумента -n . Оператор -f позволяет отслеживать на экране изменения в файле. Чтобы лог (журнал) файла отображался в режиме реального времени, ввести команду:

    Tail –nf,

    Для отслеживания логов нескольких файлов применяется модификация команды - multitail .

  5. grep

    (Global Regular Expression and Print). Ищет текст по заданному шаблону. Это очень полезно, когда надо проанализировать работу команды, которая сопровождается большим объёмом текстовой информации. Шаблон может заполняться строкой или регулярным выражением. Пример:

    Alias старое_название новое_название

  6. sort

    Сортировка текстовой информации по заданным показателям. Дополнительные переменные позволяют:

  • -n ­- сортировать строки текста по числовому значению;
  • du ­- по размеру;
  • -r ­- применять обратную сортировку;
  • -u ­- удалять дубликаты при сортировке.
  1. wc

    (Word Count). Программа для подсчета заданных параметров в тексте. Считает такие показатели, как символы, слова, строки и байты.

  2. diff

    (Difference). Производит построчное сравнение двух текстовых файлов , выводя различия между ними. Алгоритм работы:

    Diff файл_№1 файл_№2

    Различия между двумя версиями файлов отмечают такие символы, как:

  • c - изменённые строки;
  • d - удалённые строки;
  • а -новые строки.

Окружение пользователя

  1. su / sudo

    (Switch User / Substitute User & Do). Две команды для запуска процессов от имени другого пользователя без завершения текущего сеанса. При использовании su по умолчанию происходит переход на пользователя root. Команда sudo способна не только активировать режим суперпользователя (о чём упоминалось выше), но и выполнить команду от имени другого пользователя без реального переключения на него. Поэтому второй вариант считается более безопасным.

  2. date

    Команда Linux, сообщающая информацию о времени . Отдельными переменными можно задать удобный формат вывода и число отображаемых параметров, вплоть до миллисекунд.

  3. alias

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

    Alias старое_название новое_название

    Этот же приём отлично подойдёт для устранения опечаток в командах. Отменить действие утилиты переименования поможет команда unalias .

  4. uname

    Утилита, выводящая информацию об операционной системе . Без дополнительных параметров она выдаст только название ядра. Чтобы получить всю возможную системную информацию, введите:

  5. uptime

    Показывает аптайм – время непрерывной работы системы.

  6. sleep

    Задаёт таймер выключения системы.

  7. yes

    Утилита автозаполнения поля согласия в команде или скрипте. Введите: yes название_команды и вам не придётся делать подтверждение вручную, когда этого потребует сценарий взаимодействия программы с пользователем.

Пакетные менеджеры

Пакетные менеджеры (ПМ) в Linux отвечают за установку, обновление и удаление приложений. Принцип их работы – загрузка программных пакетов из собственных сетевых репозитариев. Данные утилиты работают только с правами суперпользователя. Для различных дистрибутивов Linux существуют свои версии ПМ.

  1. apt

    ПМ для Debian , Ubuntu и Mint

    Sudo apt install имя_пакета

    Чтобы удалить приложение:

    Sudo apt remove имя_пакета

  2. dnf / yum

    Два самых распространённых ПМ для операционных систем Red Hat, Fedora и CentOS . Чтобы установить приложение, введите:

    Sudo dnf install имя_пакета

    Чтобы удалить:

    Sudo dnf remove имя_пакета

  3. pacman

    Пакетный менеджер дистрибутивов Arch и Manjaro . Чтобы установить приложение, введите:

    Sudo pacman -S имя_пакета

    Чтобы удалить приложение:

    Sudo pacman -R имя_пакета

Заключение

Полный список команд для дистрибутивов Linux - материал скорее для объемной книги, чем для одной статьи. Однако, в данном обзоре мы постарались собрать самые важные из них. Эти команды будут гарантированно полезны как в повседневных задачах, так и для раскрытия продвинутых возможностей этой операционной системы.

У каждого пользователя Linux есть свой список must have команд. Наверняка и вам есть чем дополнить данный обзор? Делитесь своими любимыми командами Linux в комментариях!

Хотите, чтобы операционка работала как швейцарские часы? Надёжная и мощная платформа для развёртывания любых дистрибутивов Linux - !