Как увидеть команды терминала, сгенерированные действиями графического интерфейса [дубликат]

На этот вопрос уже есть ответ:

Я новичок в Linux и знаю, как мне это делать, только благодаря графическому интерфейсу. Есть ли способ увидеть на терминале эквивалентные команды, выполняющие те же действия, что и при использовании графического интерфейса? Спасибо

5
задан 16 February 2012 в 23:14

2 ответа

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

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

strace gedit

или

strace ls

Цитирование из man strace:

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

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

Каждая строка в трассировке содержит имя системного вызова, сопровождаемое аргументами в скобках и его возвращаемым значением. Пример использования команды cat /dev/null:

  open("/dev/null", O_RDONLY) = 3
0
ответ дан 16 February 2012 в 23:14

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

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

Общее использование

Некоторые общие команды

Более продвинутый список

0
ответ дан 16 February 2012 в 23:14

Другие вопросы по тегам:

Похожие вопросы: