su
( s witch u ser или s ubstitute u ser) позволяет переключать пользователя. su
в основном запускает другой экземпляр оболочки с привилегиями предполагаемого пользователя.По умолчанию он переключает вас на пользователя root
, если мы хотим переключить конкретного пользователя, нам нужно передать пользователя следующим образом:
$ su bob # switches to bob (requires bob's password)
su -
означает, что переменные среды будут сброшены на root и su
означает переменные среды от имени старого пользователя.
например: домашний каталог root, если вы используете su -
, или домашний каталог старого пользователя, если вы используете su
.
sudo ( s uper u ser do ) - это утилита командной строки, которая позволяет пользователям запускать программы с привилегиями безопасности другого пользователя с помощью по умолчанию - суперпользователь, т.е. root
. Он использует файл конфигурации / etc / sudoers
, в котором перечислены пользователи, имеющие права на определенные действия.
sudo следует читать как / ˈsuːduː / . синтаксис команда sudo
то есть s witch u ser и выполняют эту команду.
su
эквивалентно sudo -i
и имитирует вход в учетную запись root. Ваш рабочий каталог будет / root
, и он будет читать root's .profile
и т. Д. Запрос изменится с $ на #, указывая, что у вас есть root-доступ.
sudo -s
запускает оболочку от имени пользователя root, но не меняет ваш рабочий каталог
.
sudo bash
где bash
- команда для запуска с sudo
. Эта команда запускает
bash
от имени суперпользователя.
sudo
можно регистрировать все, что кто-то делает. sudo
предотвращает необходимость знания пользователем пароля root. sudo
, мы можем ограничить команды, которым разрешено запускать. Попробуйте использовать этот код
date -d "-$(date +%d) days month" +%Y-%m-%d
Вот версия, которая работает в Mac OS и использует утилиту BSD date
:
date -v1d -v-1d +% d% b% Y
Аргументы применяются по порядку. Вы можете представить себе, что дата передается по конвейеру от одного аргумента к другому. Например:
date
) -> 2017-03-06 -v1d
) -> 2017-03-01 -v-1d)
-> 2017-02-28 +% d% b% Y
) -> 28Feb2017 Вы можете перейти на любое количество месяцев вперед или назад, используя date -v-1m -v1d -v-1d
, заменив -1m
на количество месяцев назад или вперед ( + 1m
), которое вы хотите.
Это общий ответ. Этот вопрос конкретно касается дат относительно начальной даты. Утилита Mac OS / BSD date не позволяет указывать дату для начала, но вы можете установить каждый элемент даты индивидуально:
date -v2015y -v1m -v15d -v1d -v-1d +% d% b% Г
-> 31 декабря 2014