Initial Core 2 study project
This commit is contained in:
commit
10de90430c
120 changed files with 12696 additions and 0 deletions
347
notes/OS-9-linux-client-tools.md
Normal file
347
notes/OS-9-linux-client-tools.md
Normal file
|
|
@ -0,0 +1,347 @@
|
|||
# OS-9: Linux Client Tools
|
||||
|
||||
Status: not started
|
||||
|
||||
Domain:
|
||||
- 1.0 Operating Systems
|
||||
|
||||
Objective alignment:
|
||||
- 1.9 Linux client tools
|
||||
|
||||
## What You Need To Know
|
||||
|
||||
Linux questions on Core 2 usually test:
|
||||
- Basic file navigation
|
||||
- Permissions and ownership
|
||||
- Important configuration files
|
||||
- Package managers
|
||||
- Network commands
|
||||
- Process and disk usage commands
|
||||
- The difference between normal user and root/admin actions
|
||||
|
||||
## Memory Tricks
|
||||
|
||||
Command buckets:
|
||||
- **Files**: `ls`, `pwd`, `mv`, `cp`, `rm`, `find`, `cat`
|
||||
- **Permissions**: `chmod`, `chown`, `sudo`, `su`
|
||||
- **Network**: `ip`, `ping`, `curl`, `dig`, `traceroute`
|
||||
- **System**: `top`, `ps`, `df`, `du`, `mount`, `fsck`
|
||||
- **Help**: `man`
|
||||
|
||||
Key files:
|
||||
- `/etc/passwd`: user account list
|
||||
- `/etc/shadow`: password hashes
|
||||
- `/etc/hosts`: local name-to-IP mappings
|
||||
- `/etc/resolv.conf`: DNS resolver settings
|
||||
- `/etc/fstab`: file systems mounted at boot
|
||||
|
||||
Memory hook:
|
||||
- **PASS users, SHADOW passwords, HOSTS names, RESOLV DNS, FSTAB mounts.**
|
||||
|
||||
## Linux Concepts
|
||||
|
||||
Root:
|
||||
- The all-powerful administrative account.
|
||||
- User ID `0`.
|
||||
|
||||
`sudo`:
|
||||
- Runs one command with elevated privileges.
|
||||
- Safer than staying logged in as root.
|
||||
|
||||
`su`:
|
||||
- Switches to another user, often root.
|
||||
- You remain that user until you exit.
|
||||
|
||||
Kernel:
|
||||
- Core of the operating system.
|
||||
- Manages hardware, memory, and processes.
|
||||
|
||||
Bootloader:
|
||||
- Starts the operating system during boot.
|
||||
|
||||
systemd:
|
||||
- System and service manager.
|
||||
- Starts and manages services, login sessions, logging, and other system processes.
|
||||
|
||||
## Commands To Enter
|
||||
|
||||
Safe commands:
|
||||
|
||||
```bash
|
||||
pwd
|
||||
```
|
||||
|
||||
What it does:
|
||||
- Prints the current working directory.
|
||||
|
||||
```bash
|
||||
ls
|
||||
```
|
||||
|
||||
What it does:
|
||||
- Lists files and directories.
|
||||
|
||||
```bash
|
||||
ls -l
|
||||
```
|
||||
|
||||
What it does:
|
||||
- Lists files with permissions, owner, group, size, and date.
|
||||
|
||||
```bash
|
||||
cat /etc/os-release
|
||||
```
|
||||
|
||||
What it does:
|
||||
- Shows Linux distribution details.
|
||||
|
||||
```bash
|
||||
cat /etc/passwd
|
||||
```
|
||||
|
||||
What it does:
|
||||
- Shows local user account entries.
|
||||
- Each line includes username, UID, GID, home directory, and shell.
|
||||
|
||||
```bash
|
||||
cat /etc/hosts
|
||||
```
|
||||
|
||||
What it does:
|
||||
- Shows local hostname-to-IP mappings.
|
||||
|
||||
```bash
|
||||
cat /etc/resolv.conf
|
||||
```
|
||||
|
||||
What it does:
|
||||
- Shows DNS resolver settings.
|
||||
|
||||
```bash
|
||||
cat /etc/fstab
|
||||
```
|
||||
|
||||
What it does:
|
||||
- Shows file systems configured to mount at startup.
|
||||
|
||||
```bash
|
||||
grep root /etc/passwd
|
||||
```
|
||||
|
||||
What it does:
|
||||
- Searches `/etc/passwd` for lines containing `root`.
|
||||
|
||||
```bash
|
||||
find . -name "*.txt"
|
||||
```
|
||||
|
||||
What it does:
|
||||
- Finds `.txt` files under the current directory.
|
||||
|
||||
```bash
|
||||
ip addr
|
||||
```
|
||||
|
||||
What it does:
|
||||
- Shows network interfaces and IP addresses.
|
||||
|
||||
```bash
|
||||
ip route
|
||||
```
|
||||
|
||||
What it does:
|
||||
- Shows routes, including the default gateway.
|
||||
|
||||
```bash
|
||||
ping -c 4 127.0.0.1
|
||||
```
|
||||
|
||||
What it does:
|
||||
- Sends four pings to the local loopback address.
|
||||
|
||||
```bash
|
||||
curl https://example.com
|
||||
```
|
||||
|
||||
What it does:
|
||||
- Retrieves data from a URL.
|
||||
|
||||
```bash
|
||||
dig example.com
|
||||
```
|
||||
|
||||
What it does:
|
||||
- Queries DNS for detailed domain information.
|
||||
- If `dig` is not installed, try `nslookup example.com`.
|
||||
|
||||
```bash
|
||||
traceroute example.com
|
||||
```
|
||||
|
||||
What it does:
|
||||
- Shows the route packets take to a destination.
|
||||
- If not installed, use `tracepath example.com` if available.
|
||||
|
||||
```bash
|
||||
top
|
||||
```
|
||||
|
||||
What it does:
|
||||
- Shows live process and resource usage.
|
||||
- Press `q` to quit.
|
||||
|
||||
```bash
|
||||
ps aux
|
||||
```
|
||||
|
||||
What it does:
|
||||
- Shows running processes.
|
||||
|
||||
```bash
|
||||
df -h
|
||||
```
|
||||
|
||||
What it does:
|
||||
- Shows mounted file systems and free space in human-readable units.
|
||||
|
||||
```bash
|
||||
du -h
|
||||
```
|
||||
|
||||
What it does:
|
||||
- Shows disk usage for files/directories.
|
||||
|
||||
```bash
|
||||
man grep
|
||||
```
|
||||
|
||||
What it does:
|
||||
- Opens the manual page for `grep`.
|
||||
- Press `q` to quit.
|
||||
|
||||
## Practice File Commands
|
||||
|
||||
Use these in a temporary folder:
|
||||
|
||||
```bash
|
||||
mkdir linux-practice
|
||||
cd linux-practice
|
||||
echo "Core 2 Linux practice" > notes.txt
|
||||
cp notes.txt copy.txt
|
||||
mv copy.txt renamed.txt
|
||||
ls -l
|
||||
grep Linux notes.txt
|
||||
chmod u+x renamed.txt
|
||||
ls -l
|
||||
cd ..
|
||||
rm -r linux-practice
|
||||
```
|
||||
|
||||
What they do:
|
||||
- `mkdir` creates a directory.
|
||||
- `cd` changes directory.
|
||||
- `echo ... > file` writes text to a file.
|
||||
- `cp` copies a file.
|
||||
- `mv` moves or renames a file.
|
||||
- `grep` searches inside a file.
|
||||
- `chmod u+x` adds execute permission for the owner.
|
||||
- `rm -r` removes a directory and its contents.
|
||||
|
||||
## Admin Commands To Know
|
||||
|
||||
Do not run these casually on important systems:
|
||||
|
||||
```bash
|
||||
sudo chown user:group file
|
||||
```
|
||||
|
||||
What it does:
|
||||
- Changes file owner/group.
|
||||
|
||||
```bash
|
||||
sudo apt update
|
||||
sudo apt install package-name
|
||||
```
|
||||
|
||||
What it does:
|
||||
- Updates package lists and installs software on Debian/Ubuntu-based systems.
|
||||
|
||||
```bash
|
||||
sudo dnf install package-name
|
||||
```
|
||||
|
||||
What it does:
|
||||
- Installs software on Fedora/Red Hat-based systems.
|
||||
|
||||
```bash
|
||||
sudo fsck /dev/device
|
||||
```
|
||||
|
||||
What it does:
|
||||
- Checks and repairs a file system.
|
||||
- Usually run on unmounted or read-only volumes.
|
||||
|
||||
```bash
|
||||
sudo mount /dev/device /mnt
|
||||
```
|
||||
|
||||
What it does:
|
||||
- Mounts a storage device to a directory.
|
||||
|
||||
## Windows Comparisons
|
||||
|
||||
- `ls` is like `dir`.
|
||||
- `pwd` is like checking your current path in Command Prompt/PowerShell.
|
||||
- `top` and `ps` are like Task Manager process views.
|
||||
- `df -h` is like checking drive free space.
|
||||
- `fsck` is like `chkdsk`.
|
||||
- `traceroute` is like Windows `tracert`.
|
||||
- `dig` is like `nslookup`, but usually more detailed.
|
||||
|
||||
## Mini Lab
|
||||
|
||||
Goal:
|
||||
- Practice common Linux commands safely.
|
||||
|
||||
Linux:
|
||||
1. Run `cat /etc/os-release`.
|
||||
2. Run `pwd`.
|
||||
3. Run `ls -l`.
|
||||
4. Run `cat /etc/passwd`.
|
||||
5. Run `cat /etc/hosts`.
|
||||
6. Run `cat /etc/resolv.conf`.
|
||||
7. Run `ip addr`.
|
||||
8. Run `ip route`.
|
||||
9. Run `df -h`.
|
||||
10. Run `ps aux`.
|
||||
11. Run `top`, then press `q`.
|
||||
12. Create and remove the `linux-practice` folder from the practice command section.
|
||||
|
||||
Record:
|
||||
- Distribution:
|
||||
- Current directory:
|
||||
- Current user:
|
||||
- DNS server:
|
||||
- Default gateway:
|
||||
- Root filesystem free space:
|
||||
- One running process:
|
||||
- What permission changed after `chmod u+x`:
|
||||
|
||||
Windows comparison:
|
||||
1. Run `dir`.
|
||||
2. Run `taskmgr`.
|
||||
3. Run `tracert example.com`.
|
||||
4. Run `nslookup example.com`.
|
||||
5. Record which Linux commands match those Windows tools.
|
||||
|
||||
## Quick Check Before Quiz
|
||||
|
||||
You are ready for the OS-9 quiz when you can answer these without looking:
|
||||
- Which file lists user accounts?
|
||||
- Which file stores password hashes?
|
||||
- Which command changes file permissions?
|
||||
- Which command shows live process/resource usage?
|
||||
- Which command shows disk free space?
|
||||
- Which package manager is common on Ubuntu/Debian?
|
||||
- Which command gives help/manual pages?
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue