/l3/users/slm/2018-12-minsk-aws/student02.BigClassRoom/user :1 |
|
$ssh ec2-18-202-250-151.eu-west-1.compute.amazonaws.com
Last login: Wed Dec 19 08:16:21 2018 from port-90-adslby-pool35.infonet.by __| __|_ ) _| ( / Amazon Linux 2 AMI ___|\___|___| https://aws.amazon.com/amazon-linux-2/ 15 package(s) needed for security, out of 16 available Run "sudo yum update" to apply all updates. [ec2-user@ip-10-1-1-153 ~]$ logout Connection to ec2-18-202-250-151.eu-west-1.compute.amazonaws.com closed. |
$ssh-add -l
2048 SHA256:rHGT1hNEEuhOzoruPh11z4PAevDa/B44fN47tyA3H4o user@m2 (RSA) |
$vim ValeryDNS.txt
|
$vim ValeryDNS.txt
|
$vim ValeryDNS.txt
|
$~
The authenticity of host 'ec2-34-245-27-59.eu-west-1.compute.amazonaws.com (34.245.27.59)' can't be established. ECDSA key fingerprint is SHA256:IDNPRyB+tM8afeL+WgI0sDCRMPecpxb9/bF1FXvOZgo. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'ec2-34-245-27-59.eu-west-1.compute.amazonaws.com,34.245.27.59' (ECDSA) to the list of known hosts. __| __|_ ) _| ( / Amazon Linux 2 AMI ___|\___|___| https://aws.amazon.com/amazon-linux-2/ 15 package(s) needed for security, out of 16 available Run "sudo yum update" to apply all updates. [ec2-user@ip-10-1-1-132 ~]$ export | gep SSH -bash: gep: command not found [ec2-user@ip-10-1-1-132 ~]$ export | grep SSH declare -x SSH_CLIENT="81.25.35.90 11070 22" declare -x SSH_CONNECTION="81.25.35.90 11070 10.1.1.132 22" declare -x SSH_TTY="/dev/pts/0" [ec2-user@ip-10-1-1-132 ~]$ exit logout Connection to ec2-34-245-27-59.eu-west-1.compute.amazonaws.com closed. |
$^C
|
$^C
|
$ls
AWS Downloads m0_id_rsa.pub Music Templates Desktop github.txt m1_id_rsa.pub Pictures ValeryDNS.txt Documents hello.md m3_id_rsa.pub Public Videos |
$| ssh ec2-34-244-157-202.eu-west-1.compute.amazonaws.com 'cat
|
$.eu-west-1.compute.amazonaws.com 'cat
|
$ssh 10.1.1.57
ssh: connect to host 10.1.1.57 port 22: No route to host |
$ssh -A ec2-34-245-27-59.eu-west-1.compute.amazonaws.com
Permission denied (publickey,gssapi-keyex,gssapi-with-mic). |
$ssh ec2-52-214-212-195.eu-west-1.compute.amazonaws.com
The authenticity of host 'ec2-52-214-212-195.eu-west-1.compute.amazonaws.com (52.214.212.195)' can't be established. ECDSA key fingerprint is SHA256:SVdHOFDTfmt4J7SrjnWBcAKQXpPniooyXn0u66E0ElU. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'ec2-52-214-212-195.eu-west-1.compute.amazonaws.com,52.214.212.195' (ECDSA) to the list of known hosts. __| __|_ ) _| ( / Amazon Linux 2 AMI ___|\___|___| https://aws.amazon.com/amazon-linux-2/ [ec2-user@ip-10-1-1-57 ~]$ sudo -s [root@ip-10-1-1-57 ec2-user]# dmesg | tail ... mv: cannot stat ‘/mnt/home/ec2-user/.ssh/authoized_keys1’: No such file or directory [root@ip-10-1-1-57 ec2-user]# mv /mnt/home/ec2-user/.ssh/authorized_keys{1,} [root@ip-10-1-1-57 ec2-user]# ls /mnt/home/ec2-user/.ssh authorized_keys known_hosts [root@ip-10-1-1-57 ec2-user]# umount /mnt [root@ip-10-1-1-57 ec2-user]# exit exit [ec2-user@ip-10-1-1-57 ~]$ exit logout Connection to ec2-52-214-212-195.eu-west-1.compute.amazonaws.com closed. |
$ssh ec2-34-242-73-202.eu-west-1.compute.amazonaws.com
The authenticity of host 'ec2-34-242-73-202.eu-west-1.compute.amazonaws.com (34.242.73.202)' can't be established. ECDSA key fingerprint is SHA256:IDNPRyB+tM8afeL+WgI0sDCRMPecpxb9/bF1FXvOZgo. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'ec2-34-242-73-202.eu-west-1.compute.amazonaws.com,34.242.73.202' (ECDSA) to the list of known hosts. Last login: Wed Dec 19 08:58:12 2018 from port-90-adslby-pool35.infonet.by __| __|_ ) _| ( / Amazon Linux 2 AMI ___|\___|___| https://aws.amazon.com/amazon-linux-2/ 15 package(s) needed for security, out of 16 available Run "sudo yum update" to apply all updates. [ec2-user@ip-10-1-1-132 ~]$ Connection to ec2-34-242-73-202.eu-west-1.compute.amazonaws.com closed. |
$apt -cache show awscli
E: Opening configuration file ache - ifstream::ifstream (2: No such file or directory) |
$sudo apt-get python-pip
[sudo] password for user: E: Invalid operation python-pip |
$sudo apt-get python-pip
E: Invalid operation python-pip |
$apt -cache show python
E: Opening configuration file ache - ifstream::ifstream (2: No such file or directory) |
$sudo apt-get install python-pip
Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: libexpat1-dev libpython-all-dev libpython-dev libpython2.7-dev python-all python-all-dev python-crypto python-dbus python-dev python-keyring python-keyrings.alt python-pip-whl python-secretstorage python-wheel python-xdg python2.7-dev Suggested packages: python-crypto-dbg python-crypto-doc python-dbus-dbg python-dbus-doc ... Setting up python-pip (9.0.1-2) ... Setting up python2.7-dev (2.7.13-2+deb9u3) ... Setting up python-all (2.7.13-2) ... Setting up python-xdg (0.25-4) ... Setting up python-secretstorage (2.3.1-2) ... Setting up libpython-dev:amd64 (2.7.13-2) ... Setting up python-keyring (10.1-1) ... Setting up python-dev (2.7.13-2) ... Setting up libpython-all-dev:amd64 (2.7.13-2) ... Setting up python-all-dev (2.7.13-2) ... |
$sudo pip istall awscli
ERROR: unknown command "istall" - maybe you meant "install" |
$sudo pip install awscli
Collecting awscli Downloading https://files.pythonhosted.org/packages/46/f9/9cdf9450b8fbb7f06aa1af2581dc3f261ef965185f0a45f4aaa008351e81/awscli-1.16.78-py2.py3-none-any.whl (1.4MB) 100% |████████████████████████████████| 1.4MB 309kB/s Collecting colorama<=0.3.9,>=0.2.5 (from awscli) Downloading https://files.pythonhosted.org/packages/db/c8/7dcf9dbcb22429512708fe3a547f8b6101c0d02137acbd892505aee57adf/colorama-0.3.9-py2.py3-none-any.whl Collecting rsa<=3.5.0,>=3.1.2 (from awscli) Downloading https://files.pythonhosted.org/packages/e1/ae/baedc9cb175552e95f3395c43055a6a5e125ae4d48a1d7a924baca83e92e/rsa-3.4.2-py2.py3-none-any.whl (46kB) 100% |████████████████████████████████| 51kB 648kB/s Collecting s3transfer<0.2.0,>=0.1.12 (from awscli) Downloading https://files.pythonhosted.org/packages/d7/14/2a0004d487464d120c9fb85313a75cd3d71a7506955be458eebfe19a6b1d/s3transfer-0.1.13-py2.py3-none-any.whl (59kB) 100% |████████████████████████████████| 61kB 456kB/s Collecting botocore==1.12.68 (from awscli) Downloading https://files.pythonhosted.org/packages/00/59/28cc07ee9486402d3d016314e7895b763489015a5d4a234d658022095650/botocore-1.12.68-py2.py3-none-any.whl (5.2MB) |
$aws configure
AWS Access Key ID [None]: AKIAJY2TXNELANISTNRA AWS Secret Access Key [None]: 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 Default region name [None]: eu-west-1 Default output format [None]: |
$grep credentials
^C |
$aws ec2 descibe instances
usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters] To see help text, you can run: aws help aws <command> help aws <command> <subcommand> help aws: error: argument operation: Invalid choice, valid choices are: accept-reserved-instances-exchange-quote | accept-transit-gateway-vpc-attachment accept-vpc-endpoint-connections | accept-vpc-peering-connection advertise-byoip-cidr | allocate-address allocate-hosts | apply-security-groups-to-client-vpn-target-network ... restore-address-to-classic | revoke-client-vpn-ingress revoke-security-group-egress | revoke-security-group-ingress run-instances | run-scheduled-instances search-transit-gateway-routes | start-instances stop-instances | terminate-client-vpn-connections terminate-instances | unassign-ipv6-addresses unassign-private-ip-addresses | unmonitor-instances update-security-group-rule-descriptions-egress | update-security-group-rule-descriptions-ingress withdraw-byoip-cidr | wait help |
$aws ec2 descibe instances -o yaml
usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters] To see help text, you can run: aws help aws <command> help aws <command> <subcommand> help aws: error: argument operation: Invalid choice, valid choices are: accept-reserved-instances-exchange-quote | accept-transit-gateway-vpc-attachment accept-vpc-endpoint-connections | accept-vpc-peering-connection advertise-byoip-cidr | allocate-address allocate-hosts | apply-security-groups-to-client-vpn-target-network ... restore-address-to-classic | revoke-client-vpn-ingress revoke-security-group-egress | revoke-security-group-ingress run-instances | run-scheduled-instances search-transit-gateway-routes | start-instances stop-instances | terminate-client-vpn-connections terminate-instances | unassign-ipv6-addresses unassign-private-ip-addresses | unmonitor-instances update-security-group-rule-descriptions-egress | update-security-group-rule-descriptions-ingress withdraw-byoip-cidr | wait help |
$aws ec2 descibe instances -output yaml
usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters] To see help text, you can run: aws help aws <command> help aws <command> <subcommand> help aws: error: argument operation: Invalid choice, valid choices are: accept-reserved-instances-exchange-quote | accept-transit-gateway-vpc-attachment accept-vpc-endpoint-connections | accept-vpc-peering-connection advertise-byoip-cidr | allocate-address allocate-hosts | apply-security-groups-to-client-vpn-target-network ... restore-address-to-classic | revoke-client-vpn-ingress revoke-security-group-egress | revoke-security-group-ingress run-instances | run-scheduled-instances search-transit-gateway-routes | start-instances stop-instances | terminate-client-vpn-connections terminate-instances | unassign-ipv6-addresses unassign-private-ip-addresses | unmonitor-instances update-security-group-rule-descriptions-egress | update-security-group-rule-descriptions-ingress withdraw-byoip-cidr | wait help |
$aws ec2 descibe instances -output table
usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters] To see help text, you can run: aws help aws <command> help aws <command> <subcommand> help aws: error: argument operation: Invalid choice, valid choices are: accept-reserved-instances-exchange-quote | accept-transit-gateway-vpc-attachment accept-vpc-endpoint-connections | accept-vpc-peering-connection advertise-byoip-cidr | allocate-address allocate-hosts | apply-security-groups-to-client-vpn-target-network ... restore-address-to-classic | revoke-client-vpn-ingress revoke-security-group-egress | revoke-security-group-ingress run-instances | run-scheduled-instances search-transit-gateway-routes | start-instances stop-instances | terminate-client-vpn-connections terminate-instances | unassign-ipv6-addresses unassign-private-ip-addresses | unmonitor-instances update-security-group-rule-descriptions-egress | update-security-group-rule-descriptions-ingress withdraw-byoip-cidr | wait help |
$aws ec2 descibe-instances -output table
usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters] To see help text, you can run: aws help aws <command> help aws <command> <subcommand> help aws: error: argument operation: Invalid choice, valid choices are: accept-reserved-instances-exchange-quote | accept-transit-gateway-vpc-attachment accept-vpc-endpoint-connections | accept-vpc-peering-connection advertise-byoip-cidr | allocate-address allocate-hosts | apply-security-groups-to-client-vpn-target-network ... stop-instances | terminate-client-vpn-connections terminate-instances | unassign-ipv6-addresses unassign-private-ip-addresses | unmonitor-instances update-security-group-rule-descriptions-egress | update-security-group-rule-descriptions-ingress withdraw-byoip-cidr | wait help Invalid choice: 'descibe-instances', maybe you meant: * describe-instances * describe-instance-status * describe-fleet-instances |
$aws ec2 describe-instances -output table
usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters] To see help text, you can run: aws help aws <command> help aws <command> <subcommand> help Unknown options: -output, table |
$aws ec2 describe-instances
{ "Reservations": [ { "Instances": [ { "Monitoring": { "State": "disabled" }, "PublicDnsName": "ec2-52-19-122-40.eu-west-1.compute.amazonaws.com", "State": { ... }, "AmiLaunchIndex": 0 } ], "ReservationId": "r-0c0e59eec99ee07d6", "Groups": [], "OwnerId": "886677986286" } ] } |
$aws ec2 describe-instances -output tale
usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters] To see help text, you can run: aws help aws <command> help aws <command> <subcommand> help Unknown options: -output, tale |
$aws ec2 describe-instances -output table
usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters] To see help text, you can run: aws help aws <command> help aws <command> <subcommand> help Unknown options: -output, table |
$aws ec2 describe-instances
{ "Reservations": [ { "Instances": [ { "Monitoring": { "State": "disabled" }, "PublicDnsName": "ec2-52-19-122-40.eu-west-1.compute.amazonaws.com", "State": { ... }, "AmiLaunchIndex": 0 } ], "ReservationId": "r-0c0e59eec99ee07d6", "Groups": [], "OwnerId": "886677986286" } ] } |
$aws ec2 describe-instances | jq -r .Reservations[0].Instanc
null |
$es[0].InstanceId
bash: es[0].InstanceId: command not found |
$aws ec2 describe-instances | jq -r .Reservations[0].Instanc
null |
$complete -C aws_complete aws
|
$aws bash: aws_complete: command not found
^C |
$complete -C aws_completer aws
|
$aws
Display all 171 possibilities? (y or n) |
$aws
usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters] To see help text, you can run: aws help aws <command> help aws <command> <subcommand> help aws: error: too few arguments |
$aws ec2 describe-i
describe-iam-instance-profile-associations describe-identity-id-format describe-id-format describe-image-attribute describe-images describe-import-image-tasks describe-import-snapshot-tasks describe-instance-attribute describe-instance-credit-specifications describe-instances describe-instance-status describe-internet-gateways |
$aws ec2 describe-i
describe-iam-instance-profile-associations describe-identity-id-format describe-id-format describe-image-attribute describe-images describe-import-image-tasks describe-import-snapshot-tasks describe-instance-attribute describe-instance-credit-specifications describe-instances describe-instance-status describe-internet-gateways |
$aws ec2 describe-i
describe-iam-instance-profile-associations describe-identity-id-format describe-id-format describe-image-attribute describe-images describe-import-image-tasks describe-import-snapshot-tasks describe-instance-attribute describe-instance-credit-specifications describe-instances describe-instance-status describe-internet-gateways |
$aws ec2 describe-i
describe-iam-instance-profile-associations describe-identity-id-format describe-id-format describe-image-attribute describe-images describe-import-image-tasks describe-import-snapshot-tasks describe-instance-attribute describe-instance-credit-specifications describe-instances describe-instance-status describe-internet-gateways |
$sudo pip install saws
[sudo] password for user: Sorry, try again. [sudo] password for user: Sorry, try again. [sudo] password for user: sudo: 3 incorrect password attempts |
$sudo pip istall saws
[sudo] password for user: ERROR: unknown command "istall" - maybe you meant "install" |
$sudo pip install saws
Collecting saws Downloading https://files.pythonhosted.org/packages/ef/7a/37581ad99e8aefc9976c463fb7741593e1ff91dea2228ec5f889ba6b9e33/saws-0.4.3.tar.gz (46kB) 100% |████████████████████████████████| 51kB 833kB/s Requirement already satisfied: awscli<2.0.0,>=1.7.46 in /usr/local/lib/python2.7/dist-packages (from saws) Collecting click<7.0,>=4.0 (from saws) Downloading https://files.pythonhosted.org/packages/34/c1/8806f99713ddb993c5366c362b2f908f18269f8d792aff1abfd700775a77/click-6.7-py2.py3-none-any.whl (71kB) 100% |████████████████████████████████| 71kB 1.9MB/s Collecting configobj<6.0.0,>=5.0.6 (from saws) Downloading https://files.pythonhosted.org/packages/64/61/079eb60459c44929e684fa7d9e2fdca403f67d64dd9dbac27296be2e0fab/configobj-5.0.6.tar.gz Requirement already satisfied: enum34>=1.0.4 in /usr/lib/python2.7/dist-packages (from saws) ... Requirement already satisfied: python-dateutil<3.0.0,>=2.1; python_version >= "2.7" in /usr/local/lib/python2.7/dist-packages (from botocore==1.12.68->awscli<2.0.0,>=1.7.46->saws) Requirement already satisfied: urllib3<1.25,>=1.20; python_version == "2.7" in /usr/local/lib/python2.7/dist-packages (from botocore==1.12.68->awscli<2.0.0,>=1.7.46->saws) Building wheels for collected packages: saws, configobj Running setup.py bdist_wheel for saws ... done Stored in directory: /root/.cache/pip/wheels/d5/76/41/cd49100cd35049d460ec69eea00501e2c7805febafd26fc911 Running setup.py bdist_wheel for configobj ... done Stored in directory: /root/.cache/pip/wheels/f1/e4/16/4981ca97c2d65106b49861e0b35e2660695be7219a2d351ee0 Successfully built saws configobj Installing collected packages: click, configobj, wcwidth, prompt-toolkit, pygments, saws Successfully installed click-6.7 configobj-5.0.6 prompt-toolkit-1.0.15 pygments-2.3.1 saws-0.4.3 wcwidth-0.1.7 |
Время первой команды журнала | 09:18:58 2018-12-19 | ||||||||||||||||||||||||||||||||||||||||||||||||
Время последней команды журнала | 12:48:27 2018-12-19 | ||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в журнале | 50 | ||||||||||||||||||||||||||||||||||||||||||||||||
Процент команд с ненулевым кодом завершения, % | 48.00 | ||||||||||||||||||||||||||||||||||||||||||||||||
Процент синтаксически неверно набранных команд, % | 2.00 | ||||||||||||||||||||||||||||||||||||||||||||||||
Суммарное время работы с терминалом *, час | 1.33 | ||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в единицу времени, команда/мин | 0.63 | ||||||||||||||||||||||||||||||||||||||||||||||||
Частота использования команд |
|
В журнал автоматически попадают все команды, данные в любом терминале системы.
Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду w. В поле WHAT, соответствующем текущему терминалу, должна быть указана программа script.
Команды, при наборе которых были допущены синтаксические ошибки, выводятся перечёркнутым текстом:
$ l s-l bash: l: command not found |
Если код завершения команды равен нулю, команда была выполнена без ошибок. Команды, код завершения которых отличен от нуля, выделяются цветом.
$ test 5 -lt 4 |
Команды, ход выполнения которых был прерван пользователем, выделяются цветом.
$ find / -name abc find: /home/devi-orig/.gnome2: Keine Berechtigung find: /home/devi-orig/.gnome2_private: Keine Berechtigung find: /home/devi-orig/.nautilus/metafiles: Keine Berechtigung find: /home/devi-orig/.metacity: Keine Berechtigung find: /home/devi-orig/.inkscape: Keine Berechtigung ^C |
Команды, выполненные с привилегиями суперпользователя, выделяются слева красной чертой.
# id uid=0(root) gid=0(root) Gruppen=0(root) |
Изменения, внесённые в текстовый файл с помощью редактора, запоминаются и показываются в журнале в формате ed. Строки, начинающиеся символом "<", удалены, а строки, начинающиеся символом ">" -- добавлены.
$ vi ~/.bashrc
|
Для того чтобы изменить файл в соответствии с показанными в диффшоте изменениями, можно воспользоваться командой patch. Нужно скопировать изменения, запустить программу patch, указав в качестве её аргумента файл, к которому применяются изменения, и всавить скопированный текст:
$ patch ~/.bashrc |
Для того чтобы получить краткую справочную информацию о команде, нужно подвести к ней мышь. Во всплывающей подсказке появится краткое описание команды.
Если справочная информация о команде есть, команда выделяется голубым фоном, например: vi. Если справочная информация отсутствует, команда выделяется розовым фоном, например: notepad.exe. Справочная информация может отсутствовать в том случае, если (1) команда введена неверно; (2) если распознавание команды LiLaLo выполнено неверно; (3) если информация о команде неизвестна LiLaLo. Последнее возможно для редких команд.
Большие, в особенности многострочные, всплывающие подсказки лучше всего показываются браузерами KDE Konqueror, Apple Safari и Microsoft Internet Explorer. В браузерах Mozilla и Firefox они отображаются не полностью, а вместо перевода строки выводится специальный символ.
Время ввода команды, показанное в журнале, соответствует времени начала ввода командной строки, которое равно тому моменту, когда на терминале появилось приглашение интерпретатора
Имя терминала, на котором была введена команда, показано в специальном блоке. Этот блок показывается только в том случае, если терминал текущей команды отличается от терминала предыдущей.
Вывод не интересующих вас в настоящий момент элементов журнала, таких как время, имя терминала и других, можно отключить. Для этого нужно воспользоваться формой управления журналом вверху страницы.
Небольшие комментарии к командам можно вставлять прямо из командной строки. Комментарий вводится прямо в командную строку, после символов #^ или #v. Символы ^ и v показывают направление выбора команды, к которой относится комментарий: ^ - к предыдущей, v - к следующей. Например, если в командной строке было введено:
$ whoami
user
$ #^ Интересно, кто я?в журнале это будет выглядеть так:
$ whoami
user
Интересно, кто я? |
Если комментарий содержит несколько строк, его можно вставить в журнал следующим образом:
$ whoami
user
$ cat > /dev/null #^ Интересно, кто я?
Программа whoami выводит имя пользователя, под которым мы зарегистрировались в системе. - Она не может ответить на вопрос о нашем назначении в этом мире.В журнале это будет выглядеть так:
$ whoami user
|
Комментарии, не относящиеся непосредственно ни к какой из команд, добавляются точно таким же способом, только вместо симолов #^ или #v нужно использовать символы #=
1 2 3 4Группы команд, выполненных на разных терминалах, разделяются специальной линией. Под этой линией в правом углу показано имя терминала, на котором выполнялись команды. Для того чтобы посмотреть команды только одного сенса, нужно щёкнуть по этому названию.
LiLaLo (L3) расшифровывается как Live Lab Log.
Программа разработана для повышения эффективности обучения Unix/Linux-системам.
(c) Игорь Чубин, 2004-2008