0% found this document useful (0 votes)
7 views

linux commands

Linux sample Commands

Uploaded by

annrosepaul4270
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

linux commands

Linux sample Commands

Uploaded by

annrosepaul4270
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

LINUX

 ls # List files and directories in the current directory


 ls -l # List in long format with permissions, ownership, size, and modification date
 ls -a # List all files, including hidden files
 ls -lh # List in long format with human-readable file sizes
 stat file.txt // Display detailed information about a file.
 cd /path/to/directory # Change to the specified directory
 cd .. # Move up one directory
 cd ~ # Go to the home directory
 pwd # Display the full path of the current directory
 mkdir new_directory # Create a new directory
 mkdir -p parent/child # Create a parent directory and child directory in one
command
 rmdir empty_directory # Remove an empty directory
 rm file.txt # Remove a file
 rm -r directory/ # Remove a directory and its contents recursively
 rm -f file.txt # Forcefully remove a file without prompting
 cp source.txt destination.txt # Copy a file
 cp -r source_directory/ destination/ # Copy a directory and its contents
 mv oldname.txt newname.txt # Rename a file
 mv file.txt /path/to/destination/ # Move a file to a new location
 touch newfile.txt # Create an empty file or update the timestamp of an existing file.
 echo "Hello, World!" > hello.txt // write text to a file (overwrites the file if it exists)
 cat > newfile.txt // Create a new file by entering content manually (use Ctrl+D to
finish and save input).
 cat file.txt # Display the contents of a file
 cat file1.txt file2.txt # Display contents of multiple files
 cat >>file.txt // append content to the file
 paste file1 file2 // merges corresponding lines of files side by side
 more file.txt # View the contents of a file page by page
 less file.txt # View the contents of a file with more features than 'more'
 head file.txt # Display the first 10 lines of a file
 head -n 20 file.txt # Display the first 20 lines of a file
 tail file.txt # Display the last 10 lines of a file
 tail -n 20 file.txt # Display the last 20 lines of a file
 tail -f file.txt # Continuously monitor and display new lines added to a file
 cp source.txt destination.txt // copy files or directories
 mv oldname.txt newname.txt// move or rename files or directories
 rm file.txt// remove files or directories
 chmod 755 file.txt # Set permissions to rwxr-xr-x
 chmod u+x file.txt # Add execute permission for the owner
 chmod u-w file.txt # Remove write permission for the owner
 chown user:group file.txt # Change owner and group
 chown user file.txt # Change only owner
 chgrp group file.txt # Change group of the file
 df # Display disk space usage of all mounted file systems
 df -h # Display disk space usage in human-readable format (e.g., GB, MB)
 echo "Hello, World!" # Print "Hello, World!" to the terminal
 man ls # Display the manual page for the `ls` command
 history # Show a list of previously executed commands
 find /path/to/search -name "filename.txt" # Find file by name
 grep "search text" file.txt # Search for 'search text' in file.txt
 diff file1.txt file2.txt // compare files line by line
 command1 | command2 // pipe command ‘|’ is used to pass the output of one
command as input to another command

CHMOD

The chmod command in Linux is used to change the permissions of a file or directory. Permissions
determine who can read, write, or execute a file. Permissions are typically specified using either
symbolic or numeric modes.

In numeric mode, permissions are represented as a three-digit octal number. Each digit
represents the permissions for the owner, group, and others, respectively.

 chmod 755 file.txt sets the permissions of file.txt to rwxr-xr-x.

Here's a breakdown of what 755 means:

 7 (for the owner): rwx (read, write, and execute)


 5 (for the group): r-x (read and execute)
 5 (for others): r-x (read and execute)

Example,

Command: ls -l file.txt

Output: -rw-r--r-- 1 user group 1234 Aug 30 12:34 file.txt : here owner has read and write
permissions but not execute permission

Add execute permission,

Command: chmod u+x file.txt


Command: ls -l file.txt

Output: -rwxr--r-- 1 user group 1234 Aug 30 12:34 file.txt

Now, file.txt has rwxr--r-- permissions. This means:

 Owner (user): Can read, write, and execute.


 Group: Can read.
 Others: Can read.

GREP

The grep command in Linux is used to search for text patterns within files. It stands for "Global
Regular Expression Print" and is a powerful utility for finding lines in files that match a specified
pattern.

Basic syntax: grep [options] pattern [file...]

 pattern: The text or regular expression you want to search for.


 file: The file(s) to search within. If no file is specified, grep reads from standard input.
Examples,
Syntax: grep "search_term" file.txt // search for a specific string in a file
Example: grep “error” log.txt // searches string “error” in the file log.txt and prints all lines
containing “error”
To search regardless of case,
grep –i “error” log.txt // -i used to search in case insensitive manner
To search whole words only,
grep -w "error" log.txt // This searches for "error" as a whole word and will not match "errors" or
"preerror" in log.txt.

 Basic Search: grep "pattern" file.txt


 Case-Insensitive: grep -i "pattern" file.txt
 Whole Words: grep -w "pattern" file.txt

 Multiple Patterns: grep -e "pattern1" -e "pattern2" file.txt // Search for


multiple patters at once.
Example: grep -e "error" -e "warning" log.txt

 Line Numbers: grep -n "pattern" file.txt


 Context Lines: grep -B num "pattern" file.txt (before), grep -A num "pattern"
file.txt (after), grep -C num "pattern" file.txt (both)

 Invert Match: grep -v "pattern" file.txt

 Recursive Search: grep -r "pattern" directory/

 Multiple Files: grep "pattern" file1.txt file2.txt

 Regular Expressions: grep -E "regex" file.txt

PIPE COMMAND
Example: ls -l | less

 ls -l: Lists files in long format.


 less: Allows you to scroll through the output page by page.

SHELL WILD CARD CHARACTERS


‘*’- Matches zero or more characters in a file name or text
Example:

 ls *.txt // This lists all files in the current directory that end with .txt.
 ls data* // matches files like data1, data_2024, data_backup, etc.
 ls a* // file names starting with a
 ls *a // file names ending with a
 ls ? // lists files and directories in the current directory whose names are exactly one
character long.
 ls h? // matches files and directories whose names start with ‘h’ followed by exactly
one more character

For example, if your directory contains files named hi, ho, and h2, these will be listed.
Files like hello or h will not be matched because they do not conform to the h?
pattern (i.e., hello has more than one character after h, and h has no additional
character).

 ls m*y // lists files and directories in the current directory whose names start with ‘m’,
followed by any number of characters, and ending with ‘y’.
Example: my, message, mystery, mighty etc.
 ls [abc]* // This command lists all files and directories in the current directory whose
names start with either a, b, or c. The * allows for any characters to follow these
initial letters.

Example: If the directory contains files named apple, banana, cat, dog, and zebra, the
command will list apple, banana, and cat. It will not list dog or zebra because they do
not start with a, b, or c.

 ls [a-c]* // This command lists files and directories in the current directory whose
names start with any character in the range a to c (inclusive), followed by zero or
more additional characters.

Example: If the directory contains files named apple, banana, cat, dog, and zebra, the
command will list apple, banana, and cat. Again, dog and zebra will not be listed
because they start with characters outside the specified range a-c.

 ls [c-a]* // invalid command. Ranges in brackets must be specified in ascending


order. Most shells will either ignore this pattern or show an error, depending on their
behaviour.

PASTE
 paste file1 file2: Merges lines from file1 and file2 side by side with tabs.
 paste -d ',' file1 file2: Uses a comma as the delimiter.
 paste file1 file2 file3: Combines lines from multiple files.
 paste -: Reads from standard input.

CUT
The cut command is used to extract sections from each line of input. It can be used to cut
out sections of text from a file or standard input based on delimiters or character positions.
Syntax: cut [OPTION]... [FILE]...

Common Options:

 -b : Select only these bytes.


 -c : Select only these characters.
 -d : Specify a delimiter (default is TAB).
 -f : Select only these fields, using the delimiter specified by -d.
Consider,

File: data.txt

Content:

name,age,location

Alice,30,New York

Bob,25,Los Angeles

Examples:

 cut -d ',' -f 1,2 data.txt // to extract the ‘name’ and ‘age’ fields
 cut -c 1-5 file.txt // To extract characters 1 to 5 from each line of file.txt

TR Command

The tr command is used for translating or deleting characters. It operates on streams of text
and is often used to replace characters or remove them entirely.

 tr 'a' '@' < file.txt // To replace all occurrences of a with @ in a file


 tr -d ' ' < file.txt // To delete all spaces from the input
 tr 'a-z' 'A-Z' < file.txt // To convert all lowercase letters to uppercase

Combining cut and tr,

cut -d ',' -f 2 file.txt | tr -d ' ' // Extract the second field and remove spaces

That is, this command first extracts the second field using cut and then pipes the result to tr to
remove all spaces.
1. Regular Files

 Description: These are the most common files, containing data such as text, binaries,
images, etc.
 Identification: They don’t have any special indicators. When listing files using ls -
l, they are denoted by a - at the beginning of the permissions string.
 Example: document.txt, script.sh, program.bin

2. Directories

 Description: Directories are containers that hold files and other directories.
 Identification: Denoted by a d at the beginning of the permissions string when listing
files with ls -l.
 Example: /home, /usr/bin

3. Symbolic Links (Symlinks)

 Description: These are references or pointers to other files or directories. They act as
shortcuts.
 Identification: Denoted by an l at the beginning of the permissions string when
listing files with ls -l.
 Example: link_to_file (points to target_file)

4. Character Devices

 Description: These files represent devices that perform input and output operations
character by character. They are usually used for devices like terminals and serial
ports.
 Identification: Denoted by a c at the beginning of the permissions string when listing
files with ls -l.
 Example: /dev/tty, /dev/random

5. Block Devices

 Description: These files represent devices that perform input and output operations in
blocks (chunks of data). They are used for devices like hard drives and USB drives.
 Identification: Denoted by a b at the beginning of the permissions string when listing
files with ls -l.
 Example: /dev/sda, /dev/mapper/cryptroot

6. Pipes (FIFOs)

 Description: These files provide a way for processes to communicate with each
other. They are also known as named pipes.
 Identification: Denoted by a p at the beginning of the permissions string when listing
files with ls -l.
 Example: /tmp/myfifo
7. Sockets

 Description: These files are used for inter-process communication (IPC) on the same
machine. They provide a way for processes to send and receive data.
 Identification: Denoted by an s at the beginning of the permissions string when
listing files with ls -l.
 Example: /var/run/docker.sock

8. Special Files

 Description: These include various system files with special functionalities, like
/proc files that represent kernel and process information.
 Identification: These files may fall under any of the categories above but are often
found in specific directories like /proc or /sys.

Examples Using Commands

To see file types, you can use the ls -l command which lists files in long format, including
their types. Here’s an example:

$ ls -l
total 8
drwxr-xr-x 2 user user 4096 Aug 30 10:00 directory
-rw-r--r-- 1 user user 27 Aug 30 10:01 file.txt
lrwxrwxrwx 1 user user 11 Aug 30 10:02 symlink -> file.txt
crw-rw-rw- 1 root root 1, 3 Aug 30 10:03 tty
brw-rw---- 1 root disk 8, 0 Aug 30 10:04 sda
prw-r--r-- 1 user user 0 Aug 30 10:05 myfifo
srw-rw-rw- 1 user user 0 Aug 30 10:06 mysocket

 d denotes a directory
 - denotes a regular file
 l denotes a symbolic link
 c denotes a character device
 b denotes a block device
 p denotes a pipe (FIFO)
 s denotes a socket

To display filenames along with their sizes in the current directory using ls, grep, tr, and cut,
you can combine these commands as follows:

ls -l | grep '^-' | awk '{print $9, $5}'

 ls -l: Lists files and directories with detailed information in the current directory,
including permissions, number of links, owner, group, size, modification date, and filename.
 grep '^-': Filters the output to include only lines that start with -, which indicates regular
files. Lines starting with d are directories, and lines starting with other characters might be
symbolic links, device files, etc.

 awk '{print $9, $5}': Extracts and prints the filename and its size. The filename is
typically the 9th field, and the size is the 5th field in the output of ls -l.

ls -l: Produces a long listing format.


-rw-r--r-- 1 user group 1234 Aug 30 12:34 filename1
-rw-r--r-- 1 user group 5678 Aug 30 12:35 filename2

grep '^-': Filters out only the lines starting with -, which are regular files.
-rw-r--r-- 1 user group 1234 Aug 30 12:34 filename1
-rw-r--r-- 1 user group 5678 Aug 30 12:35 filename2

awk '{print $9, $5}': Extracts and displays the filename and size:
filename1 1234
filename2 5678

You might also like