Linux Commands Complete

Anic_an_engineer
By -

 1.1 ls - List directory contents ls -l /home

Description: Lists all files and directories in /home with detailed information.

Options:

o

-l: Long format (permissions, owner, size, etc.)

o

-a: Show hidden files.

o

-h: Human-readable file sizes.

1.2 cd - Change directory cd /var/log

Description: Moves to the /var/log directory.

Tips:

o

cd ..: Go to the parent directory.

o

cd ~: Go to the home directory.

1.3 pwd - Print working directory pwd

Description: Outputs the full path of the current working directory.

1.4 mkdir - Create directories mkdir -p /tmp/test_dir/sub_dir

Description: Creates /tmp/test_dir and sub_dir if they don’t already exist.

o

-p: Create parent directories as needed.

1.5 rmdir - Remove empty directories rmdir /tmp/test_dir/sub_dir

Description: Removes the sub_dir if it's empty.

1.6 rm - Remove files or directories rm -rf /tmp/test_dir

Description: Deletes the test_dir directory and its contents recursively.

Options:

o

-r: Recursive delete.

o

-f: Force delete without confirmation.

1.7 cp - Copy files or directories cp -r /etc/nginx /tmp/

Description: Copies the /etc/nginx directory to /tmp/.

Options:

o

-r: Copy directories recursively.

1.8 mv - Move or rename files mv /tmp/nginx /tmp/nginx_backup

Description: Renames or moves /tmp/nginx to /tmp/nginx_backup.

1.9 touch - Create empty files touch newfile.txt

Description: Creates an empty file named newfile.txt.

1.10 stat - Display file status stat newfile.txt

Description: Provides detailed information about the file, such as size, permissions, and timestamps.

2. File Viewing and Editing

2.1 cat - View file contents cat /etc/hosts

Description: Displays the contents of /etc/hosts.

Tips:

o

Use cat file1 file2 > combined_file to concatenate files.

2.2 less - View file contents page by page less /var/log/syslog

Description: Opens the /var/log/syslog file in a scrollable view.

2.3 head - Display the first lines of a file head -n 5 /etc/passwd

Description: Shows the first 5 lines of the /etc/passwd file.

2.4 tail - Display the last lines of a file tail -n 10 /var/log/syslog

Description: Shows the last 10 lines of the /var/log/syslog file.

Tips:

o

Use tail -f to monitor a file in real time.

2.5 nano - Edit files nano /tmp/test.txt

Description: Opens test.txt in the Nano text editor.

Tips:

o

Ctrl + O: Save.

o

Ctrl + X: Exit.

3. File Permissions and Ownership

3.1 chmod - Change file permissions chmod 644 /tmp/test.txt

Description: Sets the file permissions to rw-r--r-- for test.txt.

Options:

o

777: Full permissions for all.

o

644: Owner can read/write, others can only read.

3.2 chown - Change file ownership chown user:user /tmp/test.txt

Description: Changes the owner and group of test.txt to user.

3.3 umask - Set default file permissions umask 022

Description: Sets the default permission for new files to 755.

4. Searching and Finding Files

4.1 find - Search for files find / -name "test.txt"

Description: Searches for files named test.txt in the root directory.

Options:

o

-type f: Search for files.

o

-type d: Search for directories.

4.2 grep - Search inside files grep "error" /var/log/syslog

Description: Searches for the term error in /var/log/syslog.

5. Networking

5.1 ping - Test network connectivity ping -c 4 google.com

Description: Sends 4 ICMP packets to google.com to check connectivity.

5.2 curl - Send HTTP requests curl https://example.com

Description: Fetches the contents of https://example.com.

6. Disk and Filesystem Management

6.1 df - Display disk space usage df -h

Description: Shows disk space usage in a human-readable format.

Options:

o

-h: Human-readable sizes.

o

-T: Displays filesystem type.

6.2 du - Display directory size du -sh /var/log

Description: Shows the size of the /var/log directory.

Options:

o

-s: Summary for the directory.

o

-h: Human-readable format.

6.3 mount - Mount a filesystem mount /dev/sdb1 /mnt

Description: Mounts the partition /dev/sdb1 to /mnt.

Options:

o

-t ext4: Specify the filesystem type.

6.4 umount - Unmount a filesystem umount /mnt

Description: Unmounts the /mnt directory.

6.5 lsblk - List information about block devices lsblk

Description: Displays information about block devices, such as partitions.

6.6 blkid - Display block device UUIDs blkid

Description: Lists the UUIDs and filesystem types of block devices.

6.7 fsck - Filesystem check and repair fsck /dev/sdb1

Description: Checks and repairs filesystem errors on /dev/sdb1.

6.8 mkfs - Create a filesystem mkfs.ext4 /dev/sdb1

Description: Formats /dev/sdb1 with the ext4 filesystem.

7. Process Management

7.1 ps - Display process information ps aux | grep apache

Description: Lists all processes with details and filters for apache.

7.2 top - Monitor system processes top

Description: Displays a real-time view of system processes and resource usage.

7.3 htop - Enhanced process viewer

htop

Description: Provides an interactive process viewer (requires installation).

7.4 kill - Terminate a process kill -9 1234

Description: Sends the SIGKILL signal to terminate process 1234.

7.5 pkill - Kill processes by name pkill -f apache

Description: Terminates all processes with apache in their name.

7.6 jobs - List background jobs jobs

Description: Displays jobs running in the background.

7.7 bg - Resume a job in the background bg %1

Description: Resumes job 1 in the background.

7.8 fg - Bring a job to the foreground fg %1

Description: Brings job 1 to the foreground.

8. User Management

8.1 who - Show who is logged in who

Description: Lists users currently logged into the system.

8.2 whoami - Show the current user whoami

Description: Displays the username of the current user.

8.3 adduser - Add a new user sudo adduser john

Description: Creates a new user john.

8.4 usermod - Modify user details sudo usermod -aG sudo john

Description: Adds john to the sudo group.

8.5 passwd - Change user password passwd john

Description: Changes the password for user john.

8.6 deluser - Remove a user sudo deluser john

Description: Deletes user john.

9. Networking

9.1 ifconfig - Display or configure network interfaces ifconfig

Description: Shows network interface details.

Note: Use ip a for modern systems.

9.2 ip - Display or configure IP addresses ip a

Description: Lists all network interfaces and their IP addresses.

9.3 netstat - Network statistics netstat -tuln

Description: Lists open ports and active connections.

Options:

o

-t: TCP connections.

o

-u: UDP connections.

9.4 traceroute - Trace the route to a host traceroute google.com

Description: Displays the path packets take to reach google.com.

9.5 wget - Download files from the web wget https://example.com/file.zip

Description: Downloads file.zip from example.com.

9.6 scp - Securely copy files between systems scp file.txt user@192.168.1.10:/tmp/

Description: Copies file.txt to /tmp/ on a remote host.

10. System Monitoring

10.1 uptime - System uptime and load uptime

Description: Shows how long the system has been running.

10.2 free - Display memory usage free -h

Description: Displays memory usage in a human-readable format.

10.3 vmstat - System performance metrics vmstat 1 5

Description: Provides CPU, memory, and I/O stats every second for 5 seconds.

10.4 iostat - CPU and I/O statistics iostat

Description: Shows CPU and disk I/O statistics.

10.5 sar - System activity report sar -u 1 3

Description: Displays CPU usage over 3 intervals.

11. Package Management

11.1 apt - Manage packages on Debian-based systems sudo apt update && sudo apt upgrade -y

Description: Updates the package list and upgrades all packages to the latest version.

Options:

o

install: Install a package (sudo apt install nginx).

o

remove: Uninstall a package (sudo apt remove nginx).

o

search: Search for a package (apt search apache).

11.2 yum - Manage packages on RHEL-based systems sudo yum install httpd

Description: Installs the Apache web server on Red Hat-based distributions.

Options:

o

update: Update all packages (sudo yum update).

o

remove: Remove a package (sudo yum remove httpd).

11.3 dnf - Next-gen package manager for RHEL systems sudo dnf install vim

Description: Installs the Vim editor using dnf.

11.4 rpm - Manage RPM packages rpm -ivh package.rpm

Description: Installs an RPM package.

Options:

o

-e: Remove a package (rpm -e package_name).

o

-q: Query installed packages (rpm -q package_name).

11.5 snap - Manage Snap packages sudo snap install vlc

Description: Installs the VLC media player as a Snap package.

12. Archiving and Compression

12.1 tar - Archive files tar -cvf archive.tar /path/to/files

Description: Archives files into archive.tar.

Options:

o

-c: Create an archive.

o

-x: Extract an archive.

o

-z: Compress with gzip (tar -czvf archive.tar.gz /path/to/files).

12.2 gzip - Compress files gzip file.txt

Description: Compresses file.txt into file.txt.gz.

12.3 gunzip - Decompress files gunzip file.txt.gz

Description: Decompresses file.txt.gz back to file.txt.

12.4 zip - Compress files into a zip archive zip archive.zip file1.txt file2.txt

Description: Compresses file1.txt and file2.txt into archive.zip.

12.5 unzip - Extract a zip archive

unzip archive.zip

Description: Extracts all files from archive.zip.

13. Security and Permissions

13.1 sudo - Execute a command as superuser sudo apt install nginx

Description: Runs the apt install nginx command as a superuser.

13.2 passwd - Change user password sudo passwd username

Description: Sets or changes the password for the username.

13.3 chmod - Modify file permissions chmod 755 script.sh

Description: Sets permissions to rwxr-xr-x for script.sh.

13.4 chown - Change file ownership sudo chown user:group file.txt

Description: Changes the owner and group of file.txt to user and group.

13.5 iptables - Manage firewall rules sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Description: Allows incoming SSH traffic on port 22.

13.6 ufw - Uncomplicated Firewall sudo ufw allow 80

Description: Allows incoming HTTP traffic on port 80.

13.7 ssh - Connect to a remote server ssh user@192.168.1.10

Description: Connects to the remote server with IP 192.168.1.10 as user.

13.8 scp - Securely copy files scp file.txt user@192.168.1.10:/tmp/

Description: Copies file.txt to the /tmp/ directory on a remote host.

14. Text Processing

14.1 cat - Concatenate and display file contents

cat file.txt

Description: Displays the contents of file.txt.

14.2 grep - Search text patterns in files grep "error" /var/log/syslog

Description: Searches for the word "error" in /var/log/syslog.

14.3 awk - Pattern scanning and processing awk '{print $1}' file.txt

Description: Prints the first column of file.txt.

14.4 sed - Stream editor for transforming text sed 's/old/new/g' file.txt

Description: Replaces "old" with "new" in file.txt.

14.5 sort - Sort lines in a file sort file.txt

Description: Sorts the lines in file.txt alphabetically.

14.6 uniq - Remove duplicate lines uniq file.txt

Description: Removes consecutive duplicate lines in file.txt.

14.7 wc - Word, line, and character count wc -l file.txt

Description: Counts the number of lines in file.txt.

14.8 cut - Extract sections of text cut -d':' -f1 /etc/passwd

Description: Extracts the first field (username) from /etc/passwd.

15. Shell Scripting

15.1 Basic Shell Script #!/bin/bash echo "Hello, World!"

Description: A simple shell script that prints "Hello, World!".

Usage: chmod +x script.sh

./script.sh

15.2 Variables in Scripts #!/bin/bash name="Linux" echo "Welcome to $name scripting!"

Description: Demonstrates how to use variables in shell scripts.

15.3 Loops in Scripts #!/bin/bash for i in 1 2 3 4 5; do echo "Number: $i" done

Description: A for loop that prints numbers from 1 to 5.

15.4 Conditional Statements #!/bin/bash if [ $1 -gt 10 ]; then echo "Greater than 10" else echo "Less than or equal to 10" fi

Description: A script that checks if a number is greater than 10.

16. System Information

16.1 uname - System information uname -a

Description: Displays system kernel and architecture details.

16.2 hostname - Display hostname hostname

Description: Outputs the hostname of the machine.

16.3 uptime - System uptime uptime

Description: Shows how long the system has been running.

17. System Performance Monitoring

17.1 vmstat - System performance statistics vmstat 1 5

Description: Displays system performance metrics (CPU, memory, I/O) every 1 second for 5 iterations.

17.2 iostat - CPU and I/O usage iostat -x

Description: Shows detailed CPU and disk I/O statistics.

17.3 sar - Historical performance data sar -u 1 5

Description: Displays CPU usage over 5 intervals, collected every 1 second.

17.4 top - Real-time process monitoring top

Description: Shows a dynamic real-time view of processes and system resource usage.

17.5 htop - Interactive process monitoring htop

Description: Interactive and visually enriched version of top (requires installation).

17.6 free - Memory usage free -m

Description: Displays memory usage in megabytes.

Options:

o

-g: Display in gigabytes.

o

-h: Human-readable format.

17.7 dstat - Comprehensive system monitoring dstat

Description: Displays real-time CPU, disk, and network usage.

18. Troubleshooting and Logs

18.1 dmesg - Kernel ring buffer dmesg | grep error

Description: Filters kernel logs for "error" messages.

18.2 journalctl - Systemd logs journalctl -u nginx.service

Description: Shows logs related to the nginx service.

18.3 lsof - List open files lsof -i :80

Description: Lists processes using port 80.

18.4 strace - Trace system calls strace -c ls

Description: Tracks and summarizes system calls made by the ls command.

18.5 tcpdump - Network packet analyzer sudo tcpdump -i eth0 port 80

Description: Captures network traffic on port 80 for the eth0 interface.

18.6 netstat - Network connections netstat -tuln

Description: Lists all listening ports and established connections.

18.7 ss - View network sockets ss -tuln

Description: Displays listening TCP and UDP ports.

19. Advanced Scripting

19.1 Functions in Shell Scripts #!/bin/bash greet() { echo "Hello, $1!" } greet "World"

Description: Demonstrates a function that greets the given input.

19.2 Array Handling #!/bin/bash arr=("apple" "banana" "cherry") for fruit in "${arr[@]}"; do echo "Fruit: $fruit" done

Description: Iterates through an array and prints each element.

19.3 Reading User Input #!/bin/bash read -p "Enter your name: " name echo "Welcome, $name!"

Description: Prompts the user for input and prints a welcome message.

20. Development Tools

20.1 gcc - Compile C programs gcc -o hello hello.c

Description: Compiles hello.c into an executable named hello.

20.2 make - Build automation make

Description: Executes the build process defined in a Makefile.

20.3 git - Version control git clone https://github.com/example/repo.git

Description: Clones a Git repository from the specified URL.

Other Commands:

o

git add file: Stage changes.

o

git commit -m "message": Commit staged changes.

21. Scheduling and Automation

21.1 cron - Schedule recurring tasks

Setup a Cron Job: crontab -e

Example Cron Entry: javascript Copy code 0 2 * * * /path/to/script.sh

o

Description: Runs script.sh every day at 2:00 AM.

21.2 at - Schedule a one-time task echo "shutdown -h now" | at 10:00 PM

Description: Schedules a system shutdown at 10:00 PM.

22. File Synchronization

22.1 rsync - Synchronize files/directories rsync -av /source/ /destination/

Description: Synchronizes /source/ with /destination/.

Options:

o

-a: Archive mode.

o

-v: Verbose output.

23. Containers and Virtualization

23.1 docker - Manage Docker containers docker run -d -p 8080:80 nginx

Description: Runs an NGINX container and maps port 8080 to the container’s port 80.

23.2 kubectl - Manage Kubernetes clusters kubectl get pods

Description: Lists all running pods in the Kubernetes cluster.

24. Miscellaneous

24.1 alias - Create command shortcuts alias ll='ls -la'

Description: Defines ll as an alias for ls -la.

24.2 time - Measure command execution time time ls

Description: Measures how long the ls command takes to execute.

24.3 uptime - System uptime uptime

Description: Displays how long the system has been running.

5. Cloud and DevOps Tools

25.1 AWS CLI aws s3 ls s3://my-bucket

Description: Lists all objects in the my-bucket S3 bucket.

Other Examples:

o

Upload file: aws s3 cp file.txt s3://my-bucket/

o

Download file: aws s3 cp s3://my-bucket/file.txt ./

25.2 Terraform terraform init

Description: Initializes a Terraform working directory.

Other Commands:

o

terraform plan: Previews infrastructure changes.

o

terraform apply: Applies infrastructure changes.

25.3 Kubernetes (kubectl) kubectl describe pod my-pod

Description: Shows detailed information about my-pod.

25.4 Docker docker build -t my-app .

Description: Builds a Docker image named my-app from the current directory.

26. Advanced File Handling

26.1 xargs - Execute commands on input cat files.txt | xargs rm

Description: Reads file names from files.txt and deletes them.

26.2 tee - Redirect and output simultaneously echo "Logging this message" | tee log.txt

Description: Writes "Logging this message" to the terminal and log.txt.

26.3 split - Split large files split -b 10M largefile part_

Description: Splits largefile into 10MB chunks named part_aa, part_ab, etc.

27. Compression and Archiving

27.1 xz - Compress files with high compression xz file.txt

Description: Compresses file.txt into file.txt.xz.

27.2 7z - Compress files using 7-zip 7z a archive.7z file.txt

Description: Compresses file.txt into a .7z archive.

28. Network Monitoring

28.1 nmap - Network scanner nmap -sV 192.168.1.1

Description: Scans the host at 192.168.1.1 for open ports and services.

28.2 dig - Query DNS records dig example.com

Description: Fetches DNS information for example.com.

29. User Management

29.1 id - Show user ID and group ID id

Description: Displays the current user's UID and GID.

29.2 groupadd - Add a new group sudo groupadd developers

Description: Creates a new group named developers.

29.3 groups - Show groups for a user groups username

Description: Lists all groups the username belongs to.

30. Security

30.1 gpg - Encrypt and decrypt files

Encrypt a file: gpg -c file.txt

Decrypt a file:

gpg file.txt.gpg

30.2 fail2ban - Prevent brute-force attacks sudo fail2ban-client status

Description: Shows the status of the fail2ban service.

31. Process Management (Advanced)

31.1 nice - Set process priority nice -n 10 ./script.sh

Description: Runs script.sh with a lower priority (nice value of 10).

31.2 renice - Adjust priority of a running process renice -n -5 -p 1234

Description: Sets process 1234 to a higher priority (-5).

32. System Troubleshooting

32.1 uptime uptime -p

Description: Shows the system uptime in a human-readable format.

32.2 iotop - Monitor disk I/O usage sudo iotop

Description: Displays real-time disk I/O by processes.

33. Time and Date

33.1 date - Display or set the date date "+%Y-%m-%d %H:%M:%S"

Description: Displays the current date and time in the specified format.

33.2 timedatectl - Manage system time timedatectl set-time "2024-01-01 10:00:00"

Description: Sets the system date and time.

34. System Backup

34.1 rsync - Sync files and directories rsync -avz /source /backup/

Description: Backs up /source to /backup with compression (-z).

35. Miscellaneous

35.1 uptime - System uptime uptime

Description: Displays the time since the system last booted.

35.2 bc - Command-line calculator echo "10+5" | bc

Description: Performs basic arithmetic.

35.3 yes - Auto-answer prompts yes | sudo apt upgrade

Description: Automatically confirms all prompts with "yes."

36. Advanced Utilities

36.1 watch - Run a command periodically watch -n 2 ls -lh

Description: Runs ls -lh every 2 seconds and displays the output.

36.2 alias - Create command shortcuts alias ll='ls -la'

Description: Defines ll as a shortcut for ls -la.

36.3 unalias - Remove an alias unalias ll

Description: Removes the ll alias.

36.4 locate - Quickly find files locate myfile.txt

Description: Searches for myfile.txt using a pre-built file database.

36.5 updatedb - Update the locate database sudo updatedb

Description: Refreshes the database used by locate.

37. Disk Management

37.1 fdisk - Partition a disk sudo fdisk /dev/sda

Description: Opens a menu to create, modify, or delete partitions on /dev/sda.

37.2 parted - Advanced partitioning tool sudo parted /dev/sdb mklabel gpt

Description: Creates a new GPT partition table on /dev/sdb.

37.3 lsblk - List information about block devices lsblk -f

Description: Displays a tree view of block devices and their filesystems.

37.4 mkfs - Create a filesystem sudo mkfs.ext4 /dev/sdb1

Description: Formats /dev/sdb1 with the ext4 filesystem.

37.5 mount - Mount a filesystem sudo mount /dev/sdb1 /mnt/data

Description: Mounts /dev/sdb1 to /mnt/data.

37.6 umount - Unmount a filesystem sudo umount /mnt/data

Description: Unmounts /mnt/data.

38. System Diagnostics

38.1 uptime - System load and uptime uptime

Description: Displays system uptime and load averages.

38.2 dmesg - Kernel log messages dmesg | tail -20

Description: Shows the last 20 kernel messages.

38.3 sar - Performance statistics sar -r 1 5

Description: Displays memory usage over 5 intervals.

38.4 lsof - List open files sudo lsof /path/to/file

Description: Shows processes that have the specified file open.

38.5 iotop - Monitor disk I/O usage sudo iotop

Description: Displays real-time disk I/O by processes.

39. Performance Optimization

39.1 sysctl - Modify kernel parameters sudo sysctl -w net.ipv4.ip_forward=1

Description: Enables IP forwarding.

39.2 nice - Set priority for a command nice -n 10 ./script.sh

Description: Runs script.sh with a lower CPU priority.

39.3 renice - Change priority of a running process renice -n 5 -p 1234

Description: Adjusts the priority of process ID 1234 to 5.

40. Backup and Restore

40.1 tar - Archive files tar -czvf backup.tar.gz /path/to/directory

Description: Archives and compresses a directory into backup.tar.gz.

40.2 rsync - Sync files rsync -avz /source/ /destination/

Description: Synchronizes files between /source and /destination.

40.3 scp - Securely copy files scp file.txt user@remote:/path/

Description: Copies file.txt to a remote server.

40.4 dd - Create a disk image dd if=/dev/sda of=/backup/disk.img bs=4M

Description: Backs up the /dev/sda disk to an image file.

41. Advanced Networking

41.1 ip - Manage network interfaces ip a

Description: Displays all network interfaces and IP addresses.

41.2 netcat (nc) - Debug network connections nc -zv 192.168.1.1 22

Description: Checks if port 22 is open on 192.168.1.1

#buttons=(Accept !) #days=(20)

Our website uses cookies to enhance your experience. Check Now
Accept !