Команда IT специалистов выполнит подготовку инфраструктуры для вашего бизнеса.
Внедрение самых передовых решений и технологий.
Поддержка и сопровождение ваших сервисов.
Выполнение работ под "ключ", от покупки сервера, до настройки автоматизации процессов.
8(977)608-78-62 adm@nixm.ru

Утилита maybe

Ответить
Аватара пользователя
Oleg65
Местный говорун
Местный говорун
Сообщения: 859
Зарегистрирован: 18 янв 2015, 10:56
Откуда: г.Коломна Моск.обл.

Утилита maybe

Сообщение Oleg65 »

Вы когда-нибудь задавались вопросом, что делает команда запущенная на выполнение? Не все знают, что делает конкретная команда или программа. Конечно, можно проверить на Explainhell. Скопируйте/вставьте команду на веб-сайт Explainhell и вы узнаете, что делает каждая часть команды. Но это совсем не обязательно. Можно легко узнать, что именно будет делать команда или программа до ее выполнения, прямо из терминала. Познакомьтесь с «maybe» - простым инструментом, который позволяет запускать команду и увидеть, что произойдет с файлами! После просмотра выведенного листинга вы можете решить, хотите ли вы запускать команду или нет.
«maybe» запускает процессы под управлением ptrace с помощью библиотеки python-ptrace.
Установка:
На Arch Linux и ее деревативы:

Код: Выделить всё

sudo pacman -S python-pip
На RHEL, CentOS:

Код: Выделить всё

sudo yum install epel-release
sudo yum install python-pip
На Fedora:

Код: Выделить всё

sudo dnf install epel-release
sudo dnf install python-pip
На Debian, Ubuntu, Linux Mint:

Код: Выделить всё

sudo apt-get install python-pip
На SUSE, openSUSE:

Код: Выделить всё

sudo zypper install python-pip
Синтаксис работы следующий:

Код: Выделить всё

maybe COMMAND [ARGUMENT]
Как это работает. Введем команду:

Код: Выделить всё

maybe touch test.txt
Программа вернет примерно такой результат:

Код: Выделить всё

maybe has prevented touch test.txt from performing 1 file system operations:
create file /home/admins.su/test.txt
Do you want to rerun touch test.txt and permit these operations? [y/N]
Здесь видно, что выполнение команды приведет к созданию файла /home/user/test.txt и утилита спрашивает, хотим ли мы выполнить данную команду.
Теперь переименуем файл:

Код: Выделить всё

maybe mv test.txt test.sh
maybe вернет следующую информацию:

Код: Выделить всё

maybe has prevented mv test.txt test.sh from performing 1 file system operations:
rename /home/cucadmuh/test.txt to test.sh
Do you want to rerun mv test.txt test.sh and permit these operations? [y/N]
Согласимся. Теперь сделаем файл исполняемым:

Код: Выделить всё

maybe chmod +x test.sh

maybe has prevented chmod +x test.sh from performing 1 file system operations:
change permissions of /home/cucadmuh/temp/test.sh to rwxrwxr-x
Другие команды и действия выводятся аналогично.
Утилита свежая и информация не всегда выводится в том виде, в котором хотелось бы. Но она позволяет добавить чуть больше спокойствия при выполнении рискованных операций, таких как rm....
Аватара пользователя
nezabudka
Местный говорун
Местный говорун
Сообщения: 618
Зарегистрирован: 18 апр 2015, 06:13
Откуда: Ростов на Дону

Re: Утилита maybe

Сообщение nezabudka »

fedora 25. Не нужно устанавливать epel-release да это и не получится. У меня уже был установлен пакетный
менеджер python-pip и следовательно осталось только установить сам пакет командой:

Код: Выделить всё

sudo pip install maybe
"I invented the term Object-Oriented and I can tell you I did not have C++ in mind." - Alan Kay
Ответить

Вернуться в «Командная строка»