Основные команды ос unix. FAQ по Юниксу: основные команды

  1. && . Строго говоря, это не команда. Если вы хотите выполнить сразу несколько команд, поставьте между ними двойной амперсанд вот так: первая_команда && вторая_команда. Терминал выполнит команды по порядку. Вы можете ввести столько команд, сколько захотите.
  2. alias . Присваивает созданные вами названия длинным командам, которые вы не можете запомнить. Введите alias длинная_команда короткая_команда.
  3. cd . Изменяет текущую терминальную папку. Когда вы запускаете терминал, он использует вашу домашнюю папку. Введите cd адрес_папки, и терминал будет работать с файлами, которые там находятся.
  4. clear . Очищает окно терминала от всех сообщений.
  5. history . Отображает все недавно введённые вами команды. Кроме того, вы можете переключаться между недавними командами с помощью клавиш «Вверх» и «Вниз». Если вы не хотите, чтобы введённая вами команда была записана, поставьте перед ней пробел так: ваша_команда.
  6. man . Отображает руководство по программам и командам . Введите man имя_пакета или man ваша_команда.
  7. whatis . Отображает краткое описание какой-либо программы. Введите команду и название программы whatis имя_пакета.

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

  1. sudo . Эта команда даст вам права суперпользователя. Введите sudo перед нужной командой (например, sudo apt upgrade), чтобы выполнить её от имени администратора. Система спросит у вас пароль.
  2. sudo su . После этой команды все введённые вами команды будут исполняться от имени суперпользователя, пока вы не закроете терминал. Используйте её, если вам нужно выполнить много команд с правами администратора.
  3. sudo gksudo . Команда для запуска с правами администратора приложения с графическим интерфейсом. Например, если вы хотите переместить или изменить системные файлы, введите sudo gksudo nautilus (укажите тот файловый менеджер, которым пользуетесь).
  4. sudo !! . Эта команда запустит ранее введённую команду с правами администратора. Полезно, если вы набрали команду без sudo .

Не выполняйте от имени суперпользователя команд, которых не понимаете.

Установку и удаление приложений в Linux выполняют пакетные менеджеры. В Ubuntu и пакетный менеджер называется apt, в Fedora - dnf, в Arch и Manjaro - pacman. Они загружают приложения из сетевых репозитариев, источников пакетов. Давать им команды следует с правами суперпользователя.

apt (Debian/Ubuntu/Mint)

  1. sudo apt install имя_пакета. Установить нужный пакет.
  2. sudo apt-add-repository адрес_репозитария. Добавить сторонний репозитарий.
  3. sudo apt update . Обновить сведения о пакетах.
  4. sudo apt upgrade . Обновить все пакеты до самых свежих (выполнять после apt update).
  5. sudo apt remove имя_пакета. Удалить ненужный пакет.
  6. sudo apt purge имя_пакета. Удалить ненужный пакет со всеми зависимостями, если хотите освободить больше места.
  7. sudo apt autoremove . Удалить все ненужные зависимости, бесхозные пакеты и прочий мусор.

dnf (Red Hat/Fedora/CentOS)

  1. sudo dnf install имя_пакета. Установить нужный пакет.
  2. sudo dnf config-manager --add-repo адрес_репозитария. Добавить сторонний репозитарий.
  3. sudo dnf upgrade . Обновить все пакеты до самых свежих.
  4. sudo dnf remove имя_пакета. Удалить ненужный пакет.
  5. sudo dnf autoremove . Удалить все ненужные зависимости.

pacman (Arch/Manjaro)

  1. sudo pacman -S имя_пакета. Установить нужный пакет.
  2. sudo yaourt -S имя_пакета. Установить пакет из AUR, если его нет в основном репозитарии.
  3. sudo pacman -Sy . Обновить сведения о пакетах.
  4. sudo pacman -Syu . Обновить все пакеты до самых свежих.
  5. sudo pacman -R имя_пакета. Удалить ненужный пакет.
  6. sudo pacman -Rs имя_пакета. Удалить ненужный пакет со всеми зависимостями.

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

sudo apt install firefox clementine vlc

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

  1. kill . Эта команда служит для принудительного завершения процессов. Нужно ввести kill PID_процесса. PID процесса можно узнать, введя top .
  2. xkill . Ещё одна команда для завершения процессов. Введите её, затем щёлкните по тому окну, которое нужно закрыть.
  3. killall . Убивает процессы c определённым именем. К примеру, killall firefox .
  4. top . Отображает перечень запущенных процессов, сортируя в зависимости от потребления ресурсов CPU. Своего рода терминальный «Системный монитор».

Просмотр и изменение файлов

  1. cat . Когда команда используется с одним текстовым файлом (вот так: cat путь_к_файлу), она отображает его содержимое в окне терминала. Если указать два и больше файлов, cat путь_к_файлу_1 путь_к_файлу_2 , она склеит их. Если ввести cat путь_к_файлу_1 > новый_файл, она объединит содержимое указанных файлов в новый файл.
  2. chmod . Позволяет изменять права доступа к файлу. Может пригодиться, если вы хотите внести изменения в системный файл.
  3. chown . Изменяет владельца файла. Следует выполнять с правами суперпользователя.
  4. file . Выводит информацию об указанном файле.
  5. nano . Открывает простой текстовый редактор. Можно создать новый текстовый файл или открыть существующий: nano путь_к_файлу.
  6. rename . Переименовывает файл или несколько файлов. Команду можно использовать и для файлов по маске.
  7. touch . Изменяет дату последнего открытия или модификации указанного файла.
  8. wget . Загружает файлы из интернета в терминальную папку.
  9. zip . Распаковывает и сжимает архивы.

Создание и удаление файлов и папок

  1. mkdir . Создаёт новую папку в текущей терминальной папке или в указанной папке: mkdir путь_к_папке.
  2. rmdir . Удаляет указанную папку.
  3. rm . Удаляет файлы. Может удалить как отдельный файл, так и группу, соответствующую определённым признакам.

Копирование и перемещение файлов

  1. cp . Создаёт копию указанного файла в папке терминала: cp путь_к_файлу. Или вы можете указать назначение cp путь_к_файлу путь_для_копии.
  2. mv . Перемещает файл из одной папки в другую. Вы можете указать имя для перемещаемого файла. Забавно, но в Linux эта команда может использоваться и для переименования файлов. Просто укажите ту же папку, где находится файл, и другое имя.

Поиск файлов

  1. find . Поиск файлов по определённым критериям, таким как имя, тип, размер, владелец, дата создания и модификации.
  2. grep . Поиск текстовых файлов, содержащих определённые строки. Критерии очень гибко настраиваются.
  3. locate . Поиск файлов и папок, чьи названия подходят запросу, и отображение их путей в файловой системе.

  1. lsblk . Эта команда демонстрирует, какие диски есть в вашей системе и на какие разделы они поделены. Также команда отображает имена ваших разделов и накопителей, в формате sda1, sda2 и так далее.
  2. mount . Монтирует накопители, устройства или файловые системы , чтобы вы могли с ними работать. Обычно устройства подключаются автоматически, как только вы щёлкнете по ним в файловом менеджере. Но иногда может понадобиться примонтировать что-то вручную. Вы можете подключать что угодно: диски, внешние накопители, разделы и даже ISO-образы. Эту команду нужно выполнять с правами суперпользователя. Чтобы примонтировать имеющийся диск или раздел, введите mount sdX .
  3. umount . Демонтирует файловые системы. Команда umount sdX отключит файловую систему внешнего носителя, чтобы вы могли извлечь его.
  4. dd . Эта команда копирует и преобразовывает файлы и разделы. У неё множество различных применений. Например, dd if=/dev/sda of=/dev/sdb сделает точную копию раздела sda на разделе sdb. dd if=/dev/zero of=/dev/sdX затрёт содержимое указанного носителя нулями, чтобы информацию было невозможно восстановить. А dd if=~/Downloads/ubuntu.iso of=/dev/sdX bs=4M сделает загрузочный носитель из скачанного вами образа с дистрибутивом.

Команды Linux для управления пользователями

  1. useradd . Регистрирует нового пользователя. Введите useradd имя_пользователя, и пользователь будет создан.
  2. userdel . Удаляет учётную запись и файлы пользователя.
  3. usermod . Изменяет учётную запись пользователя. Может переместить домашнюю папку пользователя или назначить дату, когда учётная запись будет заблокирована.
  4. passwd . Изменяет пароли учётных записей. Обычный пользователь может изменить пароль только своей учётной записи, суперпользователь может изменить пароль любой учётной записи.

Команды Linux для управления сетью

  1. ip . Многофункциональная команда для работы с сетью. Команда ip address show выводит сведения о сетевых адресах, ip route управляет маршрутизацией и так далее. Давая команды ip link set ethX up , ip link set ethX down , можно включать и выключать соединения. У команды ip много применений, так что перед её использованием лучше ознакомиться с руководством или ввести ip --help
  2. ping . Показывает, подключены ли вы к сети, и помогает определить качество связи.

И ещё кое-что

Напоследок - главные команды Linux. Они выводят на экран корову, которая может разговаривать с вами (не спрашивайте, что употребляют разработчики).

  1. cowsay что_угодно. Корова произнесёт то, что вы ей скажете.
  2. fortune | cowsay . Корова выдаст умную (или не очень) мысль или цитату.
  3. cowsay -l . Выводит список всех животных, которые могут быть отображены в терминале. Если вы вдруг не любите коров.
  4. fortune | cowsay -f животное_из_списка. Животное на ваш выбор начинает сыпать цитатами, иногда уместными.
  5. sudo apt-get install fortunes fortune-mod fortunes-min fortunes-ru . Заставит весь зоопарк говорить по-русски. Без этого животные цитируют Твена и Уайльда .

Это далеко не все команды Linux. Если вам нужно узнать в деталях параметры и способы применения команд Linux, вы можете воспользоваться встроенным руководством. Наберите man ваша_команда или ваша_команда --help .

Формат команды в ОС Unix. Общий формат команд ОС Unix можно представить так:

< ИМЯ КОМАНДЫ ><разделитель><АРГУМЕНТЫ>

Команда (командная строка) – это последовательность слов, разделенных пробелами. Первое слово определяет имя команды , которая будет выполняться; оставшиеся слова, если они есть, как правило, передаются команде в качествеаргументов .

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

Формат каманды:

cd [имя_каталога]

% cd /u/home/apxx

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

Замечание. В примерах символ % обозначает системное приглашение. Символ % используется вFreeBSDв качестве системного приглашения по умолчанию.

Команда pwd. Командаpwd (print working directory) используется для определения абсолютного имени текущего каталога.

/u/home/apxx/ap1202

Сокращения имен файлов. Сокращенные имена можно использовать, например, в команде cd для перемещения по файловой системе. Символы сокращения приведены в табл. 1.1.

Таблица 1.1

/u/home/apxx/ap1104

/u/home/apxx/ap1104/abc

Команда ls. Командаls используется для просмотра содержимого каталога.

Формат команды :

ls [-опции] [путь]

ap1101 ap1102 ap1103 ap1104 ap1105

ap1201 ap1202 ap1203 ap1204 ap1205

ap1301 ap1302 ap1303 ap1304 ap1305

Файлы, имена которых начинаются с точки, называются скрытыми. Чтобы увидеть имена скрытых файлов, используйте опцию а . Скрытые файлы обычно используются для настройки рабочей среды. Для получения информации о типах файлов (каталог, исполняемый файл, ссылка), используйте опциюF . При использовании этой опции в поле имени выводится символ, который определяет тип файла (табл. 1.2)

Таблица 1.2

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

– тип файла,

– право доступа,

– число ссылок,

– владелец,

– размер,

– дата последней ревизии,

– имя файла или каталога.

Команда mkdir . Командаmkdir используется для создания ката-логов.

Формат команды :

mkdir имя_каталога1 [имя_каталога2...]

Примерсоздания каталога в текущем каталоге:

/u/home/apxx/ap1304

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

Команда rm . Командаrm используется для удаления файлов и/или каталогов.

Формат команды :

rm [-опции] [файл(ы])

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

rm: abc is a directory

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

Команда man.

Необходимым компонентом любой ОС является внутренняя система документации, дающая пользователю инструмент изучения возможностей системы. Такой традиционно в ОС Unix выступает система man-страниц (Manual Pages). Несмотря на появление множества других форматов для представления документов, команда man остается простым и универсальным средством оперативного получения исчерпывающей информации.

Формат команды :

man <команда>

Для управления просмотром можно использовать следующие клавиши:

пробел – перемещение по документу на одну страницу вперед;

ENTER – перемещение по документу на одну строку вперед;

b (-1) – возврат на одну страницу;

q – выход из режима просмотра описания.

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

! <номер-команды>, эта конструкция заменяется на команду под заданным номером из буфера команд.

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

!<номер-команды>:s/<что_меняем>/<на_что_меняем>

Примечание . Если в заданном контексте встречаются специальные символы (типа ". " , "/ " , " * " и т. д.), надо перед ними поставитьсимвол экранирования \ (обратный слэш).

Использование символа "; ". Символ точка с запятой позволяет записывать несколько команд в одной командной строке. Команды выполняются последовательно.

Краткое описание некоторых полезных команд приведено в табл. 1.3.

Таблица 1.3

Окончание табл. 1.3

Сетевое имя машины

Информация о доступных интерпретаторах shells (об оболочках)

cat /proc/cpuinfo

Информация о процессоре

cat /proc/interrupts

Информация о прерываниях

cat /proc/meminfo

Информация о памяти

Информация об области свопинга

cat /proc/version

Информация о версии ядра и другая информация

cat /proc/net/dev

Информация о сетевых интерфейсах и их статистика

Информация о смонтированных устройствах

cat /proc/partitions

Информация о доступных разделах

cat /proc/modules

Информация о загруженных модулях ядра

Текущая дата

Календарь на текущий месяц

Вывести на экран аргументы команды

Завершить процесс

Показывает пользователей в системе и что они делают

Показывает пользователей, вошедших в систему

Показать путь к указанной программе (имя)

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

Я уже писал о командах терминала Linux, но тогда затронул лишь несколько самых интересных, самых полезных команд, рассчитывая на то, что пользователь уже достаточно знаком с возможностями терминала. Но нужно сделать ещё одну статью, рассчитанную на новичков, тех, кто только делает свои первые шаги в освоении Linux.

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

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

1. ls

Утилита для просмотра содержимого каталогов. По умолчанию показывает текущий каталог. Если в параметрах указать путь, то она перечислит содержимое конечного каталога. Полезные опции -l (L ist) и -a (A ll). Первая форматирует вывод в виде списка с более подробной информацией, а вторая включает показ скрытых файлов.

2. cat

Печатает содержимое файла, переданного в параметре, в стандартный вывод. Если передать несколько файлов, команда склеит их. Также можно перенаправить вывод в ещё один файл с помощью символа ">". Если нужно вывести только определенное количество строк, используйте опцию -n (N umber).

3. cd

Позволяет перейти из текущего каталога в указанный. Если запустить без параметров - возвращает в домашний каталог. Вызов с двумя точками возвращает на уровень вверх относительно текущего каталога. Вызов с тире (cd -) возвращает к предыдущему каталогу.

4. pwd

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

5. mkdir

Создание новых каталогов. Наиболее удобная опция -p (P arents), позволяет создать всю структуру подкаталогов одной командой, даже если они ещё не существуют.

6. file

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

7. cp

Копирование файлов и каталогов. Она не копирует каталоги по умолчанию рекурсивно (то есть все поддиректории и все файлы в поддиректориях), поэтому не забудьте добавить опцию -r (R ecursive) или -a (A rchive). Последняя включает режим сохранения атрибутов, владельца и временного штампа в дополнение к рекурсивному копированию.

8. mv

Перемещение или переименование файлов и каталогов. Примечательно, что в Linux это одна и та же операция. Переименование - это перемещение файла в ту же папку с другим именем.

9. rm

Удаляет файлы и папки. Очень полезная команда Linux: с её помощью вы можете убрать весь беспорядок. Если нужно рекурсивное удаление, используйте опцию -r. Однако будьте осторожны: конечно, для того чтобы повредить систему вам нужно будет серьёзно постараться, однако можно удалить собственные важные файлы. Rm удаляет файлы не в корзину, из которой потом всё можно будет восстановить, а полностью стирает. Действия оператора rm необратимы. Поверьте, ваши оправдания в духе "rm съела мою курсовую" никому не будут интересны.

10. ln

Создает жёсткие или символические ссылки на файлы. Символические или программные ссылки - это что-то похожее на ярлыки в Windows. Они предоставляют удобный способ доступа к определённому файлу. Символические ссылки указывают на файл, но не имеют никаких метаданных. Жёсткие ссылки, в отличие от символических, указывают на физический адрес области диска, где хранятся данные файла.

11. chmod

Изменяет права доступа к файлу. Это чтение, запись и выполнение. Каждый пользователь может изменять права для своих файлов.

12. chown

Изменяет владельца файла. Только суперпользователь может изменять владельцев. Для рекурсивного изменения используйте опцию -R.

13. find

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

14. locate

В отличие от find, команда locate ведёт поиск в базе данных updatedb для шаблонов имён файлов. Эта база данных содержит снимок файловой системы, что позволяет искать очень быстро. Но этот поиск ненадёжен, потому что вы не можете быть уверены, что ничего не изменилось с момента последнего снимка.

15. du

Показывает размер файла или каталога. Самые полезные опций: -h (H uman), которая преобразует размеры файлов в легко читаемый формат, -s (S ummarize), которая выводит минимум данных, и -d (D epth), устанавливающая глубину рекурсии по каталогам.

16. df

Анализатор дискового пространства. По умолчанию вывод достаточно подробный: перечислены все файловые системы, их размер, количество использованного и свободного пространства. Для удобства есть опция -h, делающая размеры легко читаемыми.

17.dd

Как сказано в официальном руководстве, это команда терминала для копирования и преобразования файлов. Не очень понятное описание, но это всё, что делает dd. Вы передаёте ей файл-источник, пункт назначения и пару дополнительных опций. Затем она делает копию одного файла в другой. Вы можете задать точный размер данных, которые нужно записать или скопировать. Работает утилита со всеми устройствами. Например, если вы хотите перезаписать жёсткий диск нулями из /dev/zero, можете сделать это. Также она часто используется для создания LiveUSB или гибридных ISO образов.

18 mount / umount

Это команды консоли Linux для подключения и отключения файловых систем Linux. Можно подключать всё: от USB накопителей, до ISO образов. И только у суперпользователя есть права для этого.

Linux команды консоли для работы с текстом

19. more / less

Это две простенькие команды терминала для просмотра длинных текстов, которые не вмещаются на одном экране. Представьте себе очень длинный вывод команды. Или вы вызвали cat для просмотра файла, и вашему эмулятору терминала потребовалось несколько секунд, чтобы прокрутить весь текст. Если ваш терминал не поддерживает прокрутки, вы можете сделать это с помощью less. Less новее, чем more и поддерживает больше опций, поэтому использовать more нет причин.

20. head / tail

Ещё одна пара, но здесь у каждой команды своя область применения. Head выводит несколько первых строк из файла (голова), а tail выдает несколько последних строк (хвост). По умолчанию каждая утилита выводит десять строк. Но это можно изменить с помощью опции -n. Ещё один полезный параметр -f, это сокращение от f ollow (следовать). Утилита постоянно выводит изменения в файле на экран. Например, если вы хотите следить за лог файлом, вместо того, чтобы постоянно открывать и закрывать его, используйте команду tail -nf.

21. grep

Grep, как и другие инструменты Linux, делает одно действие, но делает его хорошо: она ищет текст по шаблону. По умолчанию она принимает стандартный ввод, но вы можете искать в файлах. Шаблон может быть строкой или регулярным выражением. Она может вывести как совпадающие, так и не совпадающие строки и их контекст. Каждый раз, когда вы выполняете команду, которая выдает очень много информации, не нужно анализировать всё вручную - пусть grep делает свою магию.

22. sort

Сортировка строк текста по различным критериям. Наиболее полезные опции: -n (N umeric), по числовому значению, и -r (R everse), которая переворачивает вывод. Это может быть полезно для сортировки вывода du. Например, если хотите отсортировать файлы по размеру, просто соедините эти команды.

23. wc

Утилита командной строки Linux для подсчёта количества слов, строк, байт и символов.

24. diff

Показывает различия между двумя файлами в построчном сравнении. Причём выводятся только строки, в которых обнаружены отличия. Измененные строки отмечаются символом "с", удалнные - "d", а новые - "а".

Кстати, я подготовил ещё одну подробную статью, в которой описан именно c помощью терминала.

Команды Linux для управления процессами

25. kill / xkill / pkill / killall

Служат для завершения процессов. Но они принимают различные параметры для идентификации процессов. Kill нужен PID процесса, xkill - достаточно кликнуть по окну, чтобы закрыть его, killall и pkill принимают имя процесса. Используйте ту, которая удобна в определенной ситуации.

26. ps / pgrep

Как уже говорилось, чтобы уничтожить процесс, нужен его идентификатор. Один из способов получить его, это утилита ps, которая печатает информацию о запущенных процессах. По умолчанию вывод очень длинный, поэтому используйте опцию -e, чтобы увидеть информацию об определённом процессе. Это только снимок состояния на момент вызова, и информация не будет обновляться. Команда ps с ключом aux выводит полную информацию о процессах. Pgrep работает следующим образом: вы задаете имя процесса, а утилита показывает его идентификатор.

27. top / htop

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

28. time

Время выполнения процесса. Это секундомер для выполнения программы. Полезно, если вам интересно, насколько сильно ваша реализация алгоритма отстает от стандартной. Но, несмотря на такое название, она не сообщит вам текущее время, используйте для этого команду date.

Команды Linux окружения пользователя

29. su / sudo

Su и sudo - это два способа выполнить одну и ту же задачу: запустить программу от имени другого пользователя. В зависимости от вашего дистрибутива вы, наверное, используете одну или другую. Но работают обе. Разница в том, что su переключает вас на другого пользователя, а sudo только выполняет команду от его имени. Поэтому использование sudo будет наиболее безопасным вариантом работы.

30. date

В отличие от time, делает именно то, чего вы от неё и ожидаете: выводит дату и время в стандартный вывод. Его можно форматировать в зависимости от ваших потребностей: вывести год, месяц, день, установить 12-ти или 24-ти часовой формат, получить наносекунды или номер недели. Например, date +"%j %V", выведет день в году и номер недели в формате ISO.

31. alias

Команда создаёт синонимы для других команд Linux. То есть вы можете делать новые команды или группы команд, а также переименовывать существующие. Это очень удобно для сокращения длинных команд, которые вы часто используете, или создания более понятных имен для команд, которые вы используете нечасто и не можете запомнить.

32. uname

Выводит некую основную информацию о системе. Без параметров она не покажет ничего полезного, кроме строчки Linux, но, если задать параметр -a (A ll), можно получить информацию о ядре, имени хоста и узнать архитектуру процессора.

33. uptime

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

34. sleep

Вам, наверное, интересно как же её можно использовать. Даже не учитывая Bash-скриптинг, у неё есть свои преимущества. Например, если вы хотите выключить компьютер через определенный промежуток времени или использовать в качестве импровизированной тревоги.

Команды Linux для управления пользователями

35. useradd / userdel / usermod

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

36. passwd

Эта команда позволяет изменить пароль учетной записи пользователя. Как суперпользователь вы можете сбросить пароли всех пользователей, даже несмотря на то, что не можете их увидеть. Хорошая практика безопасности - менять пароль почаще.

Linux команды для просмотра документации

37. man / whatis

Команда man открывает руководство по определённой команде. Для всех основных команд Linux есть man страницы. Whatis показывает, какие разделы руководств есть для данной команды.

38. whereis

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

Команды Linux для управления сетью

39. ip

Если список команд Linux для управления сетью вам кажется слишком коротким, скорее всего вы не знакомы с утилитой ip. В пакете net-tools содержится множество других утилит: ipconfig, netstat и прочие устаревшие, вроде iproute2. Всё это заменяет одна утилита - ip. Вы можете рассматривать её как швейцарский армейский нож для работы с сетью или как непонятную массу, но в любом случае за ней будущее. Просто смиритесь с этим.

FAQ по Юниксу:
консоль

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

1. Система UNIX различает БОЛЬШИЕ и
малые буквы, и к этому нужно привыкнуть.

2. Юникс — это тебе на МастДай и не
МАК — если уничтожить какой-нибудь файл, то
никаких проблем с его восстановлением не
будет. Потому как восстановить
уничтоженный файл в системе Unix НЕВОЗМОЖНО.
В Unix отсутствует команда unerase, и к этому тоже
нужно привыкнуть. Успокаивает только то,
что вирусы и анитивирусы в Unix тоже
отсутствуют:)(OUPS!Я сказал «совсем», я хотел сказать «почти»:)).

3. В имени файла директории
отделяются от последующей части символом
«/» Если имя начинается со слэша —
значит, это полное маршрутное имя. Простое имя файла может состоять из ЛЮБЫХ символов.
Длина простого имени не более 256 символов.
Длина полного маршрутного имени файла не
более 1024 символов. Для задания шаблона
имен используются символы * (произвольная
последовательность символов) и? (один
произвольный символ). Два имени являются
выделенными. Имя из одной точки «.»
обозначает текущую директорию, имя из двух
точек «..» — вышележащую.

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

команда -ключи -ключи … прочие
разные аргументы …

Пример: /bin/lynx #запустится текстовый
браузер.

5 Пользователи системы UNIX
объединяются в группы, и каждая из групп
может обладать определенным набором
привилегий.

6 Выдачу одной команды можно
перенаправлять на вход другой команды. Для
этого используется «|» — конвейер.

cat /home/zlob* | wc -c

# Команда cat сливает вместе все
файлы вида /home/zlob*,
# wc -c -l считает количество символов и число
строк во входном
# потоке.

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

Того же результата можно достичь и
без конвейера таким образом:

ps -ef > temp-file
more temp-file
rm temp-file

Некоторые наиболее юзаемые
команды

pwd — Получить имя
текущей директории.

cd — Изменить текущую
директорию(аналог команды ДОС-а).

Пример: cd /usr/spool/lp/adm
Пример: cd..
id

Если директория не указана, ты
попадаешь в свой «домашний» каталог $HOME

ls — Распечатать
информацию о файлах или директориях.

Пример: ls /etc

Формат команды: ls [ключи] [имена]

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

cat — Слить или
вывести файлы-аргументы на стандартный
вывод.

Пример: cat /etc/passwd

cp — Копировать
файлы.

mv — Переместить (переименовать)
файлы.

Пример: mv zlob zlobland #Поместить файл
«zlob» в каталог «zlobland».

rm — Удалить
файлы.

Формат команды: rm [-fri] файл …
-i —
просить подтверждения на каждое удаление
-r —
рекурсивно удалить вместе с подкаталогами
-f —
не просить подтверждения, а сразу удалять

rmdir — Удалить директорию.

Пример: rmdir zlobland

mkdir — Создать директорию.
Формат команды: mkdir имя_директории

Пример: mkdir zlobland

echo — Вывести аргументы
командной строки на стандартный вывод.

ps — Узнать
номера выполняемых процессов.

Сообщает номера процессов,
которые выполняются в системе.
ps —
запущенные только с этого терминала
ps -e — все
ps -f — в «полном»
формате

passwd — Изменить пароль
регистрации.

who — Узнать, кто
работает в системе.
who — этими командами можно узнать,
кто вы такой, и кто еще работает в системе
who am i
finger
last | more
id
man -k who — сообщит все возможные команды,
которыми можно узнать, кто и что делает в
системе.

more — позволяет просматривать файл, делая остановку на
каждой границе экрана

Пример: more file_name …
Просмотром можно управлять с помощью
клавиш:
q — завершить просмотр
ПРОБЕЛ — показать следующую страницу
ENTER — сдвинуться на одну строку
b — показать предыдущую
страницу
/ — поиск
h — Help — посмотреть список
всех возможных команд

man — Выдать
справку об использовании и ключах команды.
Как правило, при запуске команды без
аргументов она выдает формат своего вызова.
Но для большинства команд достаточно полную информацию вы можете получить так: man

chmod — Изменение прав
доступа к файлам. Команда chmod меняет
атрибуты (права доступа) файла. Проставить
файлам право на выполнение:
chmod u+x file1
Разрешить остальным пользователям
исправлять файл:
chmod a+w file1

kill — Прервать процесс.
Команда kill посылает указанному
процессу сигнал немедленной остановки.

Прервать процесс номер 31337 (номер
можно узнать командой ps -e)
kill -9 31337

Прервать программу на вашем
терминале, запущенную НЕ в фоновом режиме,
можно нажатием клавиш CTRL-C, или клавиш CTRL-\.

Как создать файл?

Для создания файла можно
воспользоваться следующими способами:
touch zlobprimer — создает файл zlobprimer;
cat > zlobprimer — создает файл
primer и пишет в него из стандартного ввода.
Запись в файл закончится после нажатия CTRL+D.

Команды для хацкера

su — включить pежим supervisor aka
root. Заходим под своим пасом, выполняем
команду ‘su’ и получаем рута:), если повезет
конечно:))).

newgrp — сменить гpyппy, к котоpой
ты пpинадлежишь в данный момент. Чтобы su запyстить
все-таки можно было:).

at -предназначена для
исполнения чего-то в нужный момент, с твоими
привилегиями. Подменить отложенную процедуру
и воспользоваться чужими привилегиями —
очень интересный, но трудоемкий процесс.

prwarn — пpосит пользователя
вpемя от вpемени сменить паpоль.

sadc — System Activity Data Collector pаботает
от имени root и собиpает данные о pесypсах
системы. Записывает данные в файл.

pt_chmod — daemon, отвечающий за pежим
достyпа по виpтyальным соединениям, чеpез
котоpые теpминальные эмyлятоpы полyчают достyп
к машине.

Успешных вам успехов!:).

Если при использовании Линукса или
при его установке у тебя возникли вопросы — обязательно
шли их сюда: и на 90% получишь ответ.

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 Изменить приоритет процесса.



Понравилась статья? Поделиться с друзьями: