.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "S3LS 1p" .TH S3LS 1p "2009-03-08" "perl v5.10.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" s3ls \- List S3 buckets and bucket contents .SH "SYNOPSIS" .IX Header "SYNOPSIS" s3ls [options] .PP s3ls [options] [ [ bucket | bucket/item ] ...] .PP .Vb 7 \& Options: \& \-\-access\-key AWS Access Key ID \& \-\-secret\-key AWS Secret Access Key \& \-\-long \& Environment: \& AWS_ACCESS_KEY_ID \& AWS_ACCESS_KEY_SECRET .Ve .SH "OPTIONS" .IX Header "OPTIONS" .IP "\fB\-\-help\fR" 8 .IX Item "--help" Print a brief help message and exits. .IP "\fB\-\-man\fR" 8 .IX Item "--man" Prints the manual page and exits. .IP "\fB\-\-verbose\fR" 8 .IX Item "--verbose" Output what is being done as it is done. .IP "\fB\-\-access\-key\fR and \fB\-\-secret\-key\fR" 8 .IX Item "--access-key and --secret-key" Specify the \*(L"\s-1AWS\s0 Access Key Identifiers\*(R" for the \s-1AWS\s0 account. \&\fB\-\-access\-key\fR is the \*(L"Access Key \s-1ID\s0\*(R", and \fB\-\-secret\-key\fR is the \*(L"Secret Access Key\*(R". These are effectively the \*(L"username\*(R" and \&\*(L"password\*(R" to the \s-1AWS\s0 account, and should be kept confidential. .Sp The access keys \s-1MUST\s0 be specified, either via these command line parameters, or via the \fB\s-1AWS_ACCESS_KEY_ID\s0\fR and \&\fB\s-1AWS_ACCESS_KEY_SECRET\s0\fR environment variables. .Sp Specifying them on the command line overrides the environment variables. .IP "\fB\-\-secure\fR" 8 .IX Item "--secure" Uses \s-1SSL/TLS\s0 \s-1HTTPS\s0 to communicate with the \s-1AWS\s0 service, instead of \&\s-1HTTP\s0. .IP "\fB\-\-long\fR" 8 .IX Item "--long" .SH "ENVIRONMENT VARIABLES" .IX Header "ENVIRONMENT VARIABLES" .PD 0 .IP "\fB\s-1AWS_ACCESS_KEY_ID\s0\fR and \fB\s-1AWS_ACCESS_KEY_SECRET\s0\fR" 8 .IX Item "AWS_ACCESS_KEY_ID and AWS_ACCESS_KEY_SECRET" .PD Specify the \*(L"\s-1AWS\s0 Access Key Identifiers\*(R" for the \s-1AWS\s0 account. \&\fB\s-1AWS_ACCESS_KEY_ID\s0\fR contains the \*(L"Access Key \s-1ID\s0\*(R", and \&\fB\s-1AWS_ACCESS_KEY_SECRET\s0\fR contains the \*(L"Secret Access Key\*(R". These are effectively the \*(L"username\*(R" and \*(L"password\*(R" to the \s-1AWS\s0 service, and should be kept confidential. .Sp The access keys \s-1MUST\s0 be specified, either via these environment variables, or via the \fB\-\-access\-key\fR and \fB\-\-secret\-key\fR command line parameters. .Sp If the command line parameters are set, they override these environment variables. .SH "CONFIGURATION FILE" .IX Header "CONFIGURATION FILE" The configuration options will be read from the file \f(CW\*(C`~/.s3\-tools\*(C'\fR if it exists. The format is the same as the command line options with one option per line. For example, the file could contain: .PP .Vb 3 \& \-\-access\-key \& \-\-secret\-key \& \-\-secure .Ve .PP This example configuration file would specify the \s-1AWS\s0 access keys and that a secure connection using \s-1HTTPS\s0 should be used for all communications. .SH "DESCRIPTION" .IX Header "DESCRIPTION" Lists the buckets owned by the user, or all the item keys in a given bucket, or attributes associated with a given item. .PP If no buckets or bucket/itemkey is specified on the command line, all the buckets owned by the user are listed. .PP If the \f(CW\*(C`\-\-long\*(C'\fR option is specified, the creation date of each bucket is also output. .PP If a bucket name is specified on the command line, all the item keys in that bucket are listed. .PP If the \f(CW\*(C`\-\-long\*(C'\fR option is specified, the \s-1ID\s0 and display string of the item owner, the creation date, the \s-1MD5\s0, and the size of the item are also output. .PP If a bucket name and an item key, seperated by a slash character, is specified on the command line, then the bucket name and the item key are output. This is useful to check that the item actually exists. .PP If the \f(CW\*(C`\-\-long\*(C'\fR option is specified, all the \s-1HTTP\s0 attributes of the item are also output. This will include Content-Length, Content-Type, ETag (which is the \s-1MD5\s0 of the item contents), and Last-Modifed. .PP It may also include the \s-1HTTP\s0 attributes Content-Language, Expires, Cache-Control, Content-Disposition, and Content-Encoding. .PP It will also include any x\-amz\- metadata headers. .SH "BUGS" .IX Header "BUGS" Report bugs to Mark Atwood mark@fallenpegasus.com. .PP Occasionally the S3 service will randomly fail for no externally apparent reason. When that happens, this tool should retry, with a delay and a backoff. .PP Access to the S3 service can be authenticated with a X.509 certificate, instead of via the \*(L"\s-1AWS\s0 Access Key Identifiers\*(R". This tool should support that. .PP It might be useful to be able to specify the \*(L"\s-1AWS\s0 Access Key Identifiers\*(R" in the user's \f(CW\*(C`~/.netrc\*(C'\fR file. This tool should support that. .PP Errors and warnings are very \*(L"Perl-ish\*(R", and can be confusing. .PP Trying to access a bucket or item that does not exist or is not accessable by the user generates less than helpful error messages. .PP This tool does not efficiently handle listing huge buckets, as it downloads and parses the entire bucket listing, before it outputs anything. .PP This tool does not take advantage of the prefix, delimiter, and hierarchy features of the \s-1AWS\s0 S3 key listing \s-1API\s0. .SH "AUTHOR" .IX Header "AUTHOR" Written by Mark Atwood mark@fallenpegasus.com. .PP Many thanks to Wotan \s-1LLC\s0 , for supporting the development of these S3 tools. .PP Many thanks to the Amazon \s-1AWS\s0 engineers for developing S3. .SH "SEE ALSO" .IX Header "SEE ALSO" These tools use the Net::Amazon:S3 Perl module. .PP The Amazon Simple Storage Service (S3) is documented at .