Как посмотреть под каким пользователем выполнен вход linux
Перейти к содержимому

Как посмотреть под каким пользователем выполнен вход linux

  • автор:

Команда Linux для отображения текущего имени пользователя 1 мин для чтения

PlayStation размахивает молотком запретов так, как мечтают игроки Xbox

Favorite

Добавить в избранное

Главное меню » Linux » Команда Linux для отображения текущего имени пользователя

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

Знание текущего имени для входа важно для определения личности пользователя, который в данный момент вошел в систему, особенно если несколько человек используют одну систему Linux. Для этого существуют различные команды, с помощью которых вы можете найти текущего активного пользователя в Linux Mint. Мы обсудим их в этой статье.

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

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

1. Команда who

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

Вы также можете -a флаг с командой Who, чтобы получить информацию о текущем вошедшем в систему пользователе:

$ who -a

2. Команда whoami

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

$ whoami

3. Команда $USER

Другой способ получить только имя для входа, как в команде whoami, выполнить команду $USER:

$ echo $USER

4. Команда w

Команда w предоставляет дополнительную информацию о текущем активном пользователе в вашей системе:

Здесь TTY — тип терминала, в который они вошли, FROM — удаленный хост, LOGIN@ — время входа пользователя в систему, JCPU — совместное время ЦП, используемое всеми процессами, PCPU — время ЦП текущего процесса и WHAT — текущий процесс

5. Команда ID

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

Читать Как добавить пространство подкачки на Ubuntu 20.04

6. Команда logname

Команда logname печатает одно слово, только имя текущего активного пользователя:

$ logname

7. Команда last

Команда last выводит список пользователей, которые последними вошли в вашу систему:

$ last -p now

8. Команда lslogins

Команда lslogins отображает список пользователей, вошедших в систему, с их последним временем входа в систему и их именами, здесь флаг -u отображает только информацию о пользователе:

$ lslogins -u

Выводы

Как и в Linux, в одну и ту же систему могут входить разные пользователи, и в этом случае можно отслеживать их действия. Вы можете найти текущее имя для входа с помощью различных команд в терминале. В этой статье мы научились находить имя пользователя с помощью команд who, whoami, what, w и lslogins.

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Получить имя текущего пользователя в Unix/Linux

Хотелось бы рассказать в своей статье «Получить имя текущего пользователя в Unix/Linux» как можно получить имя текущего пользователя в Unix/Linux. Я, использовал только несколько, но нашел еще несколько о которых и не знал.

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

$ whoami

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

$ echo $USER

Так же, можно получить пользователя по ID:

$ id -u -n

Так же, можно получить пользователя по PID:

$ ps -o user= -p $$ | awk ''

Можно использовать утилиту «w» и она покажет пользователя:

Вот еще один пример хорошей утилиты:

Вот и все, тема «Получить имя текущего пользователя в Unix/Linux» завершена.

This entry was posted in Debian’s, FreeBSD, Kali Linux, MacOS, RHEL’s. Bookmark the permalink.

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Рубрики

  • Arch Linux (167)
  • Commands (36)
  • Debian’s (635)
    • Administration tools Ubuntu (37)
    • Backups Debian’s (7)
    • Database в Ubuntu (58)
    • Games (игры) (1)
    • Monitoring в Debian и Ubuntu (49)
    • Virtualization в Ubuntu / Debian/ Linux Mint (41)
      • Docker (22)
      • Kubernetes (6)
      • KVM (4)
      • OpenVZ (3)
      • Vagrant (5)
      • VirtualBox (6)
      • ArgoCD (1)
      • Concourse (1)
      • Gitlab (1)
      • Jenkinks (4)
      • Spinnaker (1)
      • Apache (32)
      • Cherokee (1)
      • FTP-services (5)
      • Lighttpd (1)
      • Nginx (26)
      • PHP (27)
      • Proxy для Debian’s (2)
      • Tomcat (4)
      • Панели управления в Ubuntu/Debian/Mint (24)
      • Установка и настройка почты на Ubuntu/Debian (12)
      • Хранилища (clouds) (2)
      • Administration tools freeBSD (19)
      • Database во FreeBSD (52)
      • Monitoring во freeBSD (37)
      • Virtualization во FreeBSD (22)
      • VoIP (1)
      • Установка Web сервисов (91)
      • Установка и настройка почты (6)
      • Установка из ports (пакетов) (19)
      • Установка из sorce code (исходников) (23)
      • Непрерывная интеграция (CI) (27)
      • Database в MacOS (36)
      • Monitoring в Mac OS (31)
      • Security (безопасность) (12)
      • Virtualization в Mac OS (30)
        • Docker (19)
        • Kubernetes (6)
        • Vagrant (5)
        • VirtualBox (5)
        • ArgoCD (1)
        • CircleCI (1)
        • Concourse (1)
        • Gitlab (1)
        • Jenkinks (4)
        • Spinnaker (1)
        • Administration tools CentOS (49)
        • Backups RPM’s (4)
        • Database в CentOS (68)
        • Monitoring в CentOS (67)
        • Virtualization в CentOS/ Red Hat/ Fedora (42)
          • Docker (23)
          • Kubernetes (6)
          • KVM (5)
          • OpenVZ (2)
          • Vagrant (5)
          • VirtualBox (6)
          • VMWare (3)
          • ArgoCD (1)
          • Concourse (1)
          • Gitlab (1)
          • Jenkinks (4)
          • Spinnaker (1)
          • Apache (35)
          • Cherokee (1)
          • DNS (3)
          • FTP (10)
          • Nginx (33)
          • PHP (34)
          • Proxy для RedHat’s (2)
          • Tomcat (2)
          • Voice (2)
          • Панели управления в CentOS/Red Hat/Fedora (27)
          • Прокси сервер на CentOS/RHEL/Fedora (4)
          • Установка и настройка почты на CentOS/RHEL/Fedora (14)
          • Хранилища (clouds) (1)

          соц сети

          Unix-Linux- в примерах

          Unix-Linux- в примерах

          Unix-Linux- в примерах

          Архив новостей

          Свежие записи

          • Pull/Push AWS ECR образов через AWS Route53 CNAME 17.11.2021
          • openpgp: signature made by unknown entity в Terraform 09.11.2021
          • Установка Terraformer в Unix/Linux 31.05.2021
          • Установка ArgoCD в Unix/Linux 06.01.2021
          • Установка tfswitch в Unix/Linux 08.12.2020

          Свежие комментарии

          • Вадим к записи Переключить версию python в Unix/Linux
          • Максим к записи Сохраняем все резервные копии в Dropbox
          • Артём к записи Переключить версию python в Unix/Linux
          • Владислав к записи Добавить Swap в CentOS/Fedora/RedHat
          • Александр к записи Закомментировать/Раскомментировать строки vi/vim в Unix/Linux

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

          url image

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

          • администратор — 0
          • обычный — от 100
          • системный — от 1 до 100

          Чтобы упростить процесс настройки прав для новых пользователей, их объединяют в группы. Каждая группа имеет свой набор прав и ограничений. Любой пользователь, создаваемый или добавляемый в такую группу, автоматически их наследует. Если при добавлении пользователя для него не указать группу, то у него будет своя, индивидуальная группа — с его именем. Один пользователь может одновременно входить в несколько групп.

          Информацию о каждом пользователе сервера можно посмотреть в файле /etc/passwd . Они в нём перечислены в следующем формате:

          test-user:x:1000:1000::/home/test-user:/bin/bash

          говорит о том, что пароль зашифрован (хранится в /etc/shadow )

          идентификатор пользователя ( UID ) и идентификатор группы ( GID ), к которой он принадлежит

          тут может быть ваша реклама комментарий к пользователю и его контакты. Например, имя сотрудника или название службы. Т.н. GECOS -поле

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

          Если вам известно имя пользователя и вы хотите узнать о нём побольше, необязательно читать /etc/passwd . Всё то же самое в человекочитаемом виде можно посмотреть с помощью команды pinky -l :

          pinky -l test-user

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

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

          Узнать UID можно с помощью команды id :

          id test-user

          Для именования пользователей в Linux есть набор стандартных правил:

          • может содержать только английские буквы [a-z] в верхнем и нижнем регистре, цифры, символ «_» , тире «-» и точку;
          • может оканчиваться символом «$» ;
          • не может начинаться с тире, содержать только цифры или состоять из «.» или «..» ;
          • Не рекомендуется использовать точку в начале имени;
          • может включать до 32 символов.

          Теперь перейдём непосредственно к управлению пользователями.

          • Создание пользователей
          • Изменение данных
          • Удаление
          • Группы пользователей
          • Привилегии суперпользователя. Sudo

          Создание пользователей

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

          На первом шаге используется команда useradd c набором опций для настройки нового пользователя и его именем (логином):

          useradd [как создать] [как назвать]

          Эта команда имеет ряд настроек по умолчанию, которые задаются с помощью файлов /etc/default/useradd и /etc/login.defs Увидеть основные можно с помощью команды:

          useradd -D

          GID группы, в которую пользователь будет добавлен

          базовый каталог, в котором будет размещена директория

          указывает время до блокировки пользователя, когда его пароль станет недействителен. Значение «-1» отключает опцию

          дата, до которой действителен аккаунт. По умолчанию не установлена — то есть без ограничений

          используется для настройки доступа к командной оболочке

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

          определяет, нужно ли создать папку для писем этого пользователя в /var/spool/mail/

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

          useradd test-user

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

          создаёт указанную домашнюю директорию, если она ещё не существует

          устанавливает /home/test-user в качестве домашней директории

          -c «Евграф Шматкунос»

          указывает группу, в которую попадёт пользователь после создания. Можно использовать с GID или именем группы. Указанная группа должна существовать. Используется в сочетании с ключом -N (отменяет автоматическое создание группы с именем пользователя)

          указывает список дополнительных групп. Они перечисляются через запятую без пробелов

          позволяет настроить доступ к shell

          создаёт системного пользователя. Используется, когда вам нужно настроить службу на работу из-под конкретного пользователя. По умолчанию данные таких пользователей не вносятся в /etc/shadow , для них не создаётся домашняя папка

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

          указывает дату, до которой аккаунт будет активен. Дата задаётся в формате YYYY-MM-DD

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

          В итоге получится вот такая сборная солянка из настроек:

          useradd -m -u 666 -d /home/users/test-user -c "Тестовый пользователь" -e 2060-01-01 -s /bin/bash test-user

          В примере мы создаём тестового пользователя test-user с идентификатором 666 , домашней папкой в /home/users/test-user , комментарием «Тестовый пользователь» и доступом к командной оболочке. Учётная запись будет действительна до конца света по Ньютону.

          Более подробную информацию о доступных опциях для useradd можно увидеть с помощью команды man useradd .

          Очень важно также настроить для пользователя надёжный пароль. Для этого нужно ввести следующую команду:

          passwd test-user

          Система предложит ввести и подтвердить пароль. На этом процесс создания пользователя можно считать завершённым.

          Изменение данных пользователей

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

          pgrep -l -u user

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

          pinky user

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

          usermod [что поменять] [для какого пользователя]

          Набор параметров расширен дополнительными опциями:

          создаёт новую директорию, указанную в качестве домашней (если её не существует), и переносит туда данные из старой

          меняет домашнюю директорию пользователя на /home/users/new-test-user

          меняет комментарий к пользователю

          добавляет пользователя в дополнительные группы

          меняет командную оболочку пользователя

          меняет дату, до которой аккаунт будет активен

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

          меняет имя пользователя на new-test-user

          блокирует аккаунт. Для этого в файле /etc/shadow перед хэшем пароля ставится символ «!»

          снимает блокировку с аккаунта (удаляет символ «!» из пароля в /etc/shadow )

          То есть если мы захотим отредактировать данные пользователя test-user , созданного в примере выше, это будет выглядеть так:

          usermod -l new-test-user -m -d /home/new-test-user -c "Чак Норрис" -u 100500 -e 3000-01-01 -f -1 test-user

          В примере мы меняем логин — имя на new-test-user , изменяем домашнюю папку на /home/new-test-user с копированием файлов, меняем комментарий, UID , срок жизни аккаунта и отменяем блокировку в случае устаревания пароля.

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

          Удаление пользователей

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

          Для удаления пользователей используется команда userdel . Её структура аналогична предыдущим:

          userdel [что удаляем] [кого удаляем]

          Основных параметра два:

          удаляет папки пользователя: домашнюю директорию, почтовую очередь

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

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

          Группы пользователей

          Информация о группах хранится в файле /etc/group . Работа с группами пользователей куда проще.

          Группы применяются для делегирования прав доступа на определённые файлы, папки, скрипты сразу нескольким пользователям. Живой пример: работа с FTP-сервером. Вы выбираете какую-то директорию для работы с файлами, создаёте группу пользователей и присваиваете ей выбранную папку. Теперь вам не нужно отдельно настраивать права каждому новому пользователю — достаточно добавить его в эту группу, и он автоматически получит доступ к FTP-каталогу.

          Создание

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

          groupadd new-group

          Из параметров можно выделить следующие:

          если группа с указанным именем или GID уже существует, опция прерывает выполнение команды без соответствующей ошибки

          позволяет назначить свой GID для создаваемой группы

          создаёт системную группу

          Устанавливает для группы пароль p@ssw0rd . Пароль запрашивается системой при попытке входа в группу с помощью команды newgrp .

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

          Редактирование

          Для редактирования групп используется команда groupmod . Список изменений задаётся с помощью параметров:

          меняет GID группы на 100500

          меняет имя группы на another-name

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

          groupmod -n named-group test-group

          Удаление

          Нельзя удалить группу, если она указана в качестве основной для какого-то существующего пользователя. Сначала нужно предварительно удалить этого пользователя из группы.

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

          groupdel test-group

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

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

          Базовым инструментом для управления группами является утилита gpasswd . Она имеет несколько параметров, но с одной особенностью — в отличие от предыдущих примеров, здесь большинство параметров (кроме -A и -M ) не сочетаются. То есть в команде может быть только один параметр за раз.

          Структура команды проста:

          gpasswd [что сделать] [в какой группе]

          Рассмотрим опции команды подробнее:

          Добавляет new-user в группу

          Удаляет bad-user из группы

          Доступна для использования привилегированным пользователям (с правами root). Назначает список пользователей-администраторов группы

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

          Отключает пароль группы. После этого только члены группы смогут использовать команду newgrp для подключения к группе

          Отключает внешний доступ к группе. После этого только члены группы смогут использовать команду newgrp для подключения к группе

          Как добавить пользователя в группу

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

          gpasswd -a new-user test-group

          Также для добавления пользователей в новую группу используется описанная выше команда usermod . Следующий пример добавляет пользователя test-user в группу new-group :

          usermod -a -G new-group test-user

          Или, если нужно указать группу new-group в качестве основной группы пользователя test-user :

          usermod -g new-group test-user

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

          newgrp new-group

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

          Привилегии суперпользователя. Sudo

          Итак, мы знаем, что на сервере есть три типа пользователей: администраторы (корневой пользователь root ), локальные (люди, которым мы предоставляем учётные записи для работы с сервером) и системные (сущности, от имени которых запускаются те или иные процессы). То есть реально для управления системой используются только первые два типа пользователей. Их основное различие — в объёме прав доступа.

          По умолчанию после установки операционной системы на сервере присутствует только один пользователь — администратор root . Он имеет полные права доступа ко всем процессам и данным сервера.

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

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

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

          С учётом всего этого при администрировании оптимальной считается следующая практика: пользователь root как он есть отключается, а его привилегии делегируются узкому кругу локальных пользователей. Это даёт сразу несколько преимуществ:

          • повышается уровень внешней безопасности (отсутствие root отсекает часть автоматических попыток взлома);
          • ограничивается объём административных прав — повышение привилегий используется для конкретных рабочих операций и действует ограниченное время.

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

            Ubuntu и Debian: Для предоставления прав пользователи добавляются в группу sudo :

          usermod -a -G sudo test-user
          usermod -a -G wheel test-user

          Можно делегировать права пользователям по отдельности — через файл /etc/sudoers Для работы с ним нужно вызвать специальный редактор:

          visudo

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

          Проверить, может ли пользователь использовать sudo , можно с помощью команды:

          sudo -l -U test-user

          В примере пользователь test-user может выполнять через sudo любые команды ( ALL:ALL — символизирует, что команды могут исполняться от имени любых пользователей и групп, третий аргумент символизирует список доступных команд — в примере ALL , не ограничен)

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

          sudo groupadd newgroup

          Для подтверждения система запросит ввести пароль текущего пользователя (символы при вводе пароля не отображаются — введите пароль «вслепую» или скопируйте и вставьте кликом правой кнопки мыши). После ввода команда будет отправлена на исполнение. Также в течение пяти следующих минут (по умолчанию) вы сможете запускать команды от имени суперпользователя без использования sudo и повторного ввода пароля.

          Количество времени, которое действуют права суперпользователя после вызова sudo , можно изменить через настройки в /etc/sudoers . Запрос пароля можно отключить там же.

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

          sudo -s

          С управлением пользователями разобрались, идём дальше. Как было сказано выше, чтобы локальный пользователь мог начать работу на сервере, администратор ( root или пользователь c привилегиями sudo ) должен настроить права доступа к файлам и папкам, которые понадобятся этому пользователю. Рассмотрим этот вопрос подробнее.

          Linux-шпаргалка: команды терминала для новичков

          Терминал и текстовые команды — главный способ управления операционной системой Linux, особенно, если речь идёт о сервере. И хоть слово «терминал» пугает новичков, поверьте, что всё гораздо проще. Сегодня мы подготовили для вас шпаргалку с базовыми командами — сохраняйте её в закладки и повышайте свою продуктивность в сотни раз. ��

          Начнём с теории

          Linux (Линукс) — это целое семейство операционных систем Unix с открытым исходным кодом, основанных на ядре Linux. Сюда входят все самые популярные системы на основе ОС, например: Ubuntu, Fedora, Mint, Debian и другие. Их ещё называют дистрибутивами. Подробнее о каждом читайте в этом посте.

          Терминал (или «Bash», сокращение от «Bourne-Again shell») — это программа, которая используется для взаимодействия с командной оболочкой. Терминал применяется для выполнения административных задач, например: установку пакетов, действия с файлами и управление пользователями.

          Команда — это название программы, которое пользователь вводит в терминале для выполнения определённой задачи. Команды могут иметь дополнительные данные и параметры.

          В ОС есть несколько сотен команд и их модификаций. Они группируются по нескольким категориям:

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

          Типичная команда выглядит вот так:

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

          id — если вы хотите получить информацию о вашей учётной записи.

          w — полезная команда, если вам нужно узнать, какой пользователь сейчас находится в системе (или команда -f — для того, чтобы узнать, откуда был совершён вход).

          lsblk — если вы хотите открыть список блочных устройств хранения данных.

          lscpu — отображает информацию о процессорах.

          free — показывает объём свободной и уже используемой памяти (альтернативная команда — free -g).

          lsb_release -a — если вы хотите получить информацию о версии вашей ОС.

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

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

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

          cd — change directory, что в переводе означает «сменить директорию». Из названия понятно, что с помощью этой команды можно перемещаться между папками. Вписываем её, а потом адрес: cd /user/test/dir/111. Есть сокращенные варианты: cd- для перемещения в предыдущую директорию или cd (без аргументов) для прыжка в домашнюю папку.

          pwd — укажет полный путь до директории, в которой вы находитесь. Если вы перепрыгнули на рабочий стол с помощью cd ~/Desktop/, то pwd покажет что-то в духе /home/Polzovatel/Desktop.

          dd — мощная утилита для взаимодействия с разделами. С её помощью можно делать копии разделов, перемещать их, удалять без возможности восстановления.

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

          grep — это полнотекстовый поиск в файле. Очень полезная команда, когда вам нужно что-то найти. Например, grep значение /путь/до/файла покажет строки в которых есть «значение». А команда grep -ril значение /путь/до/каталога/* покажет все файлы, в которых есть искомое значение.

          -r — рекурсивный поиск

          -i — игнорировать регистр (Case insensetive)

          -l — вывести результат списком.

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

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

          find — суперполезная команда. С её помощью можно искать файлы по определённым параметрам.

          Следующие команды потребуются вам при работе с файлами разного типа и объёма:

          cat — показывает содержимое файлов. Также может использоваться в двух вариантах: 1) одним текстовым файлом (cat путь_к_файлу), она отображает содержимое файла в окне терминала, 2) если же указать больше элементов, то команда склеит их (cat путь_к_файлу_1 путь_к_файлу_2).

          head — «голова», как и cat, показывает содержимое документов, но не всё, а только первые 10 строк. При желании количество строк можно увеличить или сократить, добавив параметр -n.

          tail -f — используется для просмотра растущего файла в окне интерактивного запуска кода.

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

          wget — загружает из интернета документы, картинки, целые страницы и прочий контент.

          wc — считает количество строк, слов, знаков и байтов.

          zip — упаковывает файлы в архив в формате .zip.

          diff — сокращение от «difference». Команда показывает разницу между двумя текстовыми файлами.

          Что вы можете сделать с двоичными файлами? На самом деле, вариантов не очень много:

          strings — команда выведет готовые к печати строки файла;

          od — позволит вам напечатать файл в восьмеричном формате;

          cmp — даёт возможность побайтно сравнивать файлы.

          Если вам требуется сравнить текстовые файлы друг с другом, введите эти команды:

          comm — отсортированные файлы будут строка за строкой.

          diff — позволяет построчно выявить различия. Эта команда используется наиболее часто в силу богатого набора опций.

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

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

          useradd — создаёт новую учётную запись. Например, если мы захотим бы добавить нового пользователя с именем REG.RU, то нужно воспользоваться этой командой — вводим useradd REG.RU.

          passwd — задаёт пароль для учётной записи. Короче говоря, работает вкупе с предыдущей командой. То есть сразу после создания аккаунта, пишем passwd REG.RU.

          userdel — удаляет выбранную учётную запись. Синтаксис простейший: userdel , которую нужно стереть

          Для установки, удаления и обновления пакетов

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

          Debian/Ubuntu

          sudo apt-get install название_пакета — устанавливает программу на выбор.

          sudo apt remove название_пакета — команда, используя которую можно удалить не только ПО, но и все неиспользуемые пакеты.

          sudo apt-get update — обновляет информацию о пакетах, имеющихся в системе, и тех, что хранятся в подключённых репозиториях.

          sudo apt-upgrade — обновляет установленные пакеты до самых свежих версий, доступных в подключенных репозиториях.

          sudo apt purge — удаляет все файлы конфигурации вместе с пакетами ПО.

          sudo apt autoremove -purge — удаляет абсолютно всё: и пакеты, и зависимости, и конфиги.

          Red Hat Linux/CentOS

          sudo dnf install название_пакета — устанавливает программу на выбор.

          sudo dnf upgrade — обновляет установленные пакеты до самых свежих версий.

          sudo dnf remove название_пакета — стирает с жёсткого диска имеющийся в системе пакет.

          Бонус! Хитрости, которые сэкономят время

          Этот список полезных знаков в разы ускорит вашу работу с командами:

          !! — повторяет последнюю команду.

          !$ — позволяет изменить команду, сохраняя последний аргумент. Например, команда less !$ — используется для повторного открытия файла в меньшем объёме.

          !* —позволяет изменить команду, сохраняя при этом все аргументы. Например, head states.txt | grep ‘^Al’ — при использовании должен быть хвост.

          tail !* — избавляет от необходимости вводить остальную часть команды.

          >x.txt — используется для создания пустого файла или очистки существующего.

          lsof -P -i -n — определяет, к каким скриптам идёт обращение со стороны веб-сервера.

          И самая крутая команда в Linux: для вывода полного руководства о той или иной команде есть man (сокращенно от manual). Чтобы вывести мануал достаточно просто выполнить man . В качестве примера давайте рассмотрим команду cat:

          NAME
          cat — concatenate files and print on the standard output

          SYNOPSIS
          cat [OPTION]. [FILE].

          DESCRIPTION
          Concatenate FILE(s) to standard output.

          With no FILE, or when FILE is -, read standard input.

          -A, —show-all
          equivalent to -vET

          -b, —number-nonblank
          number nonempty output lines, overrides -n

          -e equivalent to -vE

          -E, —show-ends
          display $ at end of each line

          -n, —number
          number all output lines

          -s, —squeeze-blank
          suppress repeated empty output lines

          -t equivalent to -vT

          -T, —show-tabs
          display TAB characters as ^I

          -v, —show-nonprinting
          use ^ and M- notation, except for LFD and TAB

          —help display this help and exit

          —version
          output version information and exit

          EXAMPLES
          cat f — g
          Output f’s contents, then standard input, then g’s contents.

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

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

          И, если вы хотите попробовать какие-то команды на настоящем сервере — попробуйте наши Облачные VPS с готовым шаблоном популярных дистрибутивов Linux: Ubuntu, CentOS и Django и почасовой оплатой от 44 копеек.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *