Сайт о телевидении

Сайт о телевидении

» » Основные команды ос unix. Команды UNIX

Основные команды ос unix. Команды UNIX

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% получишь ответ.

Формат команды в ОС 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

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

Текущая дата

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

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

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

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

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

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

  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 .

Во всех операционных системах, в том числе и в 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. Вы можете рассматривать её как швейцарский армейский нож для работы с сетью или как непонятную массу, но в любом случае за ней будущее. Просто смиритесь с этим.