Как работает терминал? [закрыто]

Можно увидеть и изменить Ubuntu One CouchDB, но не через Futon. Все, что вам нужно сделать, это выполнить OAuth-аутентифицированный (но не HMAC-подписанный OAuth) запрос REST на правильный URL-адрес, используя ваш токен Ubuntu One-specific Ubuntu SSO.

Один простой способ (ish) Ubuntu One CouchDB использует небольшой инструмент, который я написал, который я назвал watgui, потому что я действительно плохо отношусь к именам. Это только запросы GET.

Сначала вы используете инструмент для разработки «волшебного URL-адреса CouchDB»:

Затем вы выключаете подписку HMAC, а вы может использовать URL-адрес для доступа к базам данных. Например, вот я смотрю на мою базу данных notes:

watgui magic url thing

1
задан 13 April 2017 в 15:24

4 ответа

Terminal

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

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

См. это сообщение для получения дополнительной информации.

0
ответ дан 24 May 2018 в 06:41

, используя «ps -ef», вы можете увидеть весь процесс, включая терминальные процессы:

tthtlc    2964     1  0 08:31 ?        00:00:02 gnome-terminal

только «ps», вы видите только свой собственный терминал:

[ f2]

См. «pts / 0»? Перейдите в / dev / pts:

ls -al
total 0
drwxr-xr-x  2 root   root       0 Jun 14 08:31 .
drwxr-xr-x 18 root   root    4420 Jun 14 08:31 ..
crw--w----  1 tthtlc tty  136,  0 Jun 14 09:03 0
crw--w----  1 tthtlc tty  136,  1 Jun 14 09:02 1
crw--w----  1 tthtlc tty  136,  2 Jun 14 09:02 2
crw--w----  1 tthtlc tty  136,  3 Jun 14 09:02 3
crw--w----  1 root   tty  136,  6 Jun 14 08:31 6
crw--w----  1 root   tty  136,  8 Jun 14 08:31 8
c---------  1 root   root   5,  2 Jun 14 08:31 ptmx

Здесь вы можете видеть, что я создал 0, 1, 2 ==> 3. «gnome-terminal» реализуется как процесс, который открывает stdin, stdout и stderr на одном и том же символьном устройстве, как указано выше. Во-первых, обратите внимание на pid 2974 для «bash» выше? Перейдите в / proc / 2974 / fd, чтобы открыть весь дескриптор файла:

/proc/2974/fd>ls -al
total 0
dr-x------ 2 tthtlc tthtlc  0 Jun 14 09:30 .
dr-xr-xr-x 8 tthtlc tthtlc  0 Jun 14 09:30 ..
lr-x------ 1 tthtlc tthtlc 64 Jun 14 09:30 0 -> /dev/pts/2
l-wx------ 1 tthtlc tthtlc 64 Jun 14 09:30 1 -> /dev/pts/2
l-wx------ 1 tthtlc tthtlc 64 Jun 14 09:30 2 -> /dev/pts/2
lrwx------ 1 tthtlc tthtlc 64 Jun 14 09:55 255 -> /dev/pts/2

Таким образом, все входные / выходные / stderr для bash поступают из драйверов устройств / dev / pts. [!d4 ]

Если вы открываете несколько гном-терминалов и в зависимости от того, какой из них является процессом переднего плана, фактическая клавиатура будет перенаправлена ​​на соответствующий процесс. т. е. если вы делаете «strace -p <pid>», где <pid> - это процесс 2974, в первый раз, когда вы вводите символ на этом терминале, вы сразу увидите read () - здесь ниже я вводил несколько «f»: [ ! d5]

read(0, "f", 1)                         = 1
rt_sigprocmask(SIG_BLOCK, [INT], [], 8) = 0
write(2, "f", 1)                        = 1
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
read(0, "f", 1)                         = 1
rt_sigprocmask(SIG_BLOCK, [INT], [], 8) = 0
write(2, "f", 1)                        = 1
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
read(0, "f", 1)                         = 1
rt_sigprocmask(SIG_BLOCK, [INT], [], 8) = 0
write(2, "f", 1)                        = 1
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
read(0, "f", 1)                         = 1

Итак, как работает терминал в целом: чтение символа по символу и одновременное вывод символа символами одновременно (вызов «эхо») на экран. Несколько терминалов могут работать одновременно, но только один будет получать прямой ввод с клавиатуры, другие будут блокироваться при чтении () API.

0
ответ дан 24 May 2018 в 06:41

Терминал открывается в интерпретаторе оболочки по умолчанию, определенном в / etc / passwd. Файл / etc / shells определяет другие интерпретаторы оболочки, доступные с вашим дистрибутивом Ubuntu, есть некоторые другие zsh для одного. Оболочка может выполнять программы других языков программирования, но редко используется в качестве реального языка программирования, такого как C ++, python, ruby ​​и т. Д.

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

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

Другие оболочки, sh = оболочка Bourne, bash = снова оболочка Boure, pdksh = общедоступная оболочка korn, zsh = z shell, csh = c shell, ksh = оболочка korn и несколько других. Каждый из них имеет свой собственный синтаксис и команды, завершение, расширение. Но у всех есть одна общая черта, их основная функция - обеспечить доступ к управлению, управлению, мониторингу и общему администрированию Linux и Ubuntu.

0
ответ дан 24 May 2018 в 06:41

Я думаю, что на большинство вещей ответили. Я просто хочу добавить.

Вы можете запускать любое приложение из терминала. Даже не терминал (приложение Like Chrome / firefox) будет работать с терминалом.

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

  /bin/ls 

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

ls 
cat a_simple_text_file.txt
firefox    ## this is the same as double clicking the firefox icon in your desktop

Вы можете написать свой собственный сценарий оболочки и запустить его на терминале. И вы можете писать программу, используя любой язык программирования (C, C ++, python, Java, Objective-C, PHP), его можно запустить в терминале. каждый язык программирования имеет свой собственный способ показать вывод и принять входные данные и построить его самостоятельно.

«Просто программы просто взаимодействуют друг с другом».

технически, программы не взаимодействуют друг с другом. все программные ОС, ОС взаимодействуют со всеми. (ОС означает операционную систему, Ubuntu / Windows / OSX и т. Д.)

Например. Вы хотите загрузить файл с помощью firefox. когда вы нажимаете кнопку загрузки на сайте. firefox запросит ОС для приложения файлового менеджера. Диспетчер файлов возьмет ваш выбор и отправит местоположение файла в OS >> Firefox. Firefox загрузит файл, запросив ОС для использования других приложений.

Теперь вы можете сказать, что ОС - тоже программа. Итак, программы взаимодействуют друг с другом !!

0
ответ дан 24 May 2018 в 06:41

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

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