Tag: Linux terminal

  • Linux Tutorial Series – 28 – The cd command

    Here is the video version, if you prefer it:

    The cd command is used to change the working directory. Its name, cd, literally stands for “change directory”.(“cd(1) – Linux man page,” n.d.)⁠

    For example, if I wanted to go to folder named Downloads relative to my current directory, I would write:

    mislav@mislavovo-racunalo:~$ cd Downloads

    However, let’s say I was somewhere far, far away from my Downloads folder. Let’s say I was in somewhere like /usr/local/bin. Pretty tough to navigate from here to my Downloads folder (not impossible, but tedious – I would have to write cd .. to go to the parent folder, then repeat that multiple times until I reached the root folder, then cd myself into home and then mislav and then finally Downloads). Here I would use:

    mislav@mislavovo-racunalo:/usr/local/bin$ cd /home/mislav/Downloads

    and I would get to my desired Downloads folder without a lot of navigation.

    To emphasize: You can always use cd .. to go to the parent folder of the current directory and then use cd someFolder to position yourself in the folder someFolder.

    Hope this was helpful!

    P.S. To be honest with you, I usually change directories the tedious way, as in writing cd .. and cd SomeFolder a lot of times, but I believe that it is much easier to get the work done with providing an absolute pathname. So this is some “I advise doing this even if I do this the other way” type of advice.

    References

    cd(1) – Linux man page. (n.d.). Retrieved January 5, 2020, from https://linux.die.net/man/1/cd

  • Linux Tutorial Series – 27 – The pwd command

    Here is the video version, if you prefer it:

    pwd prints the name of the current working directory. This is useful when changing directories with cd and you want to know where you are. For example:

    mislav@mislavovo-racunalo:~/Documents$ cd django-rest-tutorial

    mislav@mislavovo-racunalo:~/Documents/django-rest-tutorial$ pwd

    /home/mislav/Documents/django-rest-tutorial

    pwd stands for “print working/current directory”. (“pwd(1) – Linux man page,” n.d.)⁠

    Hope this was useful!

    References

    pwd(1) – Linux man page. (n.d.). Retrieved January 5, 2020, from https://linux.die.net/man/1/pwd

  • Linux Tutorial Series – 26 – Commands are case sensitive

    Here is the video version, if you prefer it:

    Before we begin learning the commands we are about to learn, let me just note that the commands are case sensitive. Meaning – it is not the same if you use uppercase or lowercase letters in command names.

    Keep this in mind.

    Talk soon!

  • Linux Tutorial Series – 25 – General command structure

    Here is the video version, if you prefer it:

    Before we begin learning the commands, let me tell you that commands generally look like this: (Shotts, 2019)⁠

    command -options arguments

    Keep this in mind as you progress through the following posts.

    Thank you for reading!

    References

    Shotts, W. (2019). The Linux Command Line, Fifth Internet Edition. Retrieved from http://linuxcommand.org/tlcl.php. Page 38

  • Linux Tutorial Series – 24 – Checkpoint

    Here is the video version, if you prefer it:

    In the following posts, we are going to cover a lot of commands. Those commands are the bread-and-butter of the Linux command line. You will use them almost daily and almost every tutorial on how-to do something on Linux uses these commands and so it is very important to understand what they do, since most tutorials assume you know what they do.

    I will not lie – this will be a little bit dry. However, treat it as learning to add and subtract. It is not fun at the time you are learning it, but you power through it. I am asking you to power through it a little bit. It will pay off.

    See you on the other side!

  • Linux Tutorial Series – 23 – Recap

    Here is the video version, if you prefer it:

    Today let’s quickly review the things we learned:

    • Shell is a program that runs commands
    • Commands are programs you can run with options and arguments
    • date and cal are used to display the time and the calendar (this is not so important)
    • Use Up/Down arrows to search command history
    • Use Left/Right arrows to navigate to individual characters of the current command
    • Use the clear command to clear your Terminal window
    • Exit a terminal command session with exit or press CTRL + D
    • Directories are a way to organize files
    • Files are resources that contain information
    • We talked about what to expect in the directories of a typical Linux directory hierarchy
    • Parent directory is one directory “above” your current directory
    • Absolute path names start with the root folder and proceed onward
    • Relative path names start from the folder you are currently in

    Hope you refreshed your memory!

  • Linux Tutorial Series – 22 – Absolute and relative pathnames

    Here is the video version, if you prefer it:

    When talking about paths, you can often hear “absolute path” or “relative path”. What do these mean?

    Absolute path is a path which starts from the root directory of your Linux system. (Barrett, 2016)⁠ So an absolute path would be something like:

    /home/mislav

    Relative paths are relative to the directory you are currently in (the so called working directory). So, if I wanted to use the cd command (which allows me to change directories (“cd(1) – Linux man page,” n.d.)⁠):

    mislav@mislavovo-racunalo:~$ cd SomeFolder

    I would go from ~ (which is a shorthand for /home/mislav) to SomeFolder, not from the root directory (denoted by /) to SomeFolder.

    Hope this was useful!

    References

    Barrett, D. J. (2016). Linux pocket guide (3rd ed.). O’Reilly Media. Page 18

    cd(1) – Linux man page. (n.d.). Retrieved January 5, 2020, from https://linux.die.net/man/1/cd

  • Linux Tutorial Series – 21 – Parent and current (working) directory – what do these terms mean?

    Here is the video version, if you prefer it:

    Maybe you heard the terms “parent directory” and “current directory”, “working directory” or “current working directory”. “What do these terms mean?” you might ask yourself. Well, fear not, because I have come to alleviate you from your ignorance! (imagine epic music playing in the background)

    Working directory (or its synonyms), in the context of using the Linux command line, refers to the directory you are currently located in. (Barrett, 2016)⁠Let me elaborate:

    I just started a new Terminal session and this is what I get as output:

    mislav@mislavovo-racunalo:~$

    See the ~ between the : and $? Well, that is my working directory. ~ actually stands for my home directory, so instead of ~, if we wanted to be fully correct, there should be /home/mislav. If you start a Terminal session, your working directory should also be ~ as well. From within the Terminal, you can change directories (using the cd command), but that is not the topic of this post.

    Now, more importantly, why is it important to know in which directory you are in? A good question. It’s like I asked it myself. Let’s look at the following example:

    mislav@mislavovo-racunalo:~$ ls

    anaconda3 grep-hadoop-example Python-3.7.4

    'Calibre Library' hadoop-example stanfordnlp_resources

    ...

    ( here means output continues)

    The ls command lists directory contents. (“LS(1),” n.d.)⁠ But contents of what directory, exactly? Well, if you don’t explicitly say what directory, it is assumed that you want the ls to list the contents of the working directory.

    So that’s why it is useful! Imagine if you were inside the directory you desire to operate upon and every time you wanted to call a command you needed to write out the full “trajectory” (also called a path) to the directory you wanted to operate on (as in ls /home/mislav while already being in /home/mislav). That’s tedious and programmers don’t like tedious. Thus, when calling a command (in our case, ls), it assumes you want to operate on the current directory.

    Lastly, parent directory is the directory directly above the current directory. (Shotts, 2019)⁠ For example, if I was in the folder

    /home/mislav

    the parent directory of the mislav directory is the home directory. (3 uses of the word directory in one sentence, whew!)

    Hope you learned something useful!

    References

    Barrett, D. J. (2016). Linux pocket guide (3rd ed.). O’Reilly Media. Pages 17-19

    LS(1). (n.d.). Retrieved December 29, 2019, from http://man7.org/linux/man-pages/man1/ls.1.html

    Shotts, W. (2019). The Linux Command Line, Fifth Internet Edition. Retrieved from http://linuxcommand.org/tlcl.php. Pages 31-32

  • Linux Tutorial Series – 19 – Directories and files

    Here is the video version, if you prefer it:

    In Linux, you will find both directories and files. Think of directories like folders in Windows or like drawers or folders in everyday life – they are used to store files within them and give structure to your files. (“Directory (computing),” n.d.)⁠ Files are resources for storing information. (“Computer file,” n.d.)⁠

    Directories also have a hierarchy. So we can have directory1/directory2. That means that directory2 is a child directory of directory1. Imagine this as a folder within a folder. When we list the “hierarchical trajectory” from some directory to some other directory, we are talking about a path. (“Path (computing),” n.d.)⁠

    Hope you learned something useful!

    References

    Computer file. (n.d.). Retrieved February 23, 2020, from https://en.wikipedia.org/wiki/Computer_file

    Directory (computing). (n.d.). Retrieved February 23, 2020, from https://en.wikipedia.org/wiki/Directory_(computing)

    Path (computing). (n.d.). Retrieved December 29, 2019, from https://en.wikipedia.org/wiki/Path_(computing)

  • Linux Tutorial Series – 18 – Exiting a terminal session

    Here is the video version, if you prefer it:

    How do you exit a shell session in Linux? You type exit or press CTRL + D. (Shotts, 2019)⁠

    mislav@mislavovo-racunalo:~$ exit

    References

    Shotts, W. (2019). The Linux Command Line, Fifth Internet Edition. Retrieved from http://linuxcommand.org/tlcl.php. Page 29