Introduction
The command line interface (CLI) in Linux offers a powerful and efficient way to interact with the operating system. This article will guide you through essential command line tools and techniques in Linux.
From basic navigation and file manipulation to process management, you’ll gain a solid foundation in using the command line effectively. By mastering these essential skills, we become more proficient in managing our Linux systems and executing various tasks efficiently.
- Changing Directories:
cd
command: Change to a specific directory. For example,cd /path/to/directory
moves to the specified directory.cd ..
command: Move up one directory level. For instance,cd ..
moves to the parent directory.
- Listing Files and Directories:
ls
command: List files and directories in the current directory. Use options like-l
for a detailed list and-a
to include hidden files.
- Creating Directories and Files:
mkdir
command: Create a new directory. For example,mkdir new_directory
creates a directory named “new_directory”.touch
command: Create a new empty file. Usetouch filename
to create a file named “filename”.
- Copying Files and Directories:
cp
command: Copy files and directories. For instance,cp file.txt /path/to/destination
copies “file.txt” to the specified destination.cp -r
command: Copy directories and their contents recursively. Usecp -r directory /path/to/destination
to copy the directory and its contents.
- Moving and Renaming Files and Directories:
mv
command: Move or rename files and directories. For example,mv file.txt /path/to/destination
moves the file to the specified destination. Usemv oldname newname
to rename a file or directory.
- Removing Files and Directories:
rm
command: Remove files. For instance,rm file.txt
deletes the specified file.rm -r
command: Remove directories and their contents recursively. Userm -r directory
to delete the directory and its contents.
- Searching for Files and Text:
find
command: Search for files and directories based on various criteria. For example,find /path/to/search -name filename
searches for a file named “filename” in the specified path.grep
command: Search for text patterns within files. Usegrep pattern file.txt
to search for “pattern” in “file.txt”.
- Viewing File Contents:
cat
command: Display the contents of a file. For instance,cat file.txt
shows the contents of “file.txt”.less
command: View file contents page by page. Useless file.txt
to view the contents and navigate using the arrow keys or the Page Up/Page Down keys.
- Managing Processes:
ps
command: Display information about running processes. Use options likeps aux
to show a detailed list of all processes, including system and user processes.top
command: Monitor real-time information about running processes, including CPU and memory usage. Pressq
to exit thetop
command.
- Process Control:
kill
command: Terminate a process by its process ID (PID). For example,kill PID
terminates the process with the specified PID.killall
command: Terminate processes by their name. Usekillall process_name
to terminate all processes with the specified name.
- Process Prioritization:
nice
command: Launch a command with a specific priority. For instance,nice -n 10 command
starts the command with a lower priority (higher nice value).renice
command: Change the priority of running processes. Userenice priority PID
to adjust the priority of a running process.
- Background and Foreground Execution:
&
operator: Execute a command in the background. For example,command &
runs the command in the background, allowing you to continue using the terminal.fg
command: Bring a background process to the foreground. Usefg %job_number
to resume a background process.
- Monitoring Process Resources:
htop
command: Interactive process viewer with real-time resource monitoring. It provides a more user-friendly and feature-rich alternative totop
.atop
command: Advanced system and process monitor that records resource usage. Useatop
to view historical information about processes and system activity.
- Process Information:
/proc
directory: Explore the/proc
directory to access detailed information about processes. Each process has a corresponding directory with its process ID (PID).