Журнал лабораторных работ

Содержание

Журнал

Среда (12/19/18)

/dev/pts/0
11:43:51
$sudo -s
root@m5:/home/user# pip install awscli
bash: pip: command not found
root@m5:/home/user# exit
exit
11:47:52
$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 380kB/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 944kB/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 903kB/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)
11:48:26
$aws configure
AWS Access Key ID [None]: user5@chubin
AWS Secret Access Key [None]: ^C
11:50:38
$aws configure
AWS Access Key ID [None]: ^C
11:50:42
$ls ~/.aws/
ls: cannot access '/home/user/.aws/': No such file or directory
11:50:57
$sudo apt install awscli
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  docutils-common python3-botocore python3-colorama python3-dateutil python3-docutils python3-jmespath
  python3-pyasn1 python3-pygments python3-roman python3-rsa python3-s3transfer
Suggested packages:
  docutils-doc texlive-lang-french texlive-latex-base texlive-latex-recommended doc-base
  ttf-bitstream-vera
The following NEW packages will be installed:
  awscli docutils-common python3-botocore python3-colorama python3-dateutil python3-docutils
  python3-jmespath python3-pyasn1 python3-pygments python3-roman python3-rsa python3-s3transfer
0 upgraded, 12 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,805 kB of archives.
After this operation, 26.9 MB of additional disk space will be used.
Do you want to continue? [Y/n] n
Abort.
11:55:25
$ls
1.json  Desktop    Downloads   id_rsa.pub     Music     Public     Videos
aws     Documents  github.txt  microsoft.gpg  Pictures  Templates
11:55:43
$sudo ls /root/
credentials.csv  lilalo-install  setpasswd
12:01:26
$hist
hist_append  history
12:01:26
$history | grep credentials.csv
  143  sudo cat /root/credentials.csv
  146  sudo cat /root/credentials.csv | tr , '\n'
  245  sudo cat /root/credentials.csv
  246  history | grep credentials.csv
12:01:46
$sudo cat /root/credentials.csv | tr , '\n'
user5
k!oDh|!SQ%Ba
AKIAJKUHEIKJ53Q5J73A
FYYm7Jky8U5oQXy2B4N/xCMdHHgeZmQfWiA6RZfX
https://chubin.signin.aws.amazon.com/console
12:02:56
$clear

12:03:04
$aws ec2 describe-instances
Could not connect to the endpoint URL: "https://ec2.eu-west-1a.amazonaws.com/"
12:03:59
$cat .aws/
cat: .aws/: Is a directory
12:04:36
$ls .aws/
config  credentials
12:04:41
$cat .aws/config
[default]
output = json
region = eu-west-1a
12:04:48
$cat .aws/credentials
[default]
aws_access_key_id = AKIAJKUHEIKJ53Q5J73A
aws_secret_access_key = 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
12:06:14
$cat .aws/credentials
cat: .aws/credentials: No such file or directory
12:06:51
$aws ec2 describe-instances
Could not connect to the endpoint URL: "https://ec2.eu-west-1a.amazonaws.com/"
12:08:33
$aws iam list-users
Could not connect to the endpoint URL: "https://iam.eu-west-1a.amazonaws.com/"
12:10:42
$aws help
AWS()                                                                    AWS()
NAME
       aws -
DESCRIPTION
       The  AWS  Command  Line  Interface is a unified tool to manage your AWS
       services.
SYNOPSIS
          aws [options] <command> <subcommand> [parameters]
       Use aws command help for information on a  specific  command.  Use  aws
       help  topics  to view a list of available help topics. The synopsis for
...
       The CA certificate bundle to use when verifying SSL certificates. Over-
       rides config/env settings.
       --cli-read-timeout (int)
       The  maximum socket read time in seconds. If the value is set to 0, the
       socket read will be blocking and not timeout.
       --cli-connect-timeout (int)
       The maximum socket connect time in seconds. If the value is set  to  0,
       the socket connect will be blocking and not timeout.
AVAILABLE SERVICES
       o acm
12:11:36
$aws --version
aws-cli/1.16.78 Python/2.7.13 Linux/4.9.0-8-amd64 botocore/1.12.68
12:14:05
$aws ec2 describe-regions --output table
Could not connect to the endpoint URL: "https://ec2.eu-west-1a.amazonaws.com/"
12:19:29
$cat .aws/config
[default]
region = eu-west-1
output = json
12:19:58
$aws ec2 describe-instances | jq
{
  "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"
    }
  ]
}
12:23:41
$aws ec2 describe-instances | jq [0]
[
  0
]
12:28:14
$aws ec2 describe-instances | jq .[0]
jq: error (at <stdin>:1831): Cannot index object with number
12:28:25
$aws ec2 describe-instances | jq .[0].name
jq: error (at <stdin>:1831): Cannot index object with number
12:28:52
$aws ec2 describe-instances | jq .[]
[
  {
    "Instances": [
      {
        "Monitoring": {
          "State": "disabled"
        },
        "PublicDnsName": "ec2-52-19-122-40.eu-west-1.compute.amazonaws.com",
        "State": {
          "Code": 16,
...
          "Configured": false
        },
        "AmiLaunchIndex": 0
      }
    ],
    "ReservationId": "r-0c0e59eec99ee07d6",
    "Groups": [],
    "OwnerId": "886677986286"
  }
]
12:29:12
$aws ec2 describe-instances | jq .[]
[
  {
    "Instances": [
      {
        "Monitoring": {
          "State": "disabled"
        },
        "PublicDnsName": "ec2-52-19-122-40.eu-west-1.compute.amazonaws.com",
        "State": {
          "Code": 16,
...
          "Configured": false
        },
        "AmiLaunchIndex": 0
      }
    ],
    "ReservationId": "r-0c0e59eec99ee07d6",
    "Groups": [],
    "OwnerId": "886677986286"
  }
]
12:30:13
$aws ec2 describe-instances | jq .[1]
jq: error (at <stdin>:1831): Cannot index object with number
12:30:17
$aws ec2 describe-instances | jq .[0]
jq: error (at <stdin>:1831): Cannot index object with number
12:30:25
$aws ec2 describe-instances | jq .Reservations
[
  {
    "Instances": [
      {
        "Monitoring": {
          "State": "disabled"
        },
        "PublicDnsName": "ec2-52-19-122-40.eu-west-1.compute.amazonaws.com",
        "State": {
          "Code": 16,
...
          "Configured": false
        },
        "AmiLaunchIndex": 0
      }
    ],
    "ReservationId": "r-0c0e59eec99ee07d6",
    "Groups": [],
    "OwnerId": "886677986286"
  }
]
12:30:47
$aws ec2 describe-instances --otput 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: --otput, table
12:32:12
$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                                   ||||
|||+-----------------------------+-----------------------------------------------+|||
12:32:31
$aws ec2 describe-instances --output text
RESERVATIONS    886677986286    r-0ebb430cd3f1917cf
INSTANCES       0       x86_64          False   True    xen     ami-09693313102a30b2c   i-080515adaa7956592     t2.micro        user10  2018-12-19T09:56:26.000Z        ip-10-2-1-85.eu-west-1.compute.internal 10.2.1.85       ec2-52-19-122-40.eu-west-1.compute.amazonaws.com        52.19.122.40    /dev/xvda       ebs     True            subnet-0d00d8b5d01e66e35        hvm     vpc-04540e242cdfb35de
BLOCKDEVICEMAPPINGS     /dev/xvda
EBS     2018-12-19T09:56:13.000Z        False   attached        vol-05a6d57a3a6c9ffa2
CAPACITYRESERVATIONSPECIFICATION        open
CPUOPTIONS      1       1
HIBERNATIONOPTIONS      False
MONITORING      disabled
NETWORKINTERFACES       Primary network interface       0a:a3:3d:87:83:46       eni-04bd6dd286a442369   886677986286    ip-10-2-1-85.eu-west-1.compute.internal 10.2.1.85       True    in-use  subnet-0d00d8b5d01e66e35        vpc-04540e242cdfb35de
ASSOCIATION     amazon  ec2-52-19-122-40.eu-west-1.compute.amazonaws.com        52.19.122.40
...
HIBERNATIONOPTIONS      False
MONITORING      disabled
NETWORKINTERFACES       Primary network interface       0a:1d:59:e6:36:62       eni-0a3b551b95295909d   886677986286    ip-10-1-1-251.eu-west-1.compute.internal        10.1.1.251      True    in-use  subnet-060d8c5c243f86664        vpc-08b950cd8140c7403
ATTACHMENT      2018-12-19T09:42:51.000Z        eni-attach-008171fffb029232d    True    0       attached
GROUPS  sg-0c6d9a080b0be281c    launch-wizard-1
PRIVATEIPADDRESSES      True    ip-10-1-1-251.eu-west-1.compute.internal        10.1.1.251
PLACEMENT       eu-west-1a              default
SECURITYGROUPS  sg-0c6d9a080b0be281c    launch-wizard-1
STATE   16      running
TAGS    Name    user3-noIP
12:32:35
$aws ec2 describe-instances | jq
{
  "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"
    }
  ]
}
12:33:33
$aws ec2 describe-instances | jq .Reservations.[0]
jq: error: syntax error, unexpected '[', expecting FORMAT or QQSTRING_START (Unix shell quoting issues?) at <top-level>, line 1:
.Reservations.[0]
jq: 1 compile error
12:34:15
$aws ec2 describe-instances | jq .Reservations[0]
{
  "Instances": [
    {
      "Monitoring": {
        "State": "disabled"
      },
      "PublicDnsName": "ec2-52-19-122-40.eu-west-1.compute.amazonaws.com",
      "State": {
        "Code": 16,
        "Name": "running"
...
      "HibernationOptions": {
        "Configured": false
      },
      "AmiLaunchIndex": 0
    }
  ],
  "ReservationId": "r-0ebb430cd3f1917cf",
  "Groups": [],
  "OwnerId": "886677986286"
}
12:34:33
$aws ec2 describe-instances | jq .Reservations[0].Instances[0]
{
  "Monitoring": {
    "State": "disabled"
  },
  "PublicDnsName": "ec2-52-19-122-40.eu-west-1.compute.amazonaws.com",
  "State": {
    "Code": 16,
    "Name": "running"
  },
  "EbsOptimized": false,
...
  ],
  "Architecture": "x86_64",
  "RootDeviceType": "ebs",
  "RootDeviceName": "/dev/xvda",
  "VirtualizationType": "hvm",
  "HibernationOptions": {
    "Configured": false
  },
  "AmiLaunchIndex": 0
}
12:35:22
$aws ec2 describe-instances | jq .Reservations[0].Instances[0].InstanceId
"i-080515adaa7956592"
12:35:57
$aws ec2 describe-instances help
DESCRIBE-INSTANCES()                                      DESCRIBE-INSTANCES()
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
...
       Command:
          aws ec2 describe-instances --filters "Name=instance-type,Values=m1.small,m1.medium" "Name=availability-zone,Values=us-
west-2c"
       The following JSON input performs the same filtering.
       Command:
          aws ec2 describe-instances --filters file://filters.json
       filters.json:
          [
            {
              "Name": "instance-type",
12:40:09
$com
comm               compare            compare-im6.q16    complete           compose            composite-im6
command            compare-im6        compgen            compopt            composite          composite-im6.q16
12:40:09
$co
code               colprof            compare            compose            conjure-im6.q16    corelist
codepage           colrm              compare-im6        composite          continue
col                column             compare-im6.q16    composite-im6      convert
colcrt             colverify          compgen            composite-im6.q16  convert-im6
collink            comm               complete           conjure            convert-im6.q16
colormgr           command            compopt            conjure-im6        coproc
12:40:09
$co
code               colprof            compare            compose            conjure-im6.q16    corelist
codepage           colrm              compare-im6        composite          continue
col                column             compare-im6.q16    composite-im6      convert
colcrt             colverify          compgen            composite-im6.q16  convert-im6
collink            comm               complete           conjure            convert-im6.q16
colormgr           command            compopt            conjure-im6        coproc
12:40:42
$aws
Display all 171 possibilities? (y or n)
acm                            dax                            kafka                          redshift
acm-pca                        deploy                         kinesis                        rekognition
alexaforbusiness               devicefarm                     kinesisanalytics               resource-groups
amplify                        directconnect                  kinesisanalyticsv2             resourcegroupstaggingapi
apigateway                     discovery                      kinesisvideo                   robomaker
apigatewaymanagementapi        dlm                            kinesis-video-archived-media   route53
apigatewayv2                   dms                            kinesis-video-media            route53domains
application-autoscaling        ds                             kms                            route53resolver
appmesh                        dynamodb                       lambda                         s3
...
cognito-idp                    history                        organizations                  transcribe
cognito-sync                   iam                            pi                             transfer
comprehend                     importexport                   pinpoint                       translate
comprehendmedical              inspector                      pinpoint-email                 waf
configservice                  iot                            polly                          waf-regional
configure                      iot1click-devices              pricing                        workdocs
connect                        iot1click-projects             quicksight                     workmail
cur                            iotanalytics                   ram                            workspaces
datapipeline                   iot-data                       rds                            xray
datasync                       iot-jobs-data                  rds-data
12:40:59
$vi .bash
12:40:59
$vi .bashrc
12:41:32
$complete -C aws_completer aws

12:41:35
$aws ec2 describe-in
describe-instance-attribute               describe-instances                        describe-internet-gateways
describe-instance-credit-specifications   describe-instance-status
12:41:35
$aws ec2 describe-instance --query "Reservations[*].Instances[*].[ImageId,Tags[*]]"
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: 'describe-instance', maybe you meant:
  * describe-instances
  * describe-instance-status
  * describe-fleet-instances
12:43:50
$aws ec2 describe-instances --query "Reservations[*].Instances[*].InstanceId[*]"
[
    [],
    [],
    [],
    [],
    [],
    [],
    [],
    [],
    [],
    [],
    [],
    [],
    [],
    [],
    []
]
12:43:57
$aws ec2 describe-instances --query "Reservations[*].Instances[*].[InstanceId[*]]"
[
    [
        [
            null
        ]
    ],
    [
        [
            null
        ]
...
        [
            null
        ]
    ],
    [
        [
            null
        ]
    ]
]
12:45:12
$aws ec2 describe-instances --query "Reservations[*].Instances[*].[.InstanceId,Tags[*]]"
Bad value for --query Reservations[*].Instances[*].[.InstanceId,Tags[*]]: invalid token: Parse error at column 30, token "." (DOT), for expression:
"Reservations[*].Instances[*].[.InstanceId,Tags[*]]"
                               ^
12:45:22
$aws ec2 describe-instances --query "Reservations[*].Instances[*].[.InstanceId]"
Bad value for --query Reservations[*].Instances[*].[.InstanceId]: invalid token: Parse error at column 30, token "." (DOT), for expression:
"Reservations[*].Instances[*].[.InstanceId]"
                               ^
12:45:34
$aws ec2 describe-instances --query "Reservations[*].Instances[*].[InstanceId]"
[
    [
        [
            "i-080515adaa7956592"
        ]
    ],
    [
        [
            "i-01bc438b2967b39c8"
        ]
...
        [
            "i-0792fc893f709631b"
        ]
    ],
    [
        [
            "i-01015636befc73bb8"
        ]
    ]
]
12:45:39
$aws ec2 describe-instances --query "Reservations[*].Instances[*].[InstanceId,Tags[*]]"
[
    [
        [
            "i-080515adaa7956592",
            null
        ]
    ],
    [
        [
            "i-01bc438b2967b39c8",
...
            "i-01015636befc73bb8",
            [
                {
                    "Value": "user3-noIP",
                    "Key": "Name"
                }
            ]
        ]
    ]
]
12:46:16
$aws ec2 describe-instances --query "Reservations[*].Instances[*].[InstanceId,Tags[user5*]]"
Bad value for --query Reservations[*].Instances[*].[InstanceId,Tags[user5*]]: Expecting: star, got: unquoted_identifier: Parse error at column 46, token "user5" (UNQUOTED_IDENTIFIER), for expression:
"Reservations[*].Instances[*].[InstanceId,Tags[user5*]]"
                                               ^
12:46:21
$aws ec2 describe-instances --query "Reservations[*].Instances[*].[InstanceId,Tags[user5]]"
Bad value for --query Reservations[*].Instances[*].[InstanceId,Tags[user5]]: Expecting: star, got: unquoted_identifier: Parse error at column 46, token "user5" (UNQUOTED_IDENTIFIER), for expression:
"Reservations[*].Instances[*].[InstanceId,Tags[user5]]"
                                               ^
12:46:28
$aws ec2 describe-instances --query "Reservations[*].Instances[*].[InstanceId,Tags[*]]"
[
    [
        [
            "i-080515adaa7956592",
            null
        ]
    ],
    [
        [
            "i-01bc438b2967b39c8",
...
            "i-01015636befc73bb8",
            [
                {
                    "Value": "user3-noIP",
                    "Key": "Name"
                }
            ]
        ]
    ]
]
12:46:40
$sudo pip install saws
Collecting saws
  Downloading https://files.pythonhosted.org/packages/ef/7a/37581ad99e8aefc9976c463fb7741593e1ff91dea2228ec5f889ba6b9e33/saws-0.4.3.tar.gz (46kB)
    100% |████████████████████████████████| 51kB 614kB/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.4MB/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
12:47:40
$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
...
                --ipv6-addresses
saws> aws ec2 run-instances --instance-type t2.micro --security-groups launch-wizard-5 --key-name user5 --subnet-id subnet-0d00d
8b5d01e66e35 --image-id ami-0b97e17c772f052e6
An error occurred (InvalidParameterCombination) when calling the RunInstances operation: The parameter groupName cannot be used with the parameter subnet
saws>
saws> exit
saws>
saws> exit
saws>
saws>
прошло 26 минут
13:14:27
$cd aws

13:14:31
$ls
hello.md  README.md
13:14:32
$vim script
/dev/pts/0
13:16:30
$cd aws

13:16:36
$mkdir scripts

13:16:51
$cd scripts/

13:16:54
$cd ..

13:16:56
$mv script scripts/create-ifrastructure.sh

Файлы

  • .aws/config
  • .aws/credentials
  • .aws/config
    >
    [default]
    region = eu-west-1
    output = json
    
    .aws/credentials
    >
    cat: .aws/credentials: No such file or directory
    

    Статистика

    Время первой команды журнала11:43:51 2018-12-19
    Время последней команды журнала13:16:56 2018-12-19
    Количество командных строк в журнале70
    Процент команд с ненулевым кодом завершения, %25.71
    Процент синтаксически неверно набранных команд, % 4.29
    Суммарное время работы с терминалом *, час 1.55
    Количество командных строк в единицу времени, команда/мин 0.75
    Частота использования команд
    aws38|=========================================| 41.30%
    jq14|===============| 15.22%
    sudo6|======| 6.52%
    cat6|======| 6.52%
    ls5|=====| 5.43%
    cd4|====| 4.35%
    pip2|==| 2.17%
    co2|==| 2.17%
    vi2|==| 2.17%
    com1|=| 1.09%
    complete1|=| 1.09%
    mkdir1|=| 1.09%
    saws1|=| 1.09%
    vim1|=| 1.09%
    history1|=| 1.09%
    apt1|=| 1.09%
    grep1|=| 1.09%
    hist1|=| 1.09%
    mv1|=| 1.09%
    -s1|=| 1.09%
    clear1|=| 1.09%
    tr1|=| 1.09%
    ____
    *) Интервалы неактивности длительностью 30 минут и более не учитываются

    Справка

    Для того чтобы использовать LiLaLo, не нужно знать ничего особенного: всё происходит само собой. Однако, чтобы ведение и последующее использование журналов было как можно более эффективным, желательно иметь в виду следующее:
    1. В журнал автоматически попадают все команды, данные в любом терминале системы.

    2. Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду w. В поле WHAT, соответствующем текущему терминалу, должна быть указана программа script.

    3. Команды, при наборе которых были допущены синтаксические ошибки, выводятся перечёркнутым текстом:
      $ l s-l
      bash: l: command not found
      

    4. Если код завершения команды равен нулю, команда была выполнена без ошибок. Команды, код завершения которых отличен от нуля, выделяются цветом.
      $ test 5 -lt 4
      Обратите внимание на то, что код завершения команды может быть отличен от нуля не только в тех случаях, когда команда была выполнена с ошибкой. Многие команды используют код завершения, например, для того чтобы показать результаты проверки

    5. Команды, ход выполнения которых был прерван пользователем, выделяются цветом.
      $ 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
      

    6. Команды, выполненные с привилегиями суперпользователя, выделяются слева красной чертой.
      # id
      uid=0(root) gid=0(root) Gruppen=0(root)
      

    7. Изменения, внесённые в текстовый файл с помощью редактора, запоминаются и показываются в журнале в формате ed. Строки, начинающиеся символом "<", удалены, а строки, начинающиеся символом ">" -- добавлены.
      $ vi ~/.bashrc
      2a3,5
      >    if [ -f /usr/local/etc/bash_completion ]; then
      >         . /usr/local/etc/bash_completion
      >        fi
      

    8. Для того чтобы изменить файл в соответствии с показанными в диффшоте изменениями, можно воспользоваться командой patch. Нужно скопировать изменения, запустить программу patch, указав в качестве её аргумента файл, к которому применяются изменения, и всавить скопированный текст:
      $ patch ~/.bashrc
      В данном случае изменения применяются к файлу ~/.bashrc

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

      Если справочная информация о команде есть, команда выделяется голубым фоном, например: vi. Если справочная информация отсутствует, команда выделяется розовым фоном, например: notepad.exe. Справочная информация может отсутствовать в том случае, если (1) команда введена неверно; (2) если распознавание команды LiLaLo выполнено неверно; (3) если информация о команде неизвестна LiLaLo. Последнее возможно для редких команд.

    10. Большие, в особенности многострочные, всплывающие подсказки лучше всего показываются браузерами KDE Konqueror, Apple Safari и Microsoft Internet Explorer. В браузерах Mozilla и Firefox они отображаются не полностью, а вместо перевода строки выводится специальный символ.

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

    12. Имя терминала, на котором была введена команда, показано в специальном блоке. Этот блок показывается только в том случае, если терминал текущей команды отличается от терминала предыдущей.

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

    14. Небольшие комментарии к командам можно вставлять прямо из командной строки. Комментарий вводится прямо в командную строку, после символов #^ или #v. Символы ^ и v показывают направление выбора команды, к которой относится комментарий: ^ - к предыдущей, v - к следующей. Например, если в командной строке было введено:

      $ whoami
      
      user
      
      $ #^ Интересно, кто я?
      
      в журнале это будет выглядеть так:
      $ whoami
      
      user
      
      Интересно, кто я?

    15. Если комментарий содержит несколько строк, его можно вставить в журнал следующим образом:

      $ whoami
      
      user
      
      $ cat > /dev/null #^ Интересно, кто я?
      
      Программа whoami выводит имя пользователя, под которым 
      мы зарегистрировались в системе.
      -
      Она не может ответить на вопрос о нашем назначении 
      в этом мире.
      
      В журнале это будет выглядеть так:
      $ whoami
      user
      
      Интересно, кто я?
      Программа whoami выводит имя пользователя, под которым
      мы зарегистрировались в системе.

      Она не может ответить на вопрос о нашем назначении
      в этом мире.
      Для разделения нескольких абзацев между собой используйте символ "-", один в строке.

    16. Комментарии, не относящиеся непосредственно ни к какой из команд, добавляются точно таким же способом, только вместо симолов #^ или #v нужно использовать символы #=

    17. Содержимое файла может быть показано в журнале. Для этого его нужно вывести с помощью программы cat. Если вывод команды отметить симоволами #!, содержимое файла будет показано в журнале в специально отведённой для этого секции.
    18. Для того чтобы вставить скриншот интересующего вас окна в журнал, нужно воспользоваться командой l3shot. После того как команда вызвана, нужно с помощью мыши выбрать окно, которое должно быть в журнале.
    19. Команды в журнале расположены в хронологическом порядке. Если две команды давались одна за другой, но на разных терминалах, в журнале они будут рядом, даже если они не имеют друг к другу никакого отношения.
      1
          2
      3   
          4
      
      Группы команд, выполненных на разных терминалах, разделяются специальной линией. Под этой линией в правом углу показано имя терминала, на котором выполнялись команды. Для того чтобы посмотреть команды только одного сенса, нужно щёкнуть по этому названию.

    О программе

    LiLaLo (L3) расшифровывается как Live Lab Log.
    Программа разработана для повышения эффективности обучения Unix/Linux-системам.
    (c) Игорь Чубин, 2004-2008

    $Id$