What is linux command line interface

The Linux Command Line: What It Is And How to Use It

Use the Linux command line like a pro

The Linux command line is a text-based system that passes commands to the computer and returns results to the user. In the late 1990s, it was next to impossible to use Linux without relying on the command line. Since then, things have changed considerably—now, you can use the Linux desktop without ever having to type a single command.

Although that evolution is helpful in bringing new users into the open-source fold, it avoids one inescapable truth: The command line offers a significant amount of power and flexibility to the operating system. This is true for Linux, Windows, and macOS. And even though some commands are incredibly complex, most are not.

Let’s find out what the Linux command line is and how you can make use of it.

What Is the CLI?

CLI stands for command-line interface. It’s the tool you use to run commands. It’s comprised of two distinct components:

  • Shell: The shell is an interpreter that can transform what you type into something usable by the operating system. Linux supports several different shells, the most common being bash (which stands for Bourne Again Shell). Without the shell, what you type at the command prompt would not be usable by the operating system.
  • Terminal emulator: This small window emulates a Linux terminal. Most often Linux servers do not include a desktop, so when you log into such a machine, you are greeted with a terminal that includes a shell prompt and not much more. On a system with a desktop, that terminal has to be emulated. Apps like GNOME Terminal, Konsole, and LXTerminal offer this functionality.

Why Use the CLI?

If you’re using Linux on the desktop, the chances of you needing to use the CLI are not nearly as great as they’d be if you were working on a server. If you’re working on a Linux server, you generally only use a shell prompt to interact with the operating system.

However, making use of the CLI is an efficient means of handling many tasks. On top of it making your life more efficient, it also brings a level of flexibility to the desktop you won’t find in the GUI tools. Although you’ll find a GUI tool for every task you run on Linux, some of those graphical interfaces don’t cover the entirety of what the CLI option offers. For example, most Linux desktops use pulseaudio for sound.

One thing you cannot do, however, is restart the pulseaudio daemon from the GUI. In some instances (such as when using the Audacity sound recording tool), pulseaudio must be restarted. Instead of rebooting the computer, you could open a terminal emulator and issue the command:

That’s not something you can do from the desktop settings tool.

How to Run Commands

Most commands in Linux are global, which means you can run any command you want (so long as you have permission to do so) from anywhere you want. So if you need to list the contents of a directory, open a terminal emulator and issue the command:

/docs folder, use the rm command. However, you couldn’t just run the command:

Источник

Linux Operating System | CLI (Command Line Interface) and GUI (Graphic User Interface)

Linux actually means the kernel of the system, which is the sole controller of whatever happens on the computer system. When we talk or say that x “runs Linux” we usually refer to the system kernel and set of the tools that are used with it. Each of the present components will be checked so that we understand exactly what functions each does.

The Linux based kernel can run a wide variety of software across many different hardware-based platforms. A computer can act as a server, which means it primarily handles data on other’s behalf or can act like a desktop, which means a user will be interacting with it directly. The system can run software or it can be used as a development PC in the process of creating any software. Linux can perform multiple roles as there is no special allocation to Linux about the role of the system; it’s only a matter of configuring the present applications and how do they execute.

Читайте также:  Удалить ненужные приложения windows 10 через powershell

Command Line Interface (CLI):
The Command Line Interface (CLI), is a non-graphical, text-based interface to the computer system, where the user types in a command and the computer then successfully executes it. The Terminal is the platform or the IDE that provides the command line interface (CLI) environment to the user.

The CLI terminal accepts the commands that the user types and passes to a shell. The shell then receives and interprets what the user has typed into the instructions that can be executed by the OS (Operating System). If the output is produced by the specific command, then this text is displayed in the terminal. If any of the problems with the commands are found, then some error message is displayed.

Graphical and the non-Graphic Interface:
Linux has two approaches: graphically and non-graphically. In graphical mode, The actual applications live in windows that we can resize and move around according to our needs. we have the menu and tools to help us find what we’re looking for. This is the point where we’ll use a required web browser, our graphics editing tools, and our emails. Here we can see some example of the graphical desktop, with a menu bar of popular applications to the left.

In Graphical Mode (GUI), we can have many shells open, it is a good thing when we are performing some tasks on multiple/remote computers. We can even log in with our username/id and password/keys through the GUI.

After successfully logging in, we are taken to the OS desktop where we can use the installed applications.

Non-graphical mode actually starts off with a text-based login, As shown below. We are generally prompted for our username/ID and after entering that, we are then prompted for our password. If the login is successful, then we are taken straight to an execution shell.

In command line interface or the CLI, there are none of the windows present to move around. Even though we have specific text editors, dedicated web browsers, and email clients, they are basically just texts. This is how UNIX got its start before the graphical environments became the norm. Most servers will be running in command line mode (CLI) too because a GUI is a waste of resources and dataspace. For example:

Источник

Ubuntu Documentation

Introduction

Even though Ubuntu is a newbie friendly and polished graphical distribution, there are still situations where a significant amount of time and mouse-clicking can be spared by typing a bit. I don’t think this is a bad thing at all; no matter what you do, Linux has one of its real strengths in the Command Line!

Prerequisites

This assumes that you are running any version of Ubuntu Linux and have a desire to learn its inner workings. We will proceed by briefly describing the command line interface and giving some history.

The impatient can move right on to the Command Syntax section.

What is it?

A Command Line is, in all simplicity, a user interface based on lines of commands. You can say that it is a textual direct serial processor. Most commonly, the user interacts directly with the computer by typing one line (although it can be more than one), which triggers actions from the computer based on the syntax of the current processor.

History

In the early days of computers, there was only the Command Line. The concept of a Graphical User Interface (GUI) after which most GUI are modeled was developed by engineers at Xerox’s Palo Alto Research Center (PARC). A bit later, Apple paid a whole bunch of money to be allowed to «study» their GUI idea. And, after a while, Apple had their own GUI.

Not until 1986 did UNIX get its first GUI, developed by the MIT Project. They named it X. Linux, however, had to wait ten more years before XFree86 was released. XFree86 was (and remains) a free adaptation of the original X server.

As mentioned earlier, the CLI (Command Line Interface) was the only way to communicate with computers before the GUI was invented. In 1969, Bell Telephone Laboratories released V1 of the UNIX Timeshare System. UNIX had a shell called sh, which was the only means of communicating with the computer, and it would stay that way for quite some time.

Читайте также:  Windows mini для старого компьютера

Later on, there came derivatives of UNIX: HP-UX, 1BSD, Solaris, OpenVMS, IRIX, SCO XENIX, etc. As time progressed, GNU/Linux emerged. However, the history of Linux itself is way off the scope of this HOWTO. Suffice to say that alternative CLI to sh emerged: zsh, ksh, bourne shell, etc.

POSIX

The Wikipedia defines POSIX as the following:

  • POSIX is the collective name of a family of related standards specified by the IEEE to define the application program interface (API) for software designed to run on variants of the Unix OS. They are formally designated as IEEE 1003 and the international standard name is ISO/IEC 9945. The standards emerged from a project, begun circa 1985. The term POSIX was suggested by Richard Stallman in response to an IEEE request for a memorable name; before that the standards effort was called IEEE-IX. POSIX is a near acronym for Portable Operating System Interface, with the X signifying the Unix heritage of the API.

POSIX is the underlying standard and functionality of how your CLI responds.

Advantages of using the command line

So, CLI preceded GUI as a computer interface. Since GUIs are common now, why should we still care about CLI? Some advantages of using the command line are:

  • It can save you time.
  • It can help when you are unable to use the GUI, such as a system crash or a configuration issue.
  • It can enable you to use Linux in ways that using a GUI exclusively can not (such as scripting repetitive tasks).

For example, you have been called by the systems administrator that you have used too much space. You want to quickly work out where the most space is used, so using a graphical interface, start your timer — go. Now, go to a command line and type: du | sort -n (we will describe more later). See? It is faster to do some things on the command line (and other times, easier for graphical).

How to invoke it

Methods of launching a CLI can vary by desktop environment:

Unity (Ubuntu 14.04)

Dash -> Search for Terminal
Dash -> More Apps -> ‘See More Results’ -> Terminal
Dash -> More Apps -> Accessories -> Terminal

Gnome Desktop (Ubuntu GNOME)

Activities -> Search for Terminal

KDE Desktop (Kubuntu)

KDE Menu | Applications | System | Konsole Terminal Program

XFCE Desktop (Xubuntu)

Applications | System | Terminal

An alternative way to invoke the command line, only using keyboard shortcuts (since on the command line, you would mostly be interacting only through the keyboard) is:

On Unity (Ubuntu): Ctl + Alt + T
On GNOME (Ubuntu): Alt + F2 -> (
Type within the text box) gnome-terminal (Press return)
On KDE (Kubuntu): Alt + F2 -> (
Type within the text box) konsole (Press return)

Basic structure and concepts

The first thing that you should notice is something like:

What you see here is called the prompt. It signifies that the computer is ready and awaiting user input. In my case, dud is the user that I’m logged in as. shadowplay is the computer’s hostname, and

is the current directory (the user’s home directory).

Concepts:

  • A terminal is a «physical» (direct) interface to your Linux Operating System.
  • A terminal emulator is what we’ll be using here. This is a CLI wrapped within your running GUI. Any applications running in a terminal emulator will be killed if you close the terminal emulator.
  • A shell is an interpreter for commands entered into the terminal.
  • A command is usually a small utility that the shell will execute for you.
  • Output is what a command returns; most often this is returned on the terminal.
  • Input consists of the arguments or data that any given command will take. Input will change the way a given command acts.
  • A process is a running application on your computer. It can be active, sleeping, or in a number of other states.

Command Syntax

This section will try to give you a good rundown of the basic usage for the bash shell, which is the default user shell in Ubuntu.

Single Command

The command syntax will vary with each command. Here are some of the basics.

The simplest way to use some commands is to type just the command.

command

The above example displays the contents of the current working directory, while other commands may require one or more arguments.

The above example shows you the content of the file1.txt file by adding the filename as the argument for the cat command. Almost all commands, whether they have arguments or not, have options.

command -option

Using the previous example of showing the current directory, we have added the -r option. As you can see, the listing of the current working directory has been displayed in the reverse order.

It is also possible to pass more than one argument or option to the command, depending on whether the program accepts more or not. If you want to pass two arguments or options consecutively, then you would use the following syntax:

argument1 argument2

-option1 -option2

Multiple Commands

Sometimes the desired task may require the use of more than one command to be completed. Here is the syntax for the use of multiple commands.

If you want to execute two commands consecutively, then you would use the following syntax:

command1 ; command2

In the example above, command1 and command2 are executed. However, if you need command1 to complete successfully before executing command2, then you would use the following syntax:

command1 && command2

In the example above, you will notice nothing happened when the first command did not complete successfully. If you want command2 to execute only if command1 fails, then you would use the following syntax:

command1 || command2

In the example above, you will notice command2 was only executed when command1 failed.

Wildcards

Wildcards are a useful feature that allows an unknown value or values to be used with another command. This becomes very useful with commands such as «ls» allowing only a range of filenames to be displayed.

There are three operators used with wildcards — «*», «?» and «[x-y]».

Specifing a single character

The «?» is used to represent a single unknown character, consider we have a folder containing four files: file1.pdf, file2.pdf, file2.mp3 and file23.pdf. If wanted to know which PDF filenames contained numbers, then we could use:

Specifying multiple characters

Using the same files as the previous example, if we wanted to search for all files called «file2» of any type we could:

Specifying a range

If we wanted to know all PDF filenames beginning with «file» and a number between 2 and 23 then we use:

Control Flow

Commands read input from the keyboard (standard input, or stdin) and write to output (standard out, or stdout). There is also a special output category for error messages called standard error (or stderr). These three locations are created automatically for each program.

We can redirect input and output to and from a command.

Redirection

If you wanted the output of a command to go to a file instead of the terminal, then you would use the following syntax:

command > filename

The above example will create file4.txt if it is not found. NOTE: If file4.txt exists already, the above command will overwrite its contents. If you want to add to the end of a existing file, then you would use the following syntax:

command >> filename

In the example, you will notice the file was appended with the new information.

But bash takes it even further. You will have noticed that ls can produce error messages if a directory ls is suppose to list does not exist or the user lacks access rights. In bash, Error messages and the «regular results» (i.e. dir listing) are 2 separate streams. To ease use of results only find a detailed explanation of bash.

Now we are going to do a different redirection: We are going to take the input from a file for the command to be executed. Here is the syntax for this redirection:

As you can see from this example, we used the file4.txt as input into the sort command.

When you need the output from command 1 for the input into command 2, then you would use pipe character ‘|’. Here is the syntax for the pipe character:

command | command

The above example is using the output from ls as input to the sort command. You will notice the list has been sorted.

As you can see, the command line is an easy and powerful way of completing many tasks. If you want more information on using the command line, then look at the further reading section of this document.

Further reading

BasicCommands has a list of basic commands.

AdvancedCommandlineHowto has some advanced command line features such as scripting.

CommandlineHowto (последним исправлял пользователь ckimes 2017-09-11 20:21:18)

The material on this wiki is available under a free license, see Copyright / License for details
You can contribute to this wiki, see Wiki Guide for details

Источник

Оцените статью