Uname a linux команда

Обновлено: 05.07.2024

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

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

В этой статье мы рассмотрим наиболее часто используемые системными администраторами команды в Linux.

Команда uname

Команда uname с параметром -a применяется для вывода системной информации: наименование используемого ядра, его версия, имя хоста, тип процессора и информация о вашей аппаратной платформе.

Разберем вышеприведенный вывод детально:

Команда who

Команда who выводит список вошедших в систему пользователей.

$ who
diego tty7 2021-04-03 09:21 (:0)

Команда w

Команда w отображает пользователей и их процессы. Вначале идет заголовок, содержащий текущее время, время безотказной работы системы (uptime), количество пользователей, вошедших в систему, и средние значения загрузки системы.


Далее мы видим имена пользователей, используемый терминал и удаленный IP-адрес, с которого они вошли в систему, время их входа, время простоя, JCPU (время, использованное всеми процессами, закрепленными за терминалом), PCPU (время, использованное процессом из поля WHAT ) и программу, которую они запустили.

Команда ls

Команда ls выводит содержимое каталога. Кроме того, данная команда помогает проверить установленные для файлов/каталогов разрешения. В следующем примере показана неудачная (из-за отсутствия необходимых прав) попытка запуска приложения ravesli_app. Выполнив после этого команду ls -l , мы видим, что в наборе прав -rw-r--r-- отсутствует разрешение на выполнение — символ x :

$ ./ravesli_app
bash: ./ravesli_app: Отказано в доступе
$ ls -l ravesli_app
-rw-r--r-- 1 diego diego 180 мар 29 14:51 ravesli_app

Команда tar

Команда tar позволяет заархивировать несколько файлов в один архив.

В качестве примера, давайте создадим каталог ravesli_docs, и поместим в него три файла: a.txt, b.txt и c.txt:

$ mkdir ravesli_docs; touch ravesli_docs/

Теперь с помощью команды tar -cvf создадим архив ravesli.tar, содержащий все файлы из каталога ravesli_docs:


Просмотрев с помощью команды ls содержимое текущего каталога можно заметить каталог ravesli_docs и вновь созданный нами архив ravesli.tar:

$ ls
ravesli.tar ravesli_docs

Для распаковки архива применяется команда tar -xvf :


Также вы можете задействовать gzip-сжатие для архива (для этого необходимо добавить параметр -z ):


Для распаковки сжатого архива применяется связка параметров -z и -x :


Команда rsync

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

Ниже показан пример копирования при помощи команды rsync всех файлов из каталога ravesli_docs в каталог backups:


Команда find

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

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

$ find . -name a.txt
./ravesli_docs/a.txt
./backups/a.txt

Для поиска каталогов применяется параметр -type d :

$ find . -type d
.
./ravesli_docs
./.pki
./.pki/nssdb
./Шаблоны
./Документы
./.cache
./.cache/QtProject
./.cache/QtProject/QtCreator
./.cache/QtProject/QtCreator/qmlcache
./.cache/fontconfig
./.cache/systemsettings
./.cache/systemsettings/qmlcache
./.cache/systemsettings/attica
[…]

За поиск файлов по размеру отвечает параметр -size . Например, если в текущем каталоге мы хотим найти все файлы, размер которых более 10 МБ, то необходимо выполнить команду find . -size +10M :

$ find . -size +10M
./.cache/icon-cache.kcache
./.cache/appstream/system/ru_RU.cache
./.cache/plasma_theme_default_v5.78.0.kcache
./.mozilla/firefox/am73pqpn.default-esr/storage/permanent/chrome/idb/3870112724rsegmnoittet-es.sqlite

Команда locate

Команда locate использует базу данных для поиска файлов и, по сути, может быть намного быстрее команды find . Например, для поиска файла apache2.conf необходимо сделать следующее:

$ locate apache2.conf
/etc/apache2/apache2.conf
/usr/share/doc/apache2/examples/apache2/apache2.conf
/var/lib/dpkg/info/apache2.conffiles

Если вам нужно отобразить только количество файлов, соответствующих шаблону поиска, то просто добавьте параметр -c :

$ locate -c apache2.conf
3

Иногда вам может потребоваться обновить базу данных, к которой обращается locate . Для этого необходимо ввести команду updatedb (её запуск производится от имени суперпользователя):

Команда systemctl

Команда systemctl используется для управления системными службами.

Например, запуск службы веб-сервера apache2 выполняется следующим образом:

$ sudo systemctl start apache2.service

Примечание: Допускается опускать суффикс .service .

Остановка службы выполняется аналогичным образом, только start меняется на stop :

$ sudo systemctl stop apache2

Чтобы увидеть состояние службы, используйте команду systemctl status . В следующем примере мы предварительно снова запускаем apache2, чтобы затем посмотреть на вывод команды systemctl status :


Команда journalctl


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


Для просмотра логов, касающихся какой-то конкретной службы, например, apache2, используйте параметр -u :


Команда kill

Команда kill используется для принудительного завершения процесса.


Два наиболее часто используемых сигнала — это SIGTERM и SIGKILL .

Сигнал SIGKILL приводит к немедленному завершению процесса.

Также можно указывать числовые значения сигналов вместо их названий, например, -9 вместо SIGKILL и -15 вместо SIGTERM .

Ниже представлен список всех процессов веб-сервера apache2:


Чтобы убить процесс apache2 с идентификатором 2409 , необходимо ввести следующую команду:

$ sudo kill -9 2409

Еще раз посмотрим на список процессов apache2. Как видите, теперь осталось только три процесса:


Команда killall

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

$ sudo killall apache2

Команда curl

Команда curl позволяет взаимодействовать с внешними ресурсами посредством URL-адресов. Часто данная команда применяется для определения того, может ли ваше приложение связаться с другой службой, например, с базой данных, или для проверки работоспособности вашей службы.

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

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

$ curl database:27017
curl: (6) Couldn't resolve host 'database'

Вывод команды означает, что заданный URL-адрес недоступен или хост не имеет соответствующим образом настроенного DNS-сервера, который можно использовать для сопоставления имени и IP-адреса.

Команда tail


Команда cat

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

$ cat работа_коллеги.txt

Иванов А. А.
Петров Б. Б.
Сидоров С. С.

Команда grep

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

$ cat tomcat.log | grep org.apache.catalina.startup.Catalina.start

01-Jul-2017 18:03:47.542 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 681 ms

Команда top

$ tail myapp.log
Traceback (most recent call last):
MemoryError

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


Нажав клавишу C , вы можете увидеть полную команду, которая запустила приложение.


Команда netstat

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


Команда ip

Команда ip используется для настройки и отображения сетевых интерфейсов. Также данная команда используется для отображения и изменения IP-адресов, маршрутов и соседних объектов.

Например, отобразим информацию обо всех сетевых интерфейсах:

$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0d:3a:9b:88:d6 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.4/24 brd 10.0.0.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::20d:3aff:fe9b:88d6/64 scope link
valid_lft forever preferred_lft forever

Команда lsof

Команда lsof отображает информацию о том, какие файлы используются тем или иным процессом. В Linux практически любое взаимодействие с системой рассматривается как взаимодействие с файлом. Если ваше приложение записывает данные в файл или открывает сетевое соединение, то команда lsof отобразит соответствующую информацию по данному взаимодействию. Подобно команде netstat , вы можете использовать команду lsof для проверки открытых сетевых портов. Например, если вы хотите узнать, занят ли в вашей системе 80 порт, то, применив команду lsof , вы получите информацию о том, какой именно процесс в данный момент его использует.

Ниже вы можете видеть, что процесс apache2 прослушивает порт 80. Вы также можете использовать команду lsof для запроса информации по идентификатору процесса, чтобы узнать, по какому пути расположен соответствующий ему двоичный файл:


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

Команда df


Параметр -h выводит информацию в читабельном формате. По умолчанию команда df предоставляет результаты для всего, что находится в корневом каталоге, но вы также можете ограничить результаты выдачи, добавив к команде путь к заданному каталогу (например, df -h /home ).

Команда du

Команда du используется для получения информации о том, какие файлы (и в каком объеме) используют дисковое пространство в заданном каталоге. Например, если вы хотите узнать, какой лог-файл занимает больше всего места в каталоге /var/log, вы можете использовать команду du с параметром –s (для отображения занимаемого места) и параметром -h (читабельный формат):


В этом примере видно, что самым большим каталогом в каталоге /var/log является /var/log/apt. Применение команды du в сочетании с командой df поможет вам быстро определить, что и в каких объемах использует дисковое пространство на вашем компьютере.

Команда id

Для исправления ситуации необходимо произвести вход под учетной записью привилегированного пользователя (root) или прибегнуть к помощи команды sudo .

Команда chmod

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


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


Команда sestatus

Проверка того, включен ли сам модуль SELinux, производится с помощью команды sestatus:

$ sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 28

Вывод указывает на то, что на хосте модуль SELinux включен.

Команда history

Команда history отображает историю команд, которые были введены с момента начала сессии. Например, если сейчас применить команду history , то она покажет различные команды, с которыми вы экспериментировали по ходу данного урока:

$ history
1 clear
2 uname -a
3 who
[…]

Но что делать, если вы хотите выполнить предыдущую команду, но не хотите заново вручную её набирать? Ответ — используйте символ восклицательного знака ! перед номером команды для её повторного выполнения:

[…]
570 sudo firewall-cmd --get-active-zones --list-all
571 sudo man firewall-cmd
572 sudo firewall-cmd --get-default-zones
573 sudo firewall-cmd --get-default-zone
574 clear
575 history
576 uname
577 uname -a
578 clear
579 history
diego@debian:

Команда uname в Linux позволяет вам просматривать системную информацию о вашей среде Linux. Вот как эффективно использовать uname.

Начало работы с uname

Команда uname сама по себе не особенно полезна.

Попробуйте сами. Откройте окно терминала и введите следующую команду:

uname -a

На другом конце шкалы вы можете использовать следующую команду:

На этот раз вы получите целую кучу информации следующим образом:

  • имя ядра
  • имя узла
  • выпуск ядра
  • версия ядра
  • machiine
  • процессор
  • аппаратная платформа
  • операционная система

На самом деле вы получаете вывод, который выглядит примерно так:

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

uname -s

Следующая команда показывает вам имя ядра самостоятельно.

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

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

Вывод такой же, но ваши пальцы теперь будут немного короче.

ядро ​​Linux является Unix-подобным компьютером ядро ​​операционной системы . Он используется во всем мире: операционная система Linux основана на нем и развернута на обеих традиционных компьютерных системах, таких как персональные компьютеры и серверы , обычно в форме дистрибутивов Linux , [9] и на различных встроенных устройствах , таких как маршрутизаторы и Устройства NAS . Операционная система Android для планшетных компьютеров , смартфоны И smartwatches также основаны на ядре Linux.

uname -n

Следующая команда показывает имя узла вашего компьютера:

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

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

uname -r

Следующая команда показывает вам только релиз ядра:

Вывод приведенной выше команды будет выглядеть примерно так, как в 3.19.0-32-generic.

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

Например, когда была изобретена 1-я версия Linux, я сомневаюсь, что требовался драйвер для 3d-принтеров или сенсорных дисплеев.

Вы можете достичь того же эффекта, выполнив следующую команду:

uname -v

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

14.04.1.1-Ubuntu SMP Thu 22 октября 09:41:40 UTC 2015.

Релиз ядра отличается от версии тем, что версия показывает вам, когда ядро ​​было скомпилировано и в какой версии вы находитесь.

Вы можете получить ту же информацию, набрав следующую команду:

uname -m

Следующая команда печатает аппаратное имя машины:

Результат будет выглядеть примерно как x86_64.

Кстати, если вы запустите команду uname -p и команду uname -i , результатом также может быть x86_64.

В случае uname -m это сама архитектура машины. Подумайте об этом на уровне материнской платы.

Вы можете получить ту же информацию, выполнив следующую команду:

uname -p

Следующая команда показывает тип процессора:

Результат, скорее всего, будет таким же, как имя оборудования компьютера, например, x86_64.

Эта команда относится к типу процессора.

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

uname -i

Следующая команда показывает аппаратную платформу.

Эта команда покажет аппаратную платформу или, если вам нравится тип операционной системы. Например, у вас может быть платформа и компьютер x86_64, но только 32-битная операционная система.

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

uname -o

Следующая команда показывает операционную систему:

Если вы используете стандартную операционную систему Linux для настольных компьютеров, такую ​​как Ubuntu, Debian и т. Д., Вы не удивитесь, узнав, что вывод GNU/Linux. На телефоне или планшете операционная система будет Android.

Если вы новичок в Linux, тогда с большой вероятностью вы начали использовать командную строку. Если знать команды Linux, то с терминалом довольно легко работать. Именно поэтому большинство системных администраторов Linux предпочитают работу в терминале. Так как сделать что-то через терминал гораздо быстрее чем через GUI.

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

Системные команды Linux

Эти команды используются для просмотра информации и управления, связанной с системой Linux.

1. uname

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

Следующая команда uname с опцией a отображает всю информацию об операционной системе.

2. uptime

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

$ uptime
15:52:37 up 36 min, 1 user, load average: 0.03, 0.07, 0.04

Полное руководство команды Uptime

3. hostname

Вы можете отобразить имя хоста вашей машины, введя hostname в своем терминале. С помощью опции -i вы можете просмотреть ip-адрес компьютера. А с помощью параметра -d вы можете просмотреть доменное имя.

4. last

$ last
leni pts/0 10.0.76.162 Mon Dec 2 12:32 - 13:25 (00:53)
setiwik tty1 Mon Dec 2 09:31 still logged in
reboot system boot 2.6.32-358.23.2 Mon Dec 2 09:20 - 13:25 (04:05)

5. date

В Linux команда date используется для проверки текущей даты и времени системы. Эта команда позволяет задать пользовательские форматы для дат.

6. cal

По умолчанию команда cal отображает календарь текущего месяца. С помощью опции -y вы можете просмотреть календарь на весь год.

7. w

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

$ w
01:36:19 up 2:08, 2 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 39.177.9.194 23:29 3.00s 0.02s 0.00s w
setiwik pts/1 59.177.9.193 01:35 11.00s 0.00s 0.00s -bash

8. whoami

Команда Whoami выводит имя пользователя, вошедшего в систему в данный момент. Это похоже на команду id -un .

9. reboot

Команда reboot используется для перезагрузки системы Linux. Вы должны запустить эту команду из терминала с правами суперпользователя sudo.

10. shutdown

По умолчанию компьютер (сервер) выключится через 1 минуту. Вы можете отменить расписание, выполнив команду: shutdown -c

$sudo shutdown
Shutdown scheduled for Fri 2021-04-09 13:45:51 UTC, use 'shutdown -c' to cancel.
$

Команды Linux, взаимодействующие с оборудованием

Эти команды используются для просмотра аппаратных аспектов операционной системы Linux и управления ими.

11. dmesg

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

Ответ в терминале :

12. lshw

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

13. lsblk

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

$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 28.5G 0 disk /
sdb 8:16 0 1024M 0 disk [SWAP]

14. free

Команда free используется в Linux для проверки объема свободной оперативной памяти в системе. Так же команда free показывает пространство подкачки, буферное и кэш-пространство.

$ free
total used free shared buff/cache available
Mem: 4022216 723872 1359820 157988 1938524 2661636
Swap: 524284 247820 276464

15. lspci

16. lsusb

Команда Lsusb используется для отображения информации о шинах USB и подключенных к ним устройствах.Вы можете найти утилиту lsusb в пакете usbutils.

17. dmidecode

Команда Dmidecode считывает системную таблицу DMI (Интерфейс управления рабочим столом). Используется для отображения информации об оборудовании и BIOS. Выходные данные dmidecode содержат несколько записей из таблицы DMI. Эта таблица содержит описание аппаратных компонентов систем, а также другую полезную информацию, такую как серийный номер, версия BIOS и т. д.

Для использования требуется привилегия root или sudo.

В следующем примере показаны сведения о bios.

18. hdparm

Следующая команда выполнит проверку скорости чтения на диске sda:

Команды Linux, связанные со статистикой

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

19. mpstat

Команда Mpstat используется для показа статистики процессора и помогает отслеживать загрузку процессора в вашей системе. Это будет более полезно, если ваша система имеет несколько процессоров.

$ mpstat -P 0
Linux 3.2.0-57-generic (USERNB01) 12/12/2013 _x86_64_ (2 CPU)
03:54:00 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
03:54:00 PM 0 3.82 0.01 1.16 3.88 0.00 0.06 0.00 0.00 91.06

20. vmstat

По умолчанию vmstat работает следующим образом:

Команда Linux vmstat

Команда Linux vmstat

21. iostat

22. tcpdump

Когда вы используете tcpdump без какой-либо опции, он будет анализировать трафик на всех интерфейсах.

23. lsof

Чтобы просмотреть список файлов открытых определенным пользователем, используйте опцию -u .

Команда Lsof в системе Linux

Команда Lsof в системе Linux

24. watch

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

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

Эти команды используются для управления пользователями Linux.

25. id

26. last

Команда last в Linux используется для проверки ранее вошедшего пользователя на вашем сервере. О ней мы писали выше.

27. who

28. groupadd

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

29. useradd

30. userdel

31. usermod

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

32. passwd

Команды Linux, для работы с файлами

Эти команды используются для обработки файлов и каталогов.

33. ls

Очень простая, но мощная команда, используемая для отображения файлов и каталогов. По умолчанию команда ls отобразит содержимое текущего каталога.

34. pwd

Пример ример ниже:

[setiwik@li53-41 fsfreeze-hook.d]$ pwd
/usr/share/qemu-kvm/qemu-ga/fsfreeze-hook.d

35. mkdir

В Linux мы можем использовать команду mkdir для создания каталога.

По умолчанию, запустив mkdir без какой-либо опции, он создаст каталог в текущем каталоге.

$ mkdir account
$ ls -l
total 4
drwxrwxr-x. 2 linoxide linoxide 4096 Feb 8 08:04 account
$

36. cat

В следующих примерах команды cat отобразится имя дистрибутива Linux и версия, которая в настоящее время установлена на сервере.

$sudo cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)

37. rm

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

38. cp

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

39. mv

Когда вы хотите переместить файлы из одного места в другое и не хотите их дублировать, требуется использовать команду mv. Подробнее можно прочитать ЗДЕСЬ.

40.cd

Команда Cd используется для изменения текущего рабочего каталога пользователя в Linux и других Unix-подобных операционных системах.

41. Ln

Команда Ln использует следующий синтаксис:

ln -s [target directory or file] [symlink shortcut]

42. touch

Команда Touch используется в Linux для изменения времени доступа к файлам и их модификации. Мы можем использовать команду touch для создания пустого файла.

43. more

44. head

Команда head используется для печати первых нескольких строк текстового файла. По умолчанию команда head выводит первые 10 строк каждого файла.

45. tail

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

46. gpg

47. cksum

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

48. diff

Команда Diff используется для сравнения двух файлов строка за строкой в терминале.

49. sort

Команда sort используется в Linux для сортировки содержимого текстового файла строка за строкой.

50. uniq

51. wc

Команда Linux wc подсчитывает количество байтов, символов, слов и строк в файле.

52. dir

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

53. tee

54. tr

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

Команды Linux, связанные с процессом

Эти команды используются для обработки процессов Linux

55. ps

56. pmap

Команда pmap отображает карту использования памяти процесса или нескольких процессов. Pmap сообщает информацию об адресном пространстве или карте использования памяти процесса.

57. top

Команда top в Linux отображает запущенные процессы в системе. Эта команда широко используется для мониторинга нагрузки на сервер.

58. kill

Команда kill используется в Linux и других Unix-подобных операционных системах для завершения процессов без необходимости выхода из системы или перезагрузки компьютера.

59. killall

Команда killall может использоваться для отправки сигнала определенному процессу, используя его имя. Это означает, что если у вас запущено пять версий одной и той же программы, команда killall уничтожит все пять.

60. pkill

Аналогично команде killall, pkill посылает сигнал для завершения процесса с его именем. Начиная с Centos 7 рекомендуется использовать pkill.

61. fg и bg

Мы можем запускать задания в фоновом режиме без какого-либо вмешательства пользователя. Процессы, которые были остановлены каким-либо сигналом прерывания, могут быть продолжены в фоновом режиме с помощью команды bg. Команда fg похожа на команду bg, за исключением того, что вместо отправки команды в фоновом режиме она запускает их на переднем плане, занимает текущий терминал и ожидает завершения процесса.

Команды Linux, связанные с правами доступа к файлам

Эти команды используются для изменения разрешений файлов

62. chmod

Права доступа к файлам применяются на трех уровнях: владелец, члены группы и другие. Команда chmod используется для изменения этих разрешений.

63. chown

Команда chown в Linux используется для изменения владельца и группового владения файлами и каталогами.

64. chgrp

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

Команды Linux для работы с сетью

Эти команды используются для просмотра и редактирования сетевых конфигураций, связанных с аспектами системы

65. ifconfig

Команда ifconfig используется для отображения и установки IP-адреса для сетевых интерфейсов в Linux. На данный момент ifconfig устарел в пользу iproute2.

Шпаргалка и сравнение команды iproute2 ЗДЕСЬ.

66. ip

67. ethtool

Команда ethtool используется для отображения/изменения настроек адаптера Ethernet. Вы можете изменить скорость сетевой карты, автоматическое согласование, настройку пробуждения по локальной сети, дуплексный режим с помощью этого инструмента в Linux.

68. mii-tool

Команда mii-tool позволяет системным администраторам Linux изменять или проверять сетевую карту.

69. ping и ping6

Команды ping и ping6 используются для отправки эхо-запросов хосту и для проверки соединения ipv4 и ipv6.

70. whois

В Linux команда whois используется для получения информации о домене, такой как владелец домена, контактная информация владельца и серверы имен.

71. dig

Dig выполняет поиск DNS и отображает ответы, возвращенные с запрошенных серверов имен.

72. host

73. wget

74. netstat

75. nslookup

Команды связанные с сжатием и архивированием

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

76. tar

77. gzip

Команда Gzip сжимает файлы в один файл с расширением .gz.

Команды Linux связанные с установкой пакета

Эти команды используются для управления пакетами Linux.

78. rpm

79. make

Команда Make используется для создания исполняемых программ и библиотек из исходного кода.

80. yum

81. Apt

Поиск Связанных Команд Linux

Эти команды используются для поиска файлов и шаблонов

82. grep

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

83. locate

84. find

85. ssh

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

86. telnet

Команды Linux, Связанные С Передачей Файлов

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

87. scp

$ scp examples.txt user@192.168.1.10:/home/user/account

88. rsync

Rsync синхронизирует файлы и каталоги между локальными и удаленными машинами. Он может рекурсивно копировать файлы и каталоги, копировать символические ссылки, сохранять (разрешения, группу, время изменения и принадлежность) идентификатор файла.

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

Эти команды используются для просмотра статистики диска.

89. df

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

90. fdisk

Команда Fdisk используется в Linux для просмотра существующих разделов, создания нового раздела, удаления или изменения существующих разделов.

91. du

92. findmnt

Команда findmnt используется для перечисления смонтированных файловых систем в Linux. Эта команда будет искать конкретную файловую систему в /etc/fstab, /etc/mtab или /proc/self/mountinfo.

93. mount

Заключение

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

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

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

В этой статье мы рассмотрим наиболее часто используемые системными администраторами команды в Linux.

Команда uname

Команда uname с параметром -a применяется для вывода системной информации: наименование используемого ядра, его версия, имя хоста, тип процессора и информация о вашей аппаратной платформе.

Разберем вышеприведенный вывод детально:

Команда who

Команда who выводит список вошедших в систему пользователей.

$ who
diego tty7 2021-04-03 09:21 (:0)

Команда w

Команда w отображает пользователей и их процессы. Вначале идет заголовок, содержащий текущее время, время безотказной работы системы (uptime), количество пользователей, вошедших в систему, и средние значения загрузки системы.


Далее мы видим имена пользователей, используемый терминал и удаленный IP-адрес, с которого они вошли в систему, время их входа, время простоя, JCPU (время, использованное всеми процессами, закрепленными за терминалом), PCPU (время, использованное процессом из поля WHAT ) и программу, которую они запустили.

Команда ls

Команда ls выводит содержимое каталога. Кроме того, данная команда помогает проверить установленные для файлов/каталогов разрешения. В следующем примере показана неудачная (из-за отсутствия необходимых прав) попытка запуска приложения ravesli_app. Выполнив после этого команду ls -l , мы видим, что в наборе прав -rw-r--r-- отсутствует разрешение на выполнение — символ x :

$ ./ravesli_app
bash: ./ravesli_app: Отказано в доступе
$ ls -l ravesli_app
-rw-r--r-- 1 diego diego 180 мар 29 14:51 ravesli_app

Команда tar

Команда tar позволяет заархивировать несколько файлов в один архив.

В качестве примера, давайте создадим каталог ravesli_docs, и поместим в него три файла: a.txt, b.txt и c.txt:

$ mkdir ravesli_docs; touch ravesli_docs/

Теперь с помощью команды tar -cvf создадим архив ravesli.tar, содержащий все файлы из каталога ravesli_docs:


Просмотрев с помощью команды ls содержимое текущего каталога можно заметить каталог ravesli_docs и вновь созданный нами архив ravesli.tar:

$ ls
ravesli.tar ravesli_docs

Для распаковки архива применяется команда tar -xvf :


Также вы можете задействовать gzip-сжатие для архива (для этого необходимо добавить параметр -z ):


Для распаковки сжатого архива применяется связка параметров -z и -x :


Команда rsync

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

Ниже показан пример копирования при помощи команды rsync всех файлов из каталога ravesli_docs в каталог backups:


Команда find

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

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

$ find . -name a.txt
./ravesli_docs/a.txt
./backups/a.txt

Для поиска каталогов применяется параметр -type d :

$ find . -type d
.
./ravesli_docs
./.pki
./.pki/nssdb
./Шаблоны
./Документы
./.cache
./.cache/QtProject
./.cache/QtProject/QtCreator
./.cache/QtProject/QtCreator/qmlcache
./.cache/fontconfig
./.cache/systemsettings
./.cache/systemsettings/qmlcache
./.cache/systemsettings/attica
[…]

За поиск файлов по размеру отвечает параметр -size . Например, если в текущем каталоге мы хотим найти все файлы, размер которых более 10 МБ, то необходимо выполнить команду find . -size +10M :

$ find . -size +10M
./.cache/icon-cache.kcache
./.cache/appstream/system/ru_RU.cache
./.cache/plasma_theme_default_v5.78.0.kcache
./.mozilla/firefox/am73pqpn.default-esr/storage/permanent/chrome/idb/3870112724rsegmnoittet-es.sqlite

Команда locate

Команда locate использует базу данных для поиска файлов и, по сути, может быть намного быстрее команды find . Например, для поиска файла apache2.conf необходимо сделать следующее:

$ locate apache2.conf
/etc/apache2/apache2.conf
/usr/share/doc/apache2/examples/apache2/apache2.conf
/var/lib/dpkg/info/apache2.conffiles

Если вам нужно отобразить только количество файлов, соответствующих шаблону поиска, то просто добавьте параметр -c :

$ locate -c apache2.conf
3

Иногда вам может потребоваться обновить базу данных, к которой обращается locate . Для этого необходимо ввести команду updatedb (её запуск производится от имени суперпользователя):

Команда systemctl

Команда systemctl используется для управления системными службами.

Например, запуск службы веб-сервера apache2 выполняется следующим образом:

$ sudo systemctl start apache2.service

Примечание: Допускается опускать суффикс .service .

Остановка службы выполняется аналогичным образом, только start меняется на stop :

$ sudo systemctl stop apache2

Чтобы увидеть состояние службы, используйте команду systemctl status . В следующем примере мы предварительно снова запускаем apache2, чтобы затем посмотреть на вывод команды systemctl status :


Команда journalctl


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


Для просмотра логов, касающихся какой-то конкретной службы, например, apache2, используйте параметр -u :


Команда kill

Команда kill используется для принудительного завершения процесса.


Два наиболее часто используемых сигнала — это SIGTERM и SIGKILL .

Сигнал SIGKILL приводит к немедленному завершению процесса.

Также можно указывать числовые значения сигналов вместо их названий, например, -9 вместо SIGKILL и -15 вместо SIGTERM .

Ниже представлен список всех процессов веб-сервера apache2:


Чтобы убить процесс apache2 с идентификатором 2409 , необходимо ввести следующую команду:

$ sudo kill -9 2409

Еще раз посмотрим на список процессов apache2. Как видите, теперь осталось только три процесса:


Команда killall

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

$ sudo killall apache2

Команда curl

Команда curl позволяет взаимодействовать с внешними ресурсами посредством URL-адресов. Часто данная команда применяется для определения того, может ли ваше приложение связаться с другой службой, например, с базой данных, или для проверки работоспособности вашей службы.

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

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

$ curl database:27017
curl: (6) Couldn't resolve host 'database'

Вывод команды означает, что заданный URL-адрес недоступен или хост не имеет соответствующим образом настроенного DNS-сервера, который можно использовать для сопоставления имени и IP-адреса.

Команда tail


Команда cat

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

$ cat работа_коллеги.txt

Иванов А. А.
Петров Б. Б.
Сидоров С. С.

Команда grep

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

$ cat tomcat.log | grep org.apache.catalina.startup.Catalina.start

01-Jul-2017 18:03:47.542 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 681 ms

Команда top

$ tail myapp.log
Traceback (most recent call last):
MemoryError

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


Нажав клавишу C , вы можете увидеть полную команду, которая запустила приложение.


Команда netstat

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


Команда ip

Команда ip используется для настройки и отображения сетевых интерфейсов. Также данная команда используется для отображения и изменения IP-адресов, маршрутов и соседних объектов.

Например, отобразим информацию обо всех сетевых интерфейсах:

$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0d:3a:9b:88:d6 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.4/24 brd 10.0.0.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::20d:3aff:fe9b:88d6/64 scope link
valid_lft forever preferred_lft forever

Команда lsof

Команда lsof отображает информацию о том, какие файлы используются тем или иным процессом. В Linux практически любое взаимодействие с системой рассматривается как взаимодействие с файлом. Если ваше приложение записывает данные в файл или открывает сетевое соединение, то команда lsof отобразит соответствующую информацию по данному взаимодействию. Подобно команде netstat , вы можете использовать команду lsof для проверки открытых сетевых портов. Например, если вы хотите узнать, занят ли в вашей системе 80 порт, то, применив команду lsof , вы получите информацию о том, какой именно процесс в данный момент его использует.

Ниже вы можете видеть, что процесс apache2 прослушивает порт 80. Вы также можете использовать команду lsof для запроса информации по идентификатору процесса, чтобы узнать, по какому пути расположен соответствующий ему двоичный файл:


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

Команда df


Параметр -h выводит информацию в читабельном формате. По умолчанию команда df предоставляет результаты для всего, что находится в корневом каталоге, но вы также можете ограничить результаты выдачи, добавив к команде путь к заданному каталогу (например, df -h /home ).

Команда du

Команда du используется для получения информации о том, какие файлы (и в каком объеме) используют дисковое пространство в заданном каталоге. Например, если вы хотите узнать, какой лог-файл занимает больше всего места в каталоге /var/log, вы можете использовать команду du с параметром –s (для отображения занимаемого места) и параметром -h (читабельный формат):


В этом примере видно, что самым большим каталогом в каталоге /var/log является /var/log/apt. Применение команды du в сочетании с командой df поможет вам быстро определить, что и в каких объемах использует дисковое пространство на вашем компьютере.

Команда id

Для исправления ситуации необходимо произвести вход под учетной записью привилегированного пользователя (root) или прибегнуть к помощи команды sudo .

Команда chmod

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


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


Команда sestatus

Проверка того, включен ли сам модуль SELinux, производится с помощью команды sestatus:

$ sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 28

Вывод указывает на то, что на хосте модуль SELinux включен.

Команда history

Команда history отображает историю команд, которые были введены с момента начала сессии. Например, если сейчас применить команду history , то она покажет различные команды, с которыми вы экспериментировали по ходу данного урока:

$ history
1 clear
2 uname -a
3 who
[…]

Но что делать, если вы хотите выполнить предыдущую команду, но не хотите заново вручную её набирать? Ответ — используйте символ восклицательного знака ! перед номером команды для её повторного выполнения:

[…]
570 sudo firewall-cmd --get-active-zones --list-all
571 sudo man firewall-cmd
572 sudo firewall-cmd --get-default-zones
573 sudo firewall-cmd --get-default-zone
574 clear
575 history
576 uname
577 uname -a
578 clear
579 history
diego@debian:

Читайте также: