What is command line coding

Learn to code, learn web development basics, start a career in tech.

What is command line coding

Last edited: Jul 9 2019

What is command line coding?

The command line is a text interface to your operating system, it takes in commands through a shell interface and passes these commands to your computer to be actioned, the command line is also referred to as `Terminal` in some operating systems.

From the command line, you can automatically rename hundreds of files easily, navigate through files and folders on your computer, perform system wide search for a file, all without having to open up file finders or any graphic interface.

How do I get to the command line on a Windows?

In Windows 10, open the Start Menu and go to the Windows System shortcuts folder, you can find a shortcut for the Command Prompt, click on that to open it up.

How do I get to the command line on a Mac?

The command line in a mac is a program called Terminal, you can open it up by simply using CMD + Spacebar, then type `terminal` into the search bar, the terminal will open up for you, it is in here that you will enter all commands.

Below is a list of commonly used commands:

The Tilda icon ( ~ )

 cd ~ 

Tilda ( ~ ) is the icon for your home directory, so the above code is basically saying change into my home directory.

pwd - print working directory

 pwd 

This prints the current working directory, very useful whilst working in the terminal and you want to remind yourself of what directory you are currently in.

cat - print out content in your terminal

 cat cities.txt 

The above will print out right in your terminal screen all the contents of the file cities.txt

> - Move content from left to right

 cat cities.txt > country.txt 

This takes the output from the file on the left and puts it into the file on the right, using the ' > ' symbol.

wc -w word count

 wc -w countries.txt 

The above prints the number of words in a file.

cd..

 cd.. 

So this will take you out of the current directory, first check `pwd` to see where you are, then try `cd..` notice you have up a level in your directory tree?

cp - make a copy of a file

 cp shopping_list.txt another_shopping_list.txt 

This will create a copy of shopping_list.txt and name it another_shopping_list.txt

WILDCARDS (*)

 cp * images/ 

The wildcard * in this case will copy all the files in the current directory (pwd) and put copies of the files in another directory called images.

 cp images/* backup/ 

By using the * wildcard like above, it will copy all the files in images folder and copy them into another folder called backup.

env - environment

 env 

The env command stands for "environment", it returns a list of the environment variables for the current user.

 env | grep PATH 

env | grep PATH command will displays the value of a single environment variable.

export

 export STUDENT="John Doe" 

export makes the variable to be available for the current terminal session, closing your terminal or opening a new tab wil delete the STUDENT variable created.

 echo $STUDENT 

The above will print the value of the STUDENT variable.

grep - global regular expression print

 grep "London" cities.txt 

grep stands for “global regular expression print”. It searches a file and returns a matching pattern.

 grep -i "London" cities.txt 

Passing the i flag lets you search and find results in a case insensitive way, this will return results matching 'London' or 'london'

 grep -R Ford ~/cars 

grep -R searches all files in a directory and return the filename and lines containing the search word, the -R stands for "recursive", this will search folders within folders until it finds all matching words.

 grep -Rl Ford ~/cars 

grep -Rl searches all files in a directory and only returns the filenames that match, it does not return the line in the file.

$HOME - path to home directory

 echo $HOME 

HOME is a variable that prints the path of the home directory

ls - list

 ls 

This will list all the files in the current working dirctory

 ls -a 

List all files in current working directory including all the hidden files

 ls -t 

List all files in current working directory by the time they were last modified

touch - creating new file

 touch songs.txt 

Touch is used to create a new file.

mkdir - make directory

 mkdir songs 

Create a new directory called songs

mv - moving files

 mv song_list.txt songs/ 

Move the song_list.txt file into a directory called songs

nano - text editor

 nano song_list.txt 

Open a file using nano text editor, to close this file you will need to use the ctrl + x keyboard combination.

rm - remove

 rm song_list.txt 

This will delete a file called song_list.txt

 rm -rf cars 

Unfortunately just rm will not work for directories, but using -rf ( recursive force) will remove folders as well.

sed - stream editor

 sed 's/London/Rio/' cities.txt 

sed stands for “stream editor”. It accepts standard input and modifies it based on an expression, the expression 's/London/Rio/' will substitute London for Rio within the cities.txt and return the result.