# CLI заавар

Fibo CLI нь Fibo Storage-тэй холбогдож ажиллахыг хялбарчилсан Command Line багаж хэрэгсэл юм. CLI аар дамжуулан доор командуудыг ажиллуулах боломжтой.

```bash
  alias    set, remove and list aliases in configuration file
  ls       list buckets and objects
  cp       copy objects
  mirror   synchronize object(s) to a remote site
  cat      display object contents
  share    generate URL for temporary access to an object
  find     search for objects
  sql      run sql queries on objects
  stat     show object metadata
  mv       move objects
  tree     list buckets and objects in a tree format
  du       summarize disk usage recursively
  rm       remove objects
  encrypt  manage bucket encryption config
  policy   manage anonymous access to buckets and objects
  tag      manage tags for bucket and object(s)
```

## Fibo CLI татах

| Operation system | Architecture | Link              |
| ---------------- | ------------ | ----------------- |
| Windows          | 64-bit       |                   |
| Ubuntu           | 64-bit       | shorturl.at/eBGY1 |

Дээрх линкнүүдээс таарах нэгийг нь татаад ажиллуулна уу.&#x20;

Хэрвээ та Ubuntu доорх командыг татаж авсан фолдэр оосоо ажиллуулна уу.

```bash
chmod +x fcli
./fcli --help
```

## CLI командууд&#x20;

### Alias команд

Alias командаар та өөрийн ашиглах api бэлдэнэ. Fibo Storage нь хоёр endpoint гаргаж өгдөг.

* Hot Storage: <https://hot-storage.ics.itools.mn/>
* Cold Storage: <https://cold-storage.ics.itools.mn/>

Хэрэглээ:

```bash
fcli alias set <ALIAS_NAME> <FIBO-S3-ENDPOINT> [YOUR-ACCESS-KEY] [YOUR-SECRET-KEY] --api "s3v5" --path "on"
```

Түлхүүрүүд нь заавал parameter-ээр эсвэл шууд команд дунд орсон байх шаардлагатай. Alias нь энгийнээр бол таны нөөц лүгээ хандах хураангуй нэр юм.

ЖН:

```bash
fcli alias set fibo_hot https://hot-storage.fibo.cloud BKIKJAA5BMMU2RHO6IBB V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12 --api "s3v4" --path "on"
```

### Ls команд

Ls команд аар локал фолдероо болон Cloud дээр байрлах бакетын дотоод файлуудыг жагсааж харах боломжтой.

```
USAGE:
   fcli ls [FLAGS] TARGET [TARGET ...]

FLAGS:
  --recursive, -r               list recursively
  --incomplete, -I              list incomplete uploads
  --help, -h                    show help
```

ЖН:

```
fcli ls fibo_hot/demo_bucket
[2020-11-05 09:29:42 +08] 1.0GiB large.img
[2020-10-26 14:21:15 +08]  22KiB logo.png
[2020-11-10 16:46:08 +08]     0B videoplayback.mp4
```

### Cp команд

Cp командаар локал дээр байгаа файлуудыг бакетруу хуулах боломжтой.

```
USAGE:
   fcli cp [FLAGS] SOURCE [SOURCE...] TARGET

FLAGS:
  --recursive, -r                    copy recursively
  --older-than value                 copy object(s) older than N days (default: 0)
  --newer-than value                 copy object(s) newer than N days (default: 0)
  --preserve,-a                      preserve file system attributes and bucket policy rules on target bucket(s)
  --attr                             add custom metadata for the object (format: KeyName1=string;KeyName2=string)
  --continue, -c                     create or resume copy session
  --encrypt value                    encrypt/decrypt objects (using server-side encryption with server managed keys)
  --encrypt-key value                encrypt/decrypt objects (using server-side encryption with customer provided keys)
  --help, -h                         show help

ENVIRONMENT VARIABLES:
   FC_ENCRYPT:      list of comma delimited prefixes
   FC_ENCRYPT_KEY:  list of comma delimited prefix=secret values
```

ЖН:

```
fcli cp myobject.txt fibo_hot/demo_bucket
myobject.txt:    14 B / 14 B  ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓  100.00 % 41 B/s 0
```

### Mirror команд

Mirror командаар синхрон байдлаар локал дээр байрлах фолдерыг Cloud дээрх бакетруу хуулах боломжтой.

```
USAGE:
   fcli mirror [FLAGS] SOURCE TARGET

FLAGS:
  --overwrite                        overwrite object(s) on target
  --fake                             perform a fake mirror operation
  --watch, -w                        watch and synchronize changes
  --remove                           remove extraneous object(s) on target
  --region value                     specify region when creating new bucket(s) on target (default: "us-east-1")
  --preserve, -a                     preserve file system attributes and bucket policy rules on target bucket(s)
  --exclude value                    exclude object(s) that match specified object name pattern
  --older-than value                 filter object(s) older than N days (default: 0)
  --newer-than value                 filter object(s) newer than N days (default: 0)
  --encrypt value                    encrypt/decrypt objects (using server-side encryption with server managed keys)
  --encrypt-key value                encrypt/decrypt objects (using server-side encryption with customer provided keys)
  --help, -h                         show help

ENVIRONMENT VARIABLES:
   FC_ENCRYPT:      list of comma delimited prefixes
   FC_ENCRYPT_KEY:  list of comma delimited prefix=secret values
```

ЖН:

```
fcli mirror localdir/ fibo_hot/demo
localdir/b.txt:  40 B / 40 B  ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃  100.00 % 73 B/s 0
```

### Cat команд

Cat командаар Cloud дээрх объектын контентыг харуулахад ашигладаг.

```
USAGE:
   fcli cat [FLAGS] SOURCE [SOURCE...]

FLAGS:
  --rewind value                   display an earlier object version
  --version-id value, --vid value  display a specific version of an object
  --encrypt-key value              encrypt/decrypt objects (using server-side encryption with customer provided keys)
  --help, -h                       show help

ENVIRONMENT VARIABLES:
   FC_ENCRYPT_KEY:  list of comma delimited prefix=secret values
```

ЖН:

```
fcli cat fibo_hot/demo_bucket/myobject.txt
Hello Fibo.cloud
```

### Share команд

Share команд даар бакетдах объектуудыг татах болон хуулах үйлдлийг бусдад хуваалцах боломжтой.

```
USAGE:
   fcli share [FLAGS] COMMAND

FLAGS:
  --help, -h                       show help

COMMANDS:
   download   generate URLs for download access
   upload     generate ‘curl’ command to upload objects without requiring access/secret keys
   list       list previously shared objects and folders
```

#### Дэд команд downlaod

share download команд нь түр ашиглах боломжтой URL үүсгэж өгдөг.

```
USAGE:
   fcli share download [FLAGS] TARGET [TARGET...]

FLAGS:
  --recursive, -r               share all objects recursively
  --expire value, -E value      set expiry in NN[h|m|s] (default: "168h")
  --help, -h                    show help
```

ЖН:

```
fcli share download --expire 4h fibo_hot/demo_bucket/myobject.txt
URL: https://hot-storage.fibo.cloud/demo_bucket/myobject.txt
Expire: 0 days 4 hours 0 minutes 0 seconds
Share: https://hot-storage.fibo.cloud/demo_bucket/myobject.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=Q3AM3UQ867SPQQA43P2F%2F20160408%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20160408T182008Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=1527fc8f21a3a7e39ce3c456907a10b389125047adc552bcd86630b9d459b634
```

#### Дэд команд upload

share upload нь тухайн зааж өгсөн объект дээр файл хуулах боломж үүсгэдэг.

```
USAGE:
   fcli share upload [FLAGS] TARGET [TARGET...]

FLAGS:
  --recursive, -r                 recursively upload any object matching the prefix
  --expire value, -E value        set expiry in NN[h|m|s] (default: "168h")
  --content-type value, -T value  specify a content-type to allow
  --help, -h                      show help
```

ЖН:

```
fcli share upload fibo_hot/demo_bucket/myotherobject.txt
URL: https://hot-storage.fibo.cloud/demo_bucket/myotherobject.txt
Expire: 7 days 0 hours 0 minutes 0 seconds
Share: curl https://hot-storage.fibo.cloud/demo_bucket/myotherobject.txt -F x-amz-date=20160408T182356Z -F x-amz-signature=de343934bd0ba38bda0903813b5738f23dde67b4065ea2ec2e4e52f6389e51e1 -F bucket=demo_bucket -F policy=eyJleHBpcmF0aW9uIjoiMjAxNi0wNC0xNVQxODoyMzo1NS4wMDdaIiwiY29uZGl0aW9ucyI6W1siZXEiLCIkYnVja2V0IiwibXlidWNrZXQiXSxbImVxIiwiJGtleSIsIm15b3RoZXJvYmplY3QudHh0Il0sWyJlcSIsIiR4LWFtei1kYXRlIiwiMjAxNjA0MDhUMTgyMzU2WiJdLFsiZXEiLCIkeC1hbXotYWxnb3JpdGhtIiwiQVdTNC1ITUFDLVNIQTI1NiJdLFsiZXEiLCIkeC1hbXotY3JlZGVudGlhbCIsIlEzQU0zVVE4NjdTUFFRQTQzUDJGLzIwMTYwNDA4L3VzLWVhc3QtMS9zMy9hd3M0X3JlcXVlc3QiXV19 -F x-amz-algorithm=AWS4-HMAC-SHA256 -F x-amz-credential=Q3AM3UQ867SPQQA43P2F/20160408/us-east-1/s3/aws4_request -F key=myotherobject.txt -F file=@<FILE>
```

### Find команд

Find команд аар өөрийн бакетын дотроос объектыг хялбар олох боломжтой.

```
USAGE:
  fcli find PATH [FLAGS]

FLAGS:
  --exec value                  spawn an external process for each matching object (see FORMAT)
  --ignore value                exclude objects matching the wildcard pattern
  --name value                  find object names matching wildcard pattern
  --newer value                 match all objects newer than specified time L days, M hours and N minutes
  --older value                 match all objects older than specified time L days, M hours and N minutes
  --path value                  match directory names matching wildcard pattern
  --print value                 print in custom format to STDOUT (see FORMAT)
  --regex value                 match directory and object name with PCRE regex pattern
  --larger value                match all objects larger than specified size in units (see UNITS)
  --smaller value               match all objects smaller than specified size in units (see UNITS)
  --maxdepth value              limit directory navigation to specified depth (default: 0)
  ...
  ...
  --help, -h                    show help
```

ЖН: зурган өгөгдлүүдийг тухайн бакетаас олъё

```
fcli find your_alias/bucket_name --name "*.jpg"
```

### Sql команд

SQL командаар өөрийн бакет болон объектууд дээрээ SQL query хийх боломжтой.

```
USAGE:
  fcli sql [FLAGS] TARGET [TARGET...]

FLAGS:
  --query value, -e value       sql query expression
  --recursive, -r               sql query recursively
  --csv-input value             csv input serialization option
  --json-input value            json input serialization option
  --compression value           input compression type
  --csv-output value            csv output serialization option
  --json-output value           json output serialization option
  --encrypt-key value           encrypt/decrypt objects (using server-side encryption with customer provided keys)
  --help, -h                    show help
```

ЖН: fibo\_hot дээр байрлах iot-devices бакетдах csv файл дээр query хийе.

```
fcli sql --query "select count(s.power) from S3Object" fibo_hot/iot-devices/power-ratio.csv
```

### Stat команд

Stat команд аар тухайн нэр объект юм уу бакетын мэдээллийг авна.

```
USAGE:
   fcli stat [FLAGS] TARGET

FLAGS:
  --recursive, -r               stat all objects recursively
  --encrypt-key value           encrypt/decrypt objects (using server-side encryption with customer provided keys)
  --help, -h                    show help

ENVIRONMENT VARIABLES:
   FC_ENCRYPT_KEY:  list of comma delimited prefix=secret values
```

ЖН: fibo-public бакетын мэдээллийг авъя.

```
$ fcli stat fibo_hot/fibo-public
Name      : fibo-public/
Size      : 0 B    
Type      : folder 
Metadata  :
  Versioning: Un-versioned
  Location: us-east-1
  Policy: custom
```

### Mv команд

Mv командаар объектыг нэг сурвалжаас нөгөө сурвалжаас хөдөлгөх боломжтой.

```
USAGE:
   fcli mv [FLAGS] SOURCE [SOURCE...] TARGET

FLAGS:
  --recursive, -r                    move recursively
  --older-than value                 move object(s) older than N days (default: 0)
  --newer-than value                 move object(s) newer than N days (default: 0)
  --storage-class value, --sc value  set storage class for new object(s) on target
  --preserve,-a                      preserve file system attributes and bucket policy rules on target bucket(s)
  --attr                             add custom metadata for the object (format: KeyName1=string;KeyName2=string)
  --continue, -c                     create or resume move session
  --encrypt value                    encrypt/decrypt objects (using server-side encryption with server managed keys)
  --encrypt-key value                encrypt/decrypt objects (using server-side encryption with customer provided keys)
  --help, -h                         show help

ENVIRONMENT VARIABLES:
   FC_ENCRYPT:      list of comma delimited prefixes
   FC_ENCRYPT_KEY:  list of comma delimited prefix=secret values
```

ЖН: Cloud дээр байрлах нэг бакетаас нөгөө рүү нь объектыг хөдөлгөе

```
fcli mv fibo_hot/fibo-public/test.json fibo_hot/tmp_bucket
...test.json:  305 B / 305 B ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 230 B/s 1s
```

### Tree команд

Tree команд нь фолдер эсвэл бакетыг мод хэлбэрээр харуулна.

```
USAGE:
   fcli tree [FLAGS] TARGET [TARGET ...]

FLAGS:
  --help, -h                    show help
  --files, -f                   include files in tree
  --depth, -d                   set the maximum depth of the tree
```

ЖН:

```
fcli tree play/test-bucket
play/test-bucket/
├─ dir_a
├─ dir_b
│  └─ dir_bb
└─ dir_x
   └─ dir_xx
```

### Rm команд

Rm командаар дамжуулан бакет дотроос объект устгах боломжтой.

```
USAGE:
   fcli rm [FLAGS] TARGET [TARGET ...]

FLAGS:
  --versions                       remove object(s) and all its versions
  --rewind value                   roll back object(s) to current versions at specified time
  --version-id value, --vid value  delete a specific version of an object
  --recursive, -r                  remove recursively
  --force                          allow a recursive remove operation
  --dangerous                      allow site-wide removal of objects
  --incomplete, -I                 remove incomplete uploads
  --fake                           perform a fake remove operation
  --stdin                          read object names from STDIN
  --older-than value               remove objects older than L days, M hours and N minutes
  --newer-than value               remove objects newer than L days, M hours and N minutes
  --bypass                         bypass governance
  --encrypt-key value              encrypt/decrypt objects (using server-side encryption with customer provided keys)
  --help, -h                       show help

ENVIRONMENT VARIABLES:
   FC_ENCRYPT_KEY:  list of comma delimited prefix=secret values
```

ЖН: Нэг объектыг устгах

```
fcli rm fibo_hot/mybucket/myobject.txt
Removing `fibo_hot/mybucket/myobject.txt`
```

ЖН: Нэг фолдер буюу Prefix ээс устгах

```
fcli rm --recursive --force fibo/mybucket/folder
```

### Policy команд

Policy командаар тухайн бакетруу эрхгүй хэрэглэгчид хэрхэн хандахыг зохицуулдаг.

```
USAGE:
  fcli policy [FLAGS] set PERMISSION TARGET
  fcli policy [FLAGS] set-json FILE TARGET
  fcli policy [FLAGS] get TARGET
  fcli policy [FLAGS] get-json TARGET
  fcli policy [FLAGS] list TARGET

PERMISSION:
  Allowed policies are: [none, download, upload, public].

FILE:
  A valid S3 policy JSON filepath.
```

ЖН: нэг бакетийг нийтээрээ унших боломжтой болгох.

```
fcli policy set download fibo_hot/mybucket
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs-storage.fibo.cloud/ashiglazh-ekhlekh/cli-zaavar.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
