As you transition from a beginner to an intermediate Linux user, the complexity of tasks you can handle increases significantly. This progression involves using more sophisticated commands that enhance your efficiency and allow deeper system interaction. Here, we’ll discuss some crucial Linux commands that are vital for intermediate users looking to expand their command line proficiency.
1. grep
– Search Text with Advanced Options
- What it does: Searches for text within files using patterns. At an intermediate level, using regex (regular expressions) with
grep
becomes essential. - Usage:
grep -E [pattern] [file]
to use extended regular expressions. Combine with other options like-o
to show only the matching parts of the line.
grep -E "^a.*z$" filename.txt
2. sed
– Stream Editor
- What it does: Processes text in a stream, allowing you to automatically edit files based on predefined rules.
- Usage:
sed 's/original/replacement/' file
to replace the first instance of “original” with “replacement” in each line of a text.
sed -i 's/hello/world/g' example.txt
3. awk
– Pattern Scanning and Processing Language
- What it does: Scans and processes data based on specified patterns.
awk
is incredibly powerful for text processing and data extraction. - Usage:
awk '/pattern/ {action}' file
to perform actions on lines matching the pattern.
awk '/^a/ {print $1}' file.txt
4. find
– Search for Files in a Directory Hierarchy
- What it does: Locates files within a directory hierarchy based on conditions such as name, size, type, etc.
- Usage:
find [path] [options]
to find files and directories based on various criteria.
find /home/user -name "*.txt"
5. chmod
– Change File Modes or Access Permissions
- What it does: Modifies the access permissions of files and directories.
- Usage:
chmod [options] mode file
to change the permissions of a file or directory.
chmod 755 script.sh
6. chown
– Change File Owner and Group
- What it does: Changes the owner and/or group of a file or directory.
- Usage:
chown [owner][:group] file
to change ownership.
chown user:group file.txt
7. df
– Report File System Disk Space Usage
- What it does: Displays information regarding the amount of available disk space on file systems.
- Usage:
df -h
to get the disk space usage in human-readable form.
df -h
8. du
– Estimate File Space Usage
- What it does: Estimates and displays the disk space used by files and directories.
- Usage:
du -sh [directory]
to see the total space used in human-readable format.
du -sh /var/log
9. top
– Task Manager
- What it does: Provides a dynamic real-time view of a running system. It can display system summary information and a list of tasks being managed by the kernel.
- Usage:
top
to view active processes and their system resource usage.
top
10. crontab
– Schedule Periodic Background Jobs
- What it does: Edits the cron table for scheduling scripts or commands to run at specified times and intervals.
- Usage:
crontab -e
to edit your cron jobs,crontab -l
to list cron jobs.
crontab -l
11. ssh
– Secure Shell
- What it does: Connects you securely to a remote server over an insecure network.
- Usage:
ssh [user]@[host]
to log into a remote server as a specified user.
ssh [email protected]
12. tail
and head
– View Portions of Files
- What it does:
tail
displays the last part of files,head
shows the first part of files. Both are useful for quickly viewing data. - Usage:
tail -f [file]
to continuously view new lines added to a file;head -n 10 [file]
to view the first 10 lines.
tail -f /var/log/syslog
head -n 10 /etc/passwd
These commands provide a foundation for managing your system at a more advanced level, automating tasks, and efficiently handling data and files. As you practice and incorporate these commands into your daily usage, you’ll discover even more capabilities and develop a deeper understanding of the Linux operating system.