/l3/users/slm/2018-12-minsk-aws/instructor.BigClassRoom/user :1 :2 |
|
$apt-cache search python pip | grep python
python-apipkg - namespace control and lazy-import mechanism for Python python3-apipkg - namespace control and lazy-import mechanism for Python 3 python-pyassimp - 3D model import library (Python bindings) python-calabash - Bash-style pipelining syntax for Python generators python-django-pipeline - Asset packaging library for Django python-django-pipeline-doc - Documentation for Django Pipeline library python3-django-pipeline - Asset packaging library for Django (Python3 version) python-easyprocess - easy to use python subprocess interface - Python 2.X python3-easyprocess - easy to use python subprocess interface - Python 3.X python-joblib - tools to provide lightweight pipelining in Python ... python-ruffus - Python computation pipeline library widely used in bioinformatics python-ruffus-doc - documentation for python-ruffus computation pipeline library python3-ruffus - Python3 computation pipeline library widely used in bioinformatics pythonpy - 'python -c', with tab completion and shorthand python-sclapp - framework for Python command-line applications python-wand - Python interface for ImageMagick library (Python 2 build) python3-wand - Python interface for ImageMagick library (Python 3 build) python-wheel - built-package format for Python python-wheel-common - built-package format for Python python3-wheel - built-package format for Python |
$sudo apt-get install python-pip
[sudo] password for user: 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: ... 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) ... |
$aws configure
AWS Access Key ID [None]: XXXXXX5YKZDPMPLU7NMA AWS Secret Access Key [None]: XXXXXXXXi2nOUIKxfRV1/ETIM2/EUR7Ks1Hr1QJ+ Default region name [None]: eu-west-1 Default output format [None]: |
$ls
1.json credentials.csv Documents github.txt Music Public Templates aws Desktop Downloads m0_id_rsa.pub Pictures q- Videos |
$grep user10 credentials.csv
user10,XXXXXXUr)8qx,XXXXXX5YKZDPMPLU7NMA,XXXXXXXXi2nOUIKxfRV1/ETIM2/EUR7Ks1Hr1QJ+,https://chubin.signin.aws.amazon.com/console |
$grep user10 credentials.csv | tr ',' '\n'
user10 XXXXXXUr)8qx XXXXXX5YKZDPMPLU7NMA XXXXXXXXi2nOUIKxfRV1/ETIM2/EUR7Ks1Hr1QJ+ https://chubin.signin.aws.amazon.com/console |
$aws ec2 describe-instances | less -R
|
$aws ec2 describe-instances | jq .Reservations | less -r
|
$aws ec2 describe-instances | jq .Reservations | less -R
|
$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 table
------------------------------------------------------------------------------------- | DescribeInstances | +-----------------------------------------------------------------------------------+ || Reservations || |+---------------------------------+-----------------------------------------------+| || OwnerId | 886677986286 || || ReservationId | r-0ebb430cd3f1917cf || |+---------------------------------+-----------------------------------------------+| ||| Instances ||| ||+------------------------+------------------------------------------------------+|| ... |||| State |||| |||+-------------------------------+---------------------------------------------+||| |||| Code | 16 |||| |||| Name | running |||| |||+-------------------------------+---------------------------------------------+||| |||| Tags |||| |||+-----------------------------+-----------------------------------------------+||| |||| Key | Name |||| |||| Value | user3-noIP |||| |||+-----------------------------+-----------------------------------------------+||| |
$aws ec2 describe-instances | less -R
|
$aws ec2 describe-instances help
Recently terminated instances might appear in the returned results. This interval is usually less than one hour. If you describe instances in the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected zone, or do not specify any instance IDs at all, the call fails. If you describe instances and specify only instance IDs that are in an unaffected zone, the call works normally. See also: AWS API Documentation See 'aws help' for descriptions of global parameters. describe-instances is a paginated operation. Multiple API calls may be ... NAME describe-instances - DESCRIPTION Describes one or more of your instances. If you specify one or more instance IDs, Amazon EC2 returns information for those instances. If you do not specify instance IDs, Amazon EC2 returns information for all relevant instances. If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the returned results. |
$# JMSEPath
|
$aws
1.json credentials.csv .lesshst q- aws/ Desktop/ .lilalo/ .ssh/ .aws/ Documents/ .local/ Templates/ .bash_history Downloads/ m0_id_rsa.pub Videos/ .bash_logout .gitconfig .mozilla/ .viminfo .bash_profile github.txt Music/ .vimrc .bashrc .gnupg/ Pictures/ .cache/ .ICEauthority .profile .config/ .l3rc Public/ |
$complete -C aws_completer aws
|
$aws
Display all 171 possibilities? (y or n) |
$vim ~/.bashrc
|
$complete -C aws_completer aws
|
$aws ec2 describe-
describe-account-attributes describe-addresses describe-aggregate-id-format describe-availability-zones describe-bundle-tasks describe-byoip-cidrs describe-capacity-reservations describe-classic-link-instances describe-client-vpn-authorization-rules describe-client-vpn-connections ... describe-conversion-tasks describe-customer-gateways describe-dhcp-options describe-egress-only-internet-gateways describe-elastic-gpus describe-export-tasks describe-fleet-history describe-fleet-instances describe-fleets describe-flow-logs |
$aws ec2 describe-instance
describe-instance-attribute describe-instance-credit-specifications describe-instances describe-instance-status |
$aws ec2 describe-instance
describe-instance-attribute describe-instance-credit-specifications describe-instances describe-instance-status |
$ssh ec2-52-19-122-40.eu-west-1.compute.amazonaws.com
The authenticity of host 'ec2-52-19-122-40.eu-west-1.compute.amazonaws.com (52.19.122.40)' can't be established. ECDSA key fingerprint is SHA256:z9R5y0W1osJltlVnCjsBv8/SdlKScFdIlxOFicYTZdg. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'ec2-52-19-122-40.eu-west-1.compute.amazonaws.com,52.19.122.40' (ECDSA) to the list of known hosts. @ip-10-2-1-85:~[ec2-user@ip-10-2-1-85 ~]$ @ip-10-2-1-85:~[ec2-user@ip-10-2-1-85 ~]$ @ip-10-2-1-85:~[ec2-user@ip-10-2-1-85 ~]$ @ip-10-2-1-85:~[ec2-user@ip-10-2-1-85 ~]$ @ip-10-2-1-85:~[ec2-user@ip-10-2-1-85 ~]$ aws aws aws_completer ... describe-instance-attribute describe-instance-credit-specifications describe-instances describe-instance-status [ec2-user@ip-10-2-1-85 ~]$ @ip-10-2-1-85:~[ec2-user@ip-10-2-1-85 ~]$ @ip-10-2-1-85:~[ec2-user@ip-10-2-1-85 ~]$ @ip-10-2-1-85:~[ec2-user@ip-10-2-1-85 ~]$ exit logout Connection to ec2-52-19-122-40.eu-west-1.compute.amazonaws.com closed. |
$sudo pip install saws
[sudo] password for user: Collecting saws Downloading https://files.pythonhosted.org/packages/ef/7a/37581ad99e8aefc9976c463fb7741593e1ff91dea2228ec5f889ba6b9e33/saws-0.4.3.tar.gz (46kB) 100% |████████████████████████████████| 51kB 643kB/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.6MB/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: 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 |
$saws
No resource cache found Refreshing resources... Refreshing instance ids... Refreshing instance tag keys... Refreshing instance tag values... Refreshing bucket names... Refreshing bucket uris... Done refreshing Version: 0.4.3 Theme: vim ... c2 start-instances --instance-ids accept-reserved-instances-exchange-quote accept-transit-gateway-vpc-attachment accept-vpc-endpoint-connections accept-vpc-peering-connection advertise-byoip-cidr allocate-address saws> exit saws> saws> |
$vim ~/.sawrc
|
$saws
No resource cache found Refreshing resources... Refreshing instance ids... Refreshing instance tag keys... Refreshing instance tag values... Refreshing bucket names... Refreshing bucket uris... Done refreshing Version: 0.4.3 Theme: vim ... describe-account-attributes describe-addresses describe-aggregate-id-format i describe-availability-zones describe-bundle-tasks describe-byoip-cidrs saws> exit saws> saws> |
$vim ~/.sawrc
|
$~
|
$saws
No resource cache found Refreshing resources... Refreshing instance ids... Refreshing instance tag keys... Refreshing instance tag values... Refreshing bucket names... Refreshing bucket uris... Done refreshing Version: 0.4.3 Theme: vim saws> saws> exit saws> saws> exit saws> saws> |
$ls -alt | head
total 164 -rw-r--r-- 1 user user 611 Dec 19 14:49 .sawsrc drwxr-xr-x 2 user root 4096 Dec 19 14:49 .lilalo -rw-r--r-- 1 user user 1506 Dec 19 14:49 .saws.log drwxr-xr-x 19 user user 4096 Dec 19 14:49 . -rw------- 1 user user 8213 Dec 19 14:49 .viminfo -rw-r--r-- 1 user user 36 Dec 19 14:47 .saws-history -rw-r--r-- 1 user user 2256 Dec 19 14:46 .saws.shortcuts -rw-r--r-- 1 user user 751 Dec 19 14:40 .bashrc -rw------- 1 user user 42 Dec 19 14:37 .lesshst |
$vim ~/.saws
|
$vim ~/.saws
|
$vim ~/.saws
|
$vim ~/.sawsrc
|
$saws
No resource cache found Refreshing resources... Refreshing instance ids... Refreshing instance tag keys... Refreshing instance tag values... Refreshing bucket names... Refreshing bucket uris... Done refreshing Version: 0.4.3 Theme: xcode ... apigatewaymanagementapi apigatewayv2 saws> saws> saws> saws> saws> saws> saws> saws> |
$No resource cache found
Refreshing resources... Refreshing instance ids... Refreshing instance tag keys... Traceback (most recent call last): File "/usr/local/bin/saws", line 11, in <module> sys.exit(cli()) File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 722, in __call__ return self.main(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 697, in main rv = self.invoke(ctx) File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 895, in invoke return ctx.invoke(self.callback, **ctx.params) File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 535, in invoke return callback(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/saws/main.py", line 42, in cli saws.aws_cli.set_return_value(None) UnboundLocalError: local variable 'saws' referenced before assignment |
$exit
exit There are stopped jobs. |
Время первой команды журнала | 12:17:30 2018-12-19 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Время последней команды журнала | 13:13:24 2018-12-19 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в журнале | 41 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент команд с ненулевым кодом завершения, % | 7.32 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент синтаксически неверно набранных команд, % | 0.00 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Суммарное время работы с терминалом *, час | 0.93 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в единицу времени, команда/мин | 0.73 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Частота использования команд |
|
В журнал автоматически попадают все команды, данные в любом терминале системы.
Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду 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