Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Managing Your Alibaba Cloud Linux Server From the CLI

DZone 's Guide to

Managing Your Alibaba Cloud Linux Server From the CLI

Take a look at how you can use the CLI to manage your Linux server with this list of the most commonly used Linux commands.

· Cloud Zone ·
Free Resource

Alibaba Cloud offers flexible Elastic Compute Service (ECS) products for running powerful Virtual Private Servers (VPS). With their simple and transparent pricing starting from $4.50/month, you can set up a remote server to cater for all your cloud hosting needs.

You can deploy an Alibaba Cloud ECS instance in a few minutes right from their friendly console and scale resources up or down depending on your cloud computing needs.

Alibaba Cloud infrastructure runs with the latest Intel CPU's, fast RAM, accelerated SSD, and unrivaled security bundled with intelligent DDoS protection. You can choose from their wide-range of operating System images for accelerated application deployment.

Since most of the world's powerful servers run on Linux, we will focus on managing your Alibaba Cloud Linux ECS instance from the Command Line Interface (CLI). This guide works for all Linux distributions and covers most commands for managing your Alibaba Cloud VPS instance.

Prerequisites

  • A valid Alibaba Cloud account. If you don't have one, try Alibaba Cloud today and get $300 in a free trial.
  • An ECS instance running any Linux distribution (e.g. Ubuntu, Centos, Debian)
  • An SSH username and password for the ECS instance.
  • For the sake of simplicity, we will be using a hypothetical user "james."

1: Linux whoami Command

To start exploring your Alibaba Cloud ECS VPS, you need to SSH to your server. You will need a command line tool like PuTTY (Windows) or terminal window in Linux or Mac. Also, get the public IP address, username, and password associated with your ECS instance.

The first command that you need to know about is whoami . This command lists the username of the currently logged in user in a SSH session.

$ whoami


Output:

james


You can also issue the id –un command to get the same output.

2: Linux pwd Command

The Linux pwd  (Print Working Directory) command displays the full path name of the working directory. Please note in Linux, commands and filenames are case sensitive.

Therefore, use the correct case, otherwise you will get an error.

$ pwd


Output:

 /home/james


3: Linux cd Command

In Linux, the cd   command stands for Change Directory. It is one of the most useful commands because it allows users to move around or change focus from one directory to another.

For instance, if the home directory for user "james" contains a test directory, you can navigate to it using the command below:

$ cd test


Output:

$ james@server1:~/test$


If you want to move back one level, type two dots after the cd   command as shown below:

$ cd ..


Output:

$ james@server1:~$


To move to the root of your Linux server, type cd   followed by a space and a forward slash:

$ cd /


Output:

james@server1:/$


4: Linux ls Command

The  ls  command is used to list directory contents. The list includes all files, folders and symbolic links within the directory:

$ ls


Output:

$mail  test


To display more information about the directory content, use the -l option as shown below:

$ ls –l


Output:

drwx------ 3 james james 4096 Jul  1 11:49 mail
drwxrwxr-x 2 james james 4096 Jul 16 08:23 test


5: Linux mkdir Command

The  mkdir  command is used for creating directories on a Linux machine. Creating folders is a common task in Linux administration.

To create a directory named "demo," use the command below:

$ mkdir demo


If we issue the  ls -l  command one more time, the demo directory should be listed on our home folder:

$ ls –l


Output:

drwxrwxr-x 2 james james 4096 Jul 16 09:07 demo
drwx------ 3 james james 4096 Jul  1 11:49 mail
drwxrwxr-x 2 james james 4096 Jul 16 08:23 test


6: Linux touch Command

Just like the way we created a directory, we can create a file using the touch   command. For instance, to create a file named "text1.txt," the syntax should be as follows:

$ touch text1.txt


You always use run the  ls -l  command to confirm the presence of newly created files:

$ ls -l


Output

drwxrwxr-x 2 james james 4096 Jul 16 09:07 demo
drwx------ 3 james james 4096 Jul  1 11:49 mail
drwxrwxr-x 2 james james 4096 Jul 16 08:23 test
-rw-rw-r-- 1 james james    0 Jul 16 09:08 text1.txt


7: Linux rmdir Command

You can remove an empty directory in Linux by issuing a rmdir  command. For instance, to remove the "demo" folder that we created above, the command should be as follows:

$ rmdir demo


Please note: You cannot delete a directory if it is not empty using the  rmdir  command. You have to use the  rm -r  command as discussed below:

8: Linux rm Command

The rm  command is used to remove objects including files, directories and symbolic links in Linux.

To remove the file you created above named "text1.txt," use the command below:

$ rm text1.txt


To remove a directory together with its contents, issue the command below:

$ rm -r 


For instance, to remove the non-empty "demo" folder, the command should be as follows:

$ rm -r demo


9: Linux cp Command

Sometimes, you may need to copy a file or a bunch of files in Linux. This can be done using the  cp  command. The basic syntax is shown below:

$ cp 


For instance, let's create a file named demo1.txt and try to copy it.

$ touch demo1.txt


Once the file is created we can copy it over to "demo2.txt" using the syntax below:

$ cp demo1.txt demo2.txt


We can confirm the presence of the two files using the ls  command:

$ ls –l


Output:

...
-rw-rw-r-- 1 james james    0 Jul 16 09:10 demo1.txt
-rw-rw-r-- 1 james james    0 Jul 16 09:11 demo2.txt
...


You can also copy multiple files. First create a directory named "demos":

$ mkdir demos


You can them move "demo1.txt" and "demo2.txt" file using the syntax below:

$ cp *.txt demos/


The above syntax will copy all files that end with a ".txt" extension

To confirm if the copying was successful, you need to cd  to the demos directory and issue the  ls -l  command to list the directory contents:

$ cd demos
$ ls -l 


Output:

-rw-rw-r-- 1 james james 0 Jul 16 09:13 demo1.txt
-rw-rw-r-- 1 james james 0 Jul 16 09:13 demo2.txt


Remember to go back to the working directory and navigate out of the demo directory by typing:

$ cd ..


10: Linux mv Command

Linux mv  command is used to move files and directories from one location to another. If you try to move the file to the same directory, the file will be renamed instead.

For instance, if you have a file named demo3.txt and you issue the command to move it to demo4.txt, the file will be renamed.

The mv  command has the below syntax:

$ mv 


Example:

$ mv demo3.txt demo4.txt


11: Linux man Command

This command displays the user manual page and shows more information about using a command. For instance, if you issue the man  command together with an mv  command, you will get the following output:

$ man mv


Output:

MV(1)                                                 User Commands                                                 MV(1)
NAME
       mv - move (rename) files
SYNOPSIS
       mv [OPTION]... [-T] SOURCE DEST
       mv [OPTION]... SOURCE... DIRECTORY
       mv [OPTION]... -t DIRECTORY SOURCE...
DESCRIPTION
       Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.
       Mandatory arguments to long options are mandatory for short options too.


12: Linux echo Command

You can use the Linux echo  command to display text on your terminal window or redirect the output to a file.

$ echo sample text


Output:

sample text


If you want to redirect the output to a file name text1.txt, use the syntax below:

$ echo sample text > text1.txt


Please note the file will be created if it's not there.

Also to append more text to an existing file, use to greater than symbol as shown below:

$ echo additional sample text >> text1.txt


You can also print all the contents of a directory using the echo command to supplement the ls  command as shown below

$ echo *


13: Linux cat Command

The cat command reads files and displays the content on a standard output. You can also concatenate information from multiple files and display the combined output on the screen.

For instance, to view the content of the text1.txt file that we created above, we can use the command below:

$ cat text1.txt


Output:

sample text
additional sample text


To concatenate the text of two files, use the syntax below:

$ cat text1.txt text2.txt


14: Linux more Command

The more command displays the content of a file one screen at a time. This is a very powerful command for displaying contents of files with large output that cannot fit on the screen.

To view the content of a file named text1.txt, use the command below:

$ more text1.txt


Output:

sample text
additional sample text


15: Linux grep Command

You can use the grep  command to search text on a file name:


The general syntax is:

$ grep 'keyword' 


For example, let's search for the word "sample" in a file named "text1.txt":

$ grep sample text1.txt


Output:

sample text
additional sample text


As you can see above, our search keyword was found on the file and is highlighted in red.

16: Linux history Command

To see a list of commands that have been executed by the current logged in user, use the history  command.

$ history


Sample Output:

1    ls -a
2    rm *.txt
3    rm -r demos
4    rm test
5    ls -a
6    ls
7    ls -p
...


The list has line numbers. You can use the syntax below to repeat a command from the history:

$ ! [command number]


For instance to run command number 5,  ls -a , we can use the command below:

$ !5


17: Linux chown Command

This is an administrative command used to change the ownership of Linux files.

Syntax:

$ chown .


For instance, if you have a directory named demo10 but you want it to be owned by a different user named "joseph", use the syntax below:

First create the directory:

$ mkdir demo10


Then, change ownership:

$ sudo chown joseph.joseph demo10


If you run the command  ls -l  you will see the directory is now owned by the user "joseph"

...
drwxrwxr-x 2 joseph  joseph  4096 Jul 16 10:08 demo10
...


Please note you must have the correct privilege to change the ownership of a file:

18: Linux chmod Command

You can change the permissions of a file by issuing a chmod  command:

General syntax:

$ chmod options 


For instance, to issue full permissions for all users to the demo10 directory, we can use the command below:

$ chmod 777 demo10


Please note you must be the owner of the file/directory to make changes permissions, otherwise, run the command using sudo.

19: Linux free Command:

To see the total available and used RAM as well as swap space, use the free  command.

$ free –h


Output:

              total        used        free      shared  buff/cache   available
Mem:           985M        302M         72M        2.3M        610M        496M
Swap:            0B          0B          0B


This command is useful when troubleshooting memory related issue on your Alibaba Cloud ECS VPS.

20: Linux df Command

Use the df  command to list the total amount of available disk space. If you are running out of space or probably want to scale up, you can monitor the disk usage using this command.

$ df –f


Sample Output:

Filesystem      Size  Used Avail Use% Mounted on
udev            464M     0  464M   0% /dev
tmpfs            99M  640K   98M   1% /run
/dev/vda1        25G  3.4G   20G  15% /
tmpfs           493M     0  493M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           493M     0  493M   0% /sys/fs/cgroup
tmpfs            99M     0   99M   0% /run/user/1000


From the above report, the available disc space is 20 gigabytes.

21: Linux date Command

You can view and manipulate date and time in a Linux server using the date  command. To view the current system date, use the command below:

$ date


Output:

Mon Jul 16 10:26:39 EAT 2018


To set your server date and time manually, use the command below:

$ date --set="YYYYMMDD HH:MM"


Example:

$ sudo date --set="20180716 10:30"


22: Linux sudo Command

In Linux sudo  is an acronym for "super user do". This command is useful when running commands that need elevated privileges (e.g. changing date), especially when installing programs or changing configuration files.

$ sudo [command]


23: Linux reboot Command

Apart from the flexibility of installing custom applications, an Alibaba Cloud ECS VPS allows you to reboot your system especially if you want to apply new changes to the system. To do this, use the command below:

$ sudo reboot


Conclusion

Those are the basics commands that are very helpful when managing your Alibaba Cloud ECS instance running a Linux distribution. We have covered major commands which will be very useful in administering your server.

You can also dig deeper and learn more commands related to the Linux distribution on the Alibaba Cloud Getting Started guides. As always, you can test Alibaba Cloud service by creating an account. Sign up now to try out Alibaba Cloud products and enjoy $300 worth in Free Trial.

Topics:
alibaba cloud ,linux ,cli ,ecs ,command list ,cloud ,virtual server

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}