Утилита maybe

Утилита maybe

Сообщение Oleg65 » 05 дек 2017, 09:28

Вы когда-нибудь задавались вопросом, что делает команда запущенная на выполнение? Не все знают, что делает конкретная команда или программа. Конечно, можно проверить на 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....
Аватар пользователя
Oleg65
Местный говорун
Местный говорун
 
Автор темы
Сообщений: 791
Стаж: 2 года 10 месяцев 28 дней
Откуда: г.Коломна Моск.обл.
Благодарил (а): 55 раз.
Поблагодарили: 185 раз.

Утилита maybe

Спонсор

Спонсор
 

Re: Утилита maybe

Сообщение nezabudka » 07 дек 2017, 19:43

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
Аватар пользователя
nezabudka
Местный говорун
Местный говорун
 
Сообщений: 613
Фото: 180
Стаж: 2 года 7 месяцев 27 дней
Откуда: Ростов на Дону
Благодарил (а): 284 раз.
Поблагодарили: 145 раз.


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

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1