# CLI what is that really?

**URL:** <https://community.cloudbank.org/t/cli-what-is-that-really/92>\
**Category:** General Cloud\
**Created:** [June 30, 2021, 10:59pm UTC](https://community.cloudbank.org/t/cli-what-is-that-really/92 "2021-06-30T22:59:52Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![rob](https://sea2.discourse-cdn.com/flex016/user_avatar/community.cloudbank.org/rob/32/5_2.png) [@rob](https://community.cloudbank.org/u/rob)\
**Post date:** [June 30, 2021, 10:59pm UTC](https://community.cloudbank.org/t/cli-what-is-that-really/92/1 "2021-06-30T22:59:52Z")

</div>

I keep reading about the “cloud CLI”; which expands to “cloud command line interface”; but what is that in plain language?

---

<div class="post-metadata">

**Author:** ![rob](https://sea2.discourse-cdn.com/flex016/user_avatar/community.cloudbank.org/rob/32/5_2.png) [@rob](https://community.cloudbank.org/u/rob)\
**Post date:** [June 30, 2021, 11:14pm UTC](https://community.cloudbank.org/t/cli-what-is-that-really/92/2 "2021-06-30T23:14:09Z")

</div>

The command line in Linux is synonymous in my mind with a _shell_ such as the **bash** shell. (These remarks apply as well to other operating systems; I’m using Linux as an example here.)

As an operating system, Linux has enormous flexibility: One can install new programs that – when invoked by name – simply run; and this in a sense **expands** the operating system. So suppose we install the command line interface (_cli_) for one of the major clouds. We do this as a preparatory step towards ‘building things on that cloud’. For AWS the cli we install is `aws`. On the Google cloud the command is `gcloud`. On Azure it is `az`.

Each cloud cli is invoked with additional arguments that follow its invocation… on the command line. These arguments specify what it is you want to do on that cloud. You can use a cloud cli to establish a storage space, start a virtual machine, engage with some other cloud service, or in the opposite direction: Discontinue using a service. And while it is all well and good to use the cli to tell the cloud what to do, we need some authentication baked in to verify that we are permitted to do that.

To this end we can think of using a cli as a three step process…

1. install the appropriate cli on your computer
2. configure your credentials using that cli so you are authorized to do stuff
3. do stuff, first by invoking the cli and following that with the details

Finally I will mention that we can accomplish these same cloud tasks by going through the cloud _console / portal_ via a web browser. And we can also accomplish them programmatically using a supported language like Python. Which approach is a matter of preference; but it is often fastest  
to use either the **cloud cli** or the cloud programmatic interface. The latter is sometimes called the cloud API, but that is another topic.
