Documentation Index
Fetch the complete documentation index at: https://programming-for-career.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
The command line interface (CLI) is a powerful tool that allows users to interact with a computer by typing commands instead of using a graphical interface. Mastering the CLI can help you navigate your operating system efficiently, automate tasks, and execute complex commands.
What is the Command Line?
The command line, also known as the terminal, shell, or command prompt, is a text-based interface used to interact with the operating system. It allows users to execute commands to perform actions such as navigating directories, managing files, and running scripts.
Common CLI Environments
- Windows: Command Prompt (
cmd.exe), PowerShell
- macOS & Linux: Terminal, Bash Shell, Zsh
Why Learn the Command Line?
- Efficiency: Faster navigation and file management.
- Automation: Execute scripts to perform repetitive tasks.
- Flexibility: Access advanced system features and configurations.
- Essential for Developers: Many programming tools require command-line knowledge.
Basic Command Line Commands
Here are some fundamental CLI commands categorized by functionality:
1. Navigating the File System
| Command | Description | Windows | macOS/Linux |
|---|
pwd | Print current directory | ❌ | ✅ |
cd | Change directory | ✅ | ✅ |
ls | List files in directory | ❌ | ✅ |
dir | List files in directory | ✅ | ❌ |
2. File and Directory Management
| Command | Description | Windows | macOS/Linux |
|---|
mkdir <folder> | Create a new directory | ✅ | ✅ |
rmdir <folder> | Remove an empty directory | ✅ | ✅ |
rm -r <folder> | Remove a directory and its contents | ❌ | ✅ |
del <file> | Delete a file | ✅ | ❌ |
rm <file> | Delete a file | ❌ | ✅ |
3. Viewing File Content
| Command | Description | Windows | macOS/Linux |
|---|
type <file> | Display file contents | ✅ | ❌ |
cat <file> | Display file contents | ❌ | ✅ |
more <file> | View file one page at a time | ✅ | ✅ |
less <file> | View file with navigation | ❌ | ✅ |
4. Managing Processes
| Command | Description | Windows | macOS/Linux |
|---|
tasklist | Show running processes | ✅ | ❌ |
ps | Show running processes | ❌ | ✅ |
taskkill /F /IM <process> | Kill a process | ✅ | ❌ |
kill <PID> | Kill a process | ❌ | ✅ |
5. Networking Commands
| Command | Description | Windows | macOS/Linux |
|---|
ping <domain> | Check network connectivity | ✅ | ✅ |
ipconfig | Display network details | ✅ | ❌ |
ifconfig | Display network details | ❌ | ✅ |
tracert <domain> | Trace network route | ✅ | ❌ |
traceroute <domain> | Trace network route | ❌ | ✅ |
Advanced Command Line Usage
Using Wildcards
*.txt - Selects all text files in a directory.
? - Represents a single character in a filename.
Chaining Commands
command1 && command2 - Run command2 only if command1 succeeds.
command1 || command2 - Run command2 only if command1 fails.
command1 ; command2 - Run both commands regardless of success.
Redirecting Output
> - Redirect output to a file (echo Hello > output.txt).
>> - Append output to a file (echo Hello >> output.txt).
| - Pipe output from one command to another (ls | grep .txt).
Real-World Exercises
To reinforce your learning, try these real-world exercises:
-
Navigation Practice
- Open the terminal and navigate to different directories using
cd.
- Use
pwd to check your current location.
- List files in different directories using
ls or dir.
-
File and Directory Management
- Create a directory named
Projects and navigate into it.
- Inside
Projects, create a file called notes.txt using touch (macOS/Linux) or echo. > notes.txt (Windows).
- Delete the file using
rm notes.txt (Linux/macOS) or del notes.txt (Windows).
-
Redirecting and Piping
- Create a text file and add some lines to it using
echo.
- Use
cat (or type on Windows) to view the content.
- Redirect the output to another file using
>.
- Use
grep (or findstr on Windows) to filter specific content from the file.
-
Process Management
- Open a text editor or application.
- Use
ps (Linux/macOS) or tasklist (Windows) to find its process ID.
- Kill the process using
kill <PID> (Linux/macOS) or taskkill /F /IM <process> (Windows).
-
Networking Commands
- Use
ping google.com to check internet connectivity.
- Run
traceroute google.com (Linux/macOS) or tracert google.com (Windows) to see network hops.
- Find your local network details using
ipconfig or ifconfig.
Conclusion
The command line is a crucial skill for anyone working with computers, especially developers and system administrators. By mastering the basics, you can efficiently manage files, automate tasks, and control your system like a pro.
Start practicing these commands today, and you’ll soon navigate the CLI with confidence!