Linux / Unix tutorial for beginners

Linux is a family of free and open-source operating systems based on the Linux kernel. Operating systems based on Linux are known as Linux distributions or distros. Examples include Debian, Ubuntu, Fedora, CentOS, Gentoo, Arch Linux, and many others.

The Linux kernel has been under active development since 1991, and has proven to be extremely versatile and adaptable. You can find computers that run Linux in a wide variety of contexts all over the world, from web servers to cell phones. Today, 90% of all cloud infrastructure and 74% of the world’s smartphones are powered by Linux.

However, newcomers to Linux may find it somewhat difficult to approach, as Linux file systems have a different structure than those found on Windows or MacOS. Additionally, Linux-based operating systems depend heavily on working with the command line interface, while most personal computers rely on graphical interfaces.

This guide serves as an introduction to important command line concepts and skills and equips newcomers to learn more about Linux.


Linux Index


Introduction about the Unix

Introduction about the Unix / Linux

Unix is a computer Operating System which is capable of handling activities from multiple users at the same time. The development of Unix started around 1969 by Ken Thompson and Dennis Ritchie.

Read More

Listing files and Directories

Listing files and Directories

When you first login, your current working directory is your home directory. Your home directory has the same name as your user-name, for example, student-data, and it is where your personal files and subdirectories are saved.

Read More

Copies, moving and removing of files

Copies, moving and removing of files

Grep is a Linux / Unix command-line tool used to search for a string of characters in a specified file. The text search pattern is called a regular expression. When it finds a match, it prints the line with the result.

Read More

Input-Output Redirection

Input-Output Redirection

In Linux, each process has three communication channels: standard input, standard output, and standard error. These communication channels help users interact with the processes on a Linux system

Read More

Linux Wildcards

Linux Wildcards

A wildcard in Linux means it might be a symbol or set of symbols representing other characters. It is generally used in substituting any string or a character. Wildcards are mainly used to increase the efficiency and flexibility of searches in Linux.

Read More

Linux File Access Permissions

Linux File Access Permissions

Most file systems include attributes of files and directories that control the ability of users to read, change, navigate, and execute the contents of the file system.

Read More

Linux Useful commands

Linux Useful commands

Learn how to check disk space in Linux using the df and du command, including available disk space, used disk space and total disk space. we also learn compress utility which reduces the size of files using adaptive Lempel-Ziv coding. Each file is renamed to the same name plus the extension .Z.

Read More

Compiling UNIX software packages

Compiling UNIX software packages

The Unix command for compiling C code is gcc. This is a compiler from Gnu for Linux. If you are using a Unix machine like Solaris you may need to use the command cc.) When you compile your program the compiler produces a file containing binary code which is directly readable by the machine you are on.

Read More

UNIX Variables

UNIX Variables

Variables are a way of passing information from the shell to programs when you run them. Programs look in the environment for particular variables and if they are found will use the values stored. Some are set by the system, others by you, yet others by the shell, or any program that loads another program.

Read More

Recent posts

A tutorial on Genome-Wide Association Studies (GWAS) in Tassel (GUI)

3 minute read

Updated:

Genome-wide association studies (GWAS) increase their popularity among medical, biological, and social sciences to identify the association between single nucleotide polymorphisms and phenotypic traits. This tutorial aims to provide a guidelines for conducing genome wide analysis in Tassel.

A tutorial on investigate genetic admixture using STRUCTURE software

3 minute read

Updated:

Structure Software is a freely available software package that one may use for rigorous investigation of admixed individuals; identification of point of hybridization and migrants; and estimate over all structure of a population using a commonly used genetic markers such as SNPs and SSRs. This software was developed by Pritchard Lab at Stanford University and can downloaded at this link.

Plot Genetic Linkage Maps using MapChart software

5 minute read

Updated:

MapChart is a free software to plot publishing quality genetic linkage maps as well as QTLs. This software was developed at Wageningen University by Roeland E. Voorrips and can be downloaded at this link .

Adding Content to an Academic Website

9 minute read

Updated:

One thing I haven’t covered in my previous posts on creating and customizing an academic website is how to actually add content to your site. You know, the stuff that’s the reason why people go to your website in the first place? If you’ve followed those guides, your website should be professional looking and already feeling a little bit different from the stock template. However, adding new pages or tweaking the existing pages can be a little intimidating, and I realized I should probably walk through how to do so. Luckily Jekyll’s use of Markdown makes it really easy to add new content!

Customizing an Academic Website

8 minute read

Updated:

This is a followup to my previous post on creating an academic website. If you’ve followed that guide, you should have a website that’s professional-looking and informative, but it’s probably lacking something to really make it feel like your own. There are an infinite number of ways you could customize the academicpages template (many of them far, far beyond my abilities) but I’m going to walk you through the process I used to start tweaking my website. The goal here isn’t to tell you how you should personalize your website, but to give you the tools to learn how to implement whatever changes you want to make.

Building an Academic Website

23 minute read

Updated:

If you’re an academic, you need a website. Obviously I agree with this since you’re reading this on my website, but if you don’t have one, you should get one. Most universities these days provide a free option, usually powered by WordPress (both WashU and UNC use WordPress for their respective offerings). While these sites are quick to set up and come with the prestige of a .edu URL, they have several drawbacks that have been extensively written on.

Combining PDF Documents the Smarter Way

4 minute read

Updated:

My previous post on combining multiple PDF files had an important caveat that things would end up in the wrong order if you had files with leading ID numbers that started at 1 and ended at 12, you’d end up with PDFs combined in the order 1, 10, 11, 12, 2, 3, …, 9.

Combining PDF Documents

2 minute read

Updated:

How many times have you found that your institution has access to a digital version of a book you need only to discover that it comes in 15 different PDF files?