- What is Command Line Interface (CLI)?
- Command Line Input
- Examples
- Windows Example
- Mac OS Example
- Windows Example
- Basic Linux CLI Commands
- Basic Windows CLI Commands
- DOS Commands Help
- Example
- Command Help
- Example
- .NET CLI overview
- CLI commands
- Basic commands
- Project modification commands
- Advanced commands
- Tool management commands
- Command structure
- Driver
- Command
- Arguments
- Options
- Running via the Command Line¶
- What is the CLI?¶
- Why run via the command-line?¶
- Let’s try it: Hello World!¶
- That’s the basics!¶
- CLI-Only Routing¶
- The CLI Library¶
What is Command Line Interface (CLI)?
CLI stands for:
- Command Line Interface
- Command Line Interpreter
- Command Line Input
Command Line Input
CLI is a command line program that accepts text input to execute operating system functions.
In the 1960s, using only computer terminals, this was the only way to interact with computers.
In the 1970s an 1980s, command line input was commonly used by Unix systems and PC systems like MS-DOS and Apple DOS.
Today, with graphical user interfaces (GUI), most users never use command-line interfaces (CLI).
However, CLI is still used by software developers and system administrators to configure computers, install software, and access features that are not available in the graphical interface.
Examples
The software package manager npm uses command line input to install software:
Windows Example
Mac OS Example
You can navigate your folders (directories) with command line commands:
Windows Example
Use CLI commands with great attention.
Wrong use can easily delete files or destroy your computer system completely.
Basic Linux CLI Commands
Command | Description |
---|---|
ls | List the directory (folder) system. |
cd pathname | Change directory (folder) in the file system. |
cd .. | Move one level up (one folder) in the file system. |
cp | Copy a file to another folder. |
mv | Move a file to another folder. |
mkdir | Creates a new directory (folder). |
rmdir | Remove a directory (folder). |
clear | Clears the CLI window. |
exit | Closes the CLI window. |
man command | Shows the manual for a given command. |
Basic Windows CLI Commands
Command | Description |
---|---|
dir | List the directory (folder) system. |
cd pathname | Change directory (folder) in the file system. |
cd \ | Move to the root folder of the file system. |
cd .. | Move one level up (one folder) in the file system. |
copy | Copy a file to another folder. |
move | Move a file to another folder. |
type filename | Type a file. |
mkdir or md | Creates a new directory (folder). |
rmdir or rd | Removes a directory (folder). |
cls | Clears the CLI window. |
exit | Closes the CLI window. |
help command | Shows the manual for a given command. |
DOS Commands Help
You can display all available commands with the help command:
Example
ASSOC | Displays or modifies file extension associations. |
ATTRIB | Displays or changes file attributes. |
BREAK | Sets or clears extended CTRL+C checking. |
BCDEDIT | Sets properties in boot database to control boot loading. |
CACLS | Displays or modifies access control lists (ACLs) of files. |
CALL | Calls one batch program from another. |
CD | Displays the name of or changes the current directory. |
CHCP | Displays or sets the active code page number. |
CHDIR | Displays the name of or changes the current directory. |
CHKDSK | Checks a disk and displays a status report. |
CHKNTFS | Displays or modifies the checking of disk at boot time. |
CLS | Clears the screen. |
CMD | Starts a new instance of the Windows command interpreter. |
COLOR | Sets the default console foreground and background colors. |
COMP | Compares the contents of two files or sets of files. |
COMPACT | Displays or alters the compression of files on NTFS partitions. |
CONVERT | Converts FAT volumes to NTFS. You cannot convert the current drive. |
COPY | Copies one or more files to another location. |
DATE | Displays or sets the date. |
DEL | Deletes one or more files. |
DIR | Displays a list of files and subdirectories in a directory. |
DISKPART | Displays or configures Disk Partition properties. |
DOSKEY | Edits command lines, recalls Windows commands, and creates macros. |
DRIVERQUERY | Displays current device driver status and properties. |
ECHO | Displays messages, or turns command echoing on or off. |
ENDLOCAL | Ends localization of environment changes in a batch file. |
ERASE | Deletes one or more files. |
EXIT | Quits the CMD.EXE program (command interpreter). |
FC | Compares two files or sets of files, and displays the differences between them. |
FIND | Searches for a text string in a file or files. |
FINDSTR | Searches for strings in files. |
FOR | Runs a specified command for each file in a set of files. |
FORMAT | Formats a disk for use with Windows. |
FSUTIL | Displays or configures the file system properties. |
FTYPE | Displays or modifies file types used in file extension associations. |
GOTO | Directs the Windows command interpreter to a labeled line in a batch program. |
GPRESULT | Displays Group Policy information for machine or user. |
GRAFTABL | Enables Windows to display an extended character set in graphics mode. |
HELP | Provides Help information for Windows commands. |
ICACLS | Display, modify, backup, or restore ACLs for files and directories. |
IF | Performs conditional processing in batch programs. |
LABEL | Creates, changes, or deletes the volume label of a disk. |
MD | Creates a directory. |
MKDIR | Creates a directory. |
MKLINK | Creates Symbolic Links and Hard Links. |
MODE | Configures a system device. |
MORE | Displays output one screen at a time. |
MOVE | Moves one or more files from one directory to another directory. |
OPENFILES | Displays files opened by remote users for a file share. |
PATH | Displays or sets a search path for executable files. |
PAUSE | Suspends processing of a batch file and displays a message. |
POPD | Restores the previous value of the current directory saved by PUSHD. |
Prints a text file. | |
PROMPT | Changes the Windows command prompt. |
PUSHD | Saves the current directory then changes it. |
RD | Removes a directory. |
RECOVER | Recovers readable information from a bad or defective disk. |
REM | Records comments (remarks) in batch files or CONFIG.SYS. |
REN | Renames a file or files. |
RENAME | Renames a file or files. |
REPLACE | Replaces files. |
RMDIR | Removes a directory. |
ROBOCOPY | Advanced utility to copy files and directory trees. |
SET | Displays, sets, or removes Windows environment variables. |
SETLOCAL | Begins localization of environment changes in a batch file. |
SC | Displays or configures services (background processes). |
SCHTASKS | Schedules commands and programs to run on a computer. |
SHIFT | Shifts the position of replaceable parameters in batch files. |
SHUTDOWN | Allows proper local or remote shutdown of machine. |
SORT | Sorts input. |
START | Starts a separate window to run a specified program or command. |
SUBST | Associates a path with a drive letter. |
SYSTEMINFO | Displays machine specific properties and configuration. |
TASKLIST | Displays all currently running tasks including services. |
TASKKILL | Kill or stop a running process or application. |
TIME | Displays or sets the system time. |
TITLE | Sets the window title for a CMD.EXE session. |
TREE | Graphically displays the directory structure of a drive or path. |
TYPE | Displays the contents of a text file. |
VER | Displays the Windows version. |
VERIFY | Tells Windows whether to verify that your files are written correctly to a disk. |
VOL | Displays a disk volume label and serial number. |
XCOPY | Copies files and directory trees. |
WMIC | Displays WMI information inside interactive command shell. |
Command Help
For more information on a specific command, type help + command-name
Example
Displays or sets the date.
Type DATE without parameters to display the current date setting and
a prompt for a new one. Press ENTER to keep the same date.
If Command Extensions are enabled the DATE command supports
the /T switch which tells the command to just output the
current date, without prompting for a new date.
.NET CLI overview
This article applies to: вњ”пёЏ .NET Core 2.1 SDK and later versions
The .NET command-line interface (CLI) is a cross-platform toolchain for developing, building, running, and publishing .NET applications.
The .NET CLI is included with the .NET SDK. To learn how to install the .NET SDK, see Install .NET Core.
CLI commands
The following commands are installed by default:
Basic commands
Project modification commands
Advanced commands
Tool management commands
- tool install
- tool list
- tool update
- tool restore Available since .NET Core SDK 3.0.
- tool run Available since .NET Core SDK 3.0.
- tool uninstall
Tools are console applications that are installed from NuGet packages and are invoked from the command prompt. You can write tools yourself or install tools written by third parties. Tools are also known as global tools, tool-path tools, and local tools. For more information, see .NET tools overview.
Command structure
CLI command structure consists of the driver («dotnet»), the command, and possibly command arguments and options. You see this pattern in most CLI operations, such as creating a new console app and running it from the command line as the following commands show when executed from a directory named my_app:
Driver
The driver is named dotnet and has two responsibilities, either running a framework-dependent app or executing a command.
To run a framework-dependent app, specify the app after the driver, for example, dotnet /path/to/my_app.dll . When executing the command from the folder where the app’s DLL resides, simply execute dotnet my_app.dll . If you want to use a specific version of the .NET Runtime, use the —fx-version option (see the dotnet command reference).
When you supply a command to the driver, dotnet.exe starts the CLI command execution process. For example:
First, the driver determines the version of the SDK to use. If there is no global.json file, the latest version of the SDK available is used. This might be either a preview or stable version, depending on what is latest on the machine. Once the SDK version is determined, it executes the command.
Command
The command performs an action. For example, dotnet build builds code. dotnet publish publishes code. The commands are implemented as a console application using a dotnet
Arguments
The arguments you pass on the command line are the arguments to the command invoked. For example, when you execute dotnet publish my_app.csproj , the my_app.csproj argument indicates the project to publish and is passed to the publish command.
Options
The options you pass on the command line are the options to the command invoked. For example, when you execute dotnet publish —output /build_output , the —output option and its value are passed to the publish command.
Running via the Command Line¶
As well as calling an application’s Controllers via the URL in a browser they can also be loaded via the command-line interface (CLI).
What is the CLI?¶
The command-line interface is a text-based method of interacting with computers. For more information, check the Wikipedia article.
Why run via the command-line?¶
There are many reasons for running CodeIgniter from the command-line, but they are not always obvious.
- Run your cron-jobs without needing to use wget or curl.
- Make your cron-jobs inaccessible from being loaded in the URL by checking the return value of is_cli() .
- Make interactive “tasks” that can do things like set permissions, prune cache folders, run backups, etc.
- Integrate with other applications in other languages. For example, a random C++ script could call one command and run code in your models!
Let’s try it: Hello World!¶
Let’s create a simple controller so you can see it in action. Using your text editor, create a file called Tools.php, and put the following code in it:
Then save the file to your app/Controllers/ directory.
Now normally you would visit your site using a URL similar to this:
Instead, we are going to open Terminal in Mac/Linux or go to Run > “cmd” in Windows and navigate to our CodeIgniter project’s web root.
If you did it right, you should see Hello World! printed.
Here we are passing it an argument in the same way that URL parameters work. “John Smith” is passed as an argument and output is:
That’s the basics!¶
That, in a nutshell, is all there is to know about controllers on the command line. Remember that this is just a normal controller, so routing and _remap() works fine.
However, CodeIgniter provides additional tools to make creating CLI-accessible scripts even more pleasant, include CLI-only routing, and a library that helps you with CLI-only tools.
CLI-Only Routing¶
In your Routes.php file you can create routes that are only accessible from the CLI as easily as you would create any other route. Instead of using the get() , post() , or similar method, you would use the cli() method. Everything else works exactly like a normal route definition:
For more information, see the Routes page.
The CLI Library¶
The CLI library makes working with the CLI interface simple. It provides easy ways to output text in multiple colors to the terminal window. It also allows you to prompt a user for information, making it easy to build flexible, smart tools.
See the CLI Library page for detailed information.
© Copyright 2019-2021 CodeIgniter Foundation. Last updated on Feb 01, 2021.