Day 3 - Mastering Basic Linux Commands

Day 3 - Mastering Basic Linux Commands

ยท

8 min read

Welcome back to our #LearnLinux series! Today, we're diving into some fundamental Linux commands that will empower you to manipulate files and directories with ease. Let's explore the tasks for Day 3:

Task 1: View the Contents of a File cat Command

The cat command in Linux is a versatile utility that is primarily used for concatenating and displaying the content of files. Additionally, it can be used to create new files, append content to existing files, and more. Here are some common use cases and flags for the cat command

1. Basic Usage:

  • The basic syntax of the cat command is simple:

  • #cat filename

    This command displays the content of the specified file (filename) on the terminal.

  • 2. Display Multiple Files:

  • You can display the content of multiple files by providing their names as arguments:

  • #cat file1 file2 file3

  • 3. Concatenate and Display:

  • The primary purpose of cat is to concatenate files and display their content. For example:

  • #cat file1 file2 > newfile

  • This command concatenates the content of file1 and file2 and writes it to a new file named newfile.

  • 4. Number Lines (-n):

  • The -n flag numbers all the output lines:

  • #cat -n filename

  • 5. Show Non-Printable Characters (-v, -A):

  • The -v or -A flag displays non-printable characters, making them visible:

  • #cat -v filename

  • 6. Display Line Endings (-E):

  • The -E flag shows a dollar sign ($) at the end of each line, indicating line endings:

  • #cat -E filename

  • 7. Display Tabs as ^I (-T):

  • The -T flag displays tabs as ^I:

  • #cat -T filename

  • 8. Create New File (>):

  • The > operator can be used with cat to create a new file or overwrite an existing file:

  • #cat file1 > newfile

  • 9. Append to File (>>):

  • The >> operator appends the content to an existing file:

  • #cat file2 >> newfile

  • 10. Help (--help):

  • To get a quick overview of the available options and flags, you can use the --help flag:

  • #cat --help

Task 2: Change Access Permissions of Files chmod command.

Changing access permissions of files in Linux can be done using the chmod command. This command allows you to modify the permissions for the owner, group, and others. Here is a detailed explanation along with some commonly used flags:

1. Basic Usage:

  • The basic syntax of the chmod command is as follows:

  • #chmod permissions filename

    Replace permissions with the desired permission settings, and filename with the name of the file you want to modify.

  • 2. Permission Values:

  • Permissions are represented by three octal digits (0-7), each corresponding to read (4), write (2), and execute (1) permissions. The digits represent the owner, group, and others, respectively. For example, chmod 764 filename grants the owner read+write+execute, the group read+write, and others read permissions.

  • 3. Symbolic Notation:

  • You can use symbolic notation to change permissions. The syntax is as follows:

  • #chmod [who] operator [permissions] filename

    • who: Specifies whom to change the permissions for (u - user/owner, g - group, o - others, a - all).

    • operator: Specifies how to change the permissions (+ - add, - - remove, = - set).

    • permissions: Specifies the permissions to add, remove, or set.

Example: chmod u+x filename adds execute permission for the owner.

  • 4. Octal Notation (Numeric Mode):

  • The numeric mode can be used to set permissions explicitly using octal values:

  • #chmod 755 filename

    In this example, the owner gets read+write+execute (4+2+1), and the group and others get read+execute (4+1).

  • 5. Recursive Mode (-R):

  • The -R flag recursively changes permissions for directories and their contents:

  • #chmod -R permissions directory

    This is useful when you want to apply the same permissions to all files and subdirectories within a directory.

  • 6. Reference File (--reference):

  • The --reference flag allows you to copy permissions from one file to another:

  • #chmod --reference=reference_file target_file

    The permissions of target_file will be set to match those of reference_file.

  • 7. Help (--help):

  • To get a quick overview of the available options and flags, you can use the --help flag:

  • #chmod --help

Task 3: Check Command History

The history command in Linux is used to display a list of previously executed commands in the terminal. It allows users to review and repeat commands without retyping them. Here's an explanation of the history command along with some commonly used flags:

1. Basic Usage:

  • The basic syntax of the history command is simple:

  • #history

    This displays a numbered list of the most recently executed commands along with their command numbers.

  • 2. Numbered List with Timestamps (-w):

  • The -w flag, when used, includes the timestamp (date and time) along with the command number and the command itself:

  • #history -w

  • 3. Clear History (-c):

  • The -c flag clears the entire command history:

  • #history -c

    After using this command, the history will be empty.

  • 4. Limit the Number of Displayed Commands (-n):

  • The -n flag allows you to specify the number of commands to display. For example, to display the last 20 commands:

  • #history -n 20

  • 5. Display Commands from the Current Session (-a):

  • The -a flag appends new history lines from this session to the history file:

  • #history -a

  • 6. Append Commands to History File (-w):

  • The -w flag writes the current history to the history file, making the changes permanent:

  • #history -w

  • 7. Search History (-grep):

  • You can use standard tools like grep to search for specific commands in the history. For example, to find commands containing "ls":

  • #history | grep "ls"

  • 8. Execute a Specific Command (-p):

  • The -p flag allows you to execute a specific command from the history by specifying its number:

  • #history -p !<command_number>

    Replace <command_number> with the desired command number.

  • 9. Display History in Reverse Order (-r):

  • The -r flag displays the history in reverse order, showing the most recent commands at the top:

  • #history -r

  • 10. Help (--help):

  • To get information about the available options and flags, you can use the --help flag:

  • #history --help

Task 4: Remove a Directory

To remove a directory, the rmdir or rm -r command is used:

The rm command in Linux is used for removing or deleting files and directories. It is a powerful command with various options and flags that provide additional functionalities. Here's a detailed explanation of the rm command along with some commonly used flags:

1. Basic Usage:

  • The basic syntax of the rm command is:

  • #rm [options] [file(s) or directory(ies)]

    Replace [options] with the desired flags and [file(s) or directory(ies)] with the names of the files or directories you want to remove.

  • 2. Remove Files (-f):

  • The -f (force) flag allows the removal of files without prompting for confirmation, even if they are write-protected:

  • #rm -f filename

  • 3. Remove Directories and Their Contents Recursively (-r or -R):

  • The -r (or -R) flag is used to remove directories and their contents recursively:

  • #rm -r directory_name

  • 4. Interactive Mode (-i):

  • The -i flag prompts the user for confirmation before removing each file:

  • #rm -i filename

  • 5. Verbose Mode (-v):

  • The -v (verbose) flag provides detailed information about the files being removed:

  • #rm -v filename

  • 6. Remove Empty Directories (-d):

  • The -d flag removes empty directories:

  • #rm -d empty_directory

  • 7. Preserve Root Directory (-/):

  • The --no-preserve-root flag prevents the removal of the root directory ("/"):

  • #rm --no-preserve-root /

    Note: Be extremely cautious when using this flag, as it can lead to irreversible data loss.

  • 8. Remove Files Matching a Pattern (-glob):

  • The -glob flag allows you to remove files based on a pattern using wildcards:

  • #rm -glob .txt*

    This removes all files with a .txt extension.

  • 9. Prompt for Confirmation (-I):

  • The -I flag prompts for confirmation before removing more than three files, or when removing recursively:

  • #rm -I directory_name

  • 10. Help (--help):

  • To get information about the available options and flags, you can use the --help flag:

  • #rm --help

Task 5: Create and View File Content

To create a file and view its content, we use the echo and cat commands:

#echo "Fruits are delicious!" > fruits.txt #cat fruits.txt

This creates a file named fruits.txt with the specified content and displays its content using cat.

Task 6: Add Content to a File

To add content to a file, you can use the echo command along with the >> operator:

#echo "Apple" >> devops.txt #echo "Mango" >> devops.txt #echo "Banana" >> devops.txt

This adds the specified fruits to the devops.txt file, each on a new line.

Task 7: Show Top Three Items from a File

To show the top three items from a file, you can use the head command:

#head -n 3 devops.txt

This displays the first three lines of the devops.txt file.

Task 8: Show Bottom Three Items from a File

To show the bottom three items from a file, use the tail command:

#tail -n 3 devops.txt

This displays the last three lines of the devops.txt file.

Task 9: Create and View Another File

To create another file and view its content, you can use the same echo and cat commands:

#echo "Colors are vibrant!" > Colors.txt #cat Colors.txt

Task 10: Add Content to Another File

Similarly, add content to the Colors.txt file:

#echo "Red" >> Colors.txt #echo "Pink" >> Colors.txt #echo "White" >> Colors.txt

Task 11: Find the Difference Between Two Files

To find the difference between two files, the diff command is used:

#diff fruits.txt Colors.txt

This command highlights the lines that differ between the two files.

Congratulations! You've just mastered some basic Linux commands for file manipulation. Stay tuned for more challenges and deepen your Linux expertise with #LearnLinux. Happy learning! ๐Ÿš€๐Ÿง

ย