Outside of web surfing, there is often little exploration of the magical abilities of one's computer. The file system, which is essentially the collection of files and folders that exist on the computer's disk can be accessed by opening the Finder in Mac and the Explorer in Windows. In the file system we can see the collection of files and folders some of which are required by the system to run, while some are our own documents like pictures, games and other fun stuff ;)
If you are using Windows, it is highly recommended as you start on this beautiful journey of programming, download and install any version of Linux that steals your heart. If you're new to Linux, Ubuntu is a great introduction to the world of UNIX (macOS is also built on a UNIX philosophy). You can run it alongside Windows via a Dual Boot setup so you won't lose any access to your current files or operating system.
Let's open the terminal and explore a new way to access the file system.
Download & Install Terminal
- Linux: Terminator
- Mac: iTerm2
Open your freshly installed terminal and let's start having some fun!
The ls command - the list command - functions in the Linux terminal to show all of the major directories filed under a given file system. For example, the command:
ls /applications
will show the user all of the folders stored in the overall applications folder.
The ls
command is used for viewing files, folders and directories.
The cd
command - change directory - will allow the user to change between file directories. As the name command name suggest, you would use this command to circulate between two different directories. For example, if you wanted to change from the home directory to your mind blowing killer app which lives in the code
directory, you would input the following command:
cd code/my_killer_app
As you might have noted, the path name listed lists in reverse order. Logically cd code/my_killer_app
reads - change to the my_killer_app
directory which is stored in the code
directory. All UNIX commands follow a logical path.
The mv
command - move - allows a user to move a file to another folder or directory. Just like dragging a file located on a PC desktop to a folder stored within the "Documents" folder, the mv command functions in the same manner. An example of the mv
command is:
mv myfile.txt myfiles
The first part of the command mv myfile.txt
lists the application to be moved. In this case, myfile.txt
. The second part of the command myfiles
lists where myfile.txt
will be moved to.
The man
command - the manual command - is used to show the manual of the inputted command. Just like a film on the nature of film, the man command is the meta command of the Linux CLI. Inputting the man command will show you all information about the command you are using. An example:
man cd
The inputting command will show the manual or all relevant information for the change directory command.
The mkdir
- make directory - command allows the user to make a new directory. Just like making a new directory within a PC or Mac desktop environment, the mkdir
command makes new directories in a Linux environment. An example of the mkdir
command
mkdir nextBigThing
The example command made the directory "nextBigThing".
The rmdir
- remove directory - command allows the user to remove an existing command using the Linux CLI (Command Line Interface). An example of the rmdir command:
rmdir stupidApp
The example command removed the directory "stupidApp".
It should be noted: both the mkdir
and rmdir
commands make and remove directories. They do not make files and they will also not remove a directory which has files in it. The mkdir will make an empty directory and the rmdir command will remove an empty directory.
The touch
command - a.k.a. the make file command - allows users to make files using the CLI. Just as the mkdir command makes directories, the touch command makes files. Just as you would make a .doc or a .txt using a PC desktop, the touch command makes empty files. An example of the touch command:
touch testfile.txt
The example touch command effectively created the file testfile.txt. As noted by the extension, the file created is a .txt or text file. To equate, a .txt file in Linux is akin to a .txt notebook file within a Windows or Mac OS.
The rm
command - remove - like the rmdir
command is meant to remove files from your Linux OS. Whereas the rmdir
command will remove directories and files held within, the rm
command will delete created files. An example of the rm
command:
rm testfile.txt
The aforementioned command removed testfile.txt
. Interestingly, whereas the rmdir
command will only delete an empty directory, the rm
command will remove both files and directories with files in it. This said, the rm
command carries more weight than the rmdir
command and should be used with more specificity.
The locate
- a.k.a. find - command is meant to find a file within the Linux OS. If you don't know the name of a certain file or you aren't sure where the file is saved and stored, the locate command comes in handy. A locate command example:
locate -i \*red\*house\*city\*
The stated command will locate a file with the a file name containing "Red", "House" and "City". A note on the input: the use of "-i" tells the system to search for a file unspecific of capitalization (Linux functions in lower case). The use of the asterik "*" signifies searching for a wildcard. A wildcard tells the system to pull any and all files containing the search criteria.
By specifying -i with wildcards, the locate CLI command will pull back all files containing your search criteria effectivley casting the widest search net the system will allow.
The clear
command does exactly what it says. When your Linux CLI gets all mucked up with various readouts and information, the clear command clears the screen and wipes the board clean. Using the clear command will take the user back to the start prompt of whatever directory you are currently operating in. To use the clear command simply type clear
.