Loading
Loading
Linux is the dominant operating system in the server and AI world. More than 96% of the world's top 500 supercomputers run Linux.
| Distribution | Common Use | |-------------|------------| | Ubuntu | AI/ML and general development ā most popular for beginners | | Debian | Production servers ā absolute stability | | Alpine | Docker images ā smallest possible size | | CentOS/RHEL | Large enterprise environments |
/ ā Root
āāā home/ ā User files
ā āāā ahmed/ ā Your personal folder (~)
āāā etc/ ā Configuration files
āāā var/ ā Variable data (logs)
āāā usr/ ā User programs
āāā bin/ ā Core commands
āāā tmp/ ā Temporary files
āāā opt/ ā Optional applications
Each file has permissions for three parties: Owner | Group | Others
-rw-r--r-- ahmed users main.py
āāā āāā āāā
āāā āāā āāā Others: read only (r--)
āāā āāāāāāāāā Group: read only (r--)
āāāāāāāāāāāāā Owner: read and write (rw-)
# Change permissions
chmod 755 script.sh # rwxr-xr-x
chmod +x script.sh # add execute permission
chmod 600 .env # secret file ā very private
# Change owner
chown ahmed:users file.txt
# Show variable
echo $HOME
echo $PATH
# Set temporary variable
export API_KEY="sk-ant-..."
# Set permanently (in ~/.bashrc)
echo 'export ANTHROPIC_API_KEY="sk-ant-..."' >> ~/.bashrc
source ~/.bashrc
# Ł
ŲÆŲ®Ł Ų„ŁŁ Linux ā Python Simulation
# Linux Concepts Demonstrated with Python
import os
import platform
from pathlib import Path
from dataclasses import dataclass
print("š§ Linux Concepts ā Python Demo")
print("="*55)
# āāā Ł
Ų¹ŁŁŁ
Ų§ŲŖ Ų§ŁŁŲøŲ§Ł
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
print(f"\nš Ł
Ų¹ŁŁŁ
Ų§ŲŖ Ų§ŁŁŲøŲ§Ł
:")
print(f" Ų§ŁŁŲøŲ§Ł
: {platform.system()} {platform.release()}")
print(f" Ų§ŁŁ
Ų¹Ł
Ų§Ų±ŁŲ©: {platform.machine()}")
print(f" Python: {platform.python_version()}")
# āāā ŁŁŁŁ ŁŲøŲ§Ł
Ų§ŁŁ
ŁŁŲ§ŲŖ āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
home = Path.home()
print(f"\nš Ł
Ų¬ŁŲÆ Ų§ŁŁ
Ų³ŲŖŲ®ŲÆŁ
(~): {home}")
# Ł
ŲŲ§ŁŲ§Ų© ŁŁŁŁ Ł
Ų¬ŁŲÆŲ§ŲŖ Ł
Ų“Ų±ŁŲ¹ AI
project_root = Path("/tmp/my-ai-project")
structure = {
"src": "ŁŁŲÆ Ų§ŁŲŖŲ·ŲØŁŁ",
"data": "Ł
Ų¬Ł
ŁŲ¹Ų§ŲŖ Ų§ŁŲØŁŲ§ŁŲ§ŲŖ",
"models": "Ų§ŁŁŁ
Ų§Ų°Ų¬ Ų§ŁŁ
ŲÆŲ±ŲØŲ©",
"logs": "Ų³Ų¬ŁŲ§ŲŖ Ų§ŁŲŖŲ“ŲŗŁŁ",
"tests": "Ł
ŁŁŲ§ŲŖ Ų§ŁŲ§Ų®ŲŖŲØŲ§Ų±",
"docker": "Ł
ŁŁŲ§ŲŖ Docker",
}
print(f"\nš Ų„ŁŲ“Ų§Ų” ŁŁŁŁ Ł
Ų“Ų±ŁŲ¹ AI:")
print(f" {project_root}/")
for folder, desc in structure.items():
path = project_root / folder
path.mkdir(parents=True, exist_ok=True)
print(f" āāā {folder}/ ā {desc}")
print(f" ā
ŲŖŁ
Ų„ŁŲ“Ų§Ų” {len(structure)} Ł
Ų¬ŁŲÆŲ§ŲŖ")
# āāā Ų§ŁŲµŁŲ§ŲŁŲ§ŲŖ āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
print(f"\nš ŁŲøŲ§Ł
Ų§ŁŲµŁŲ§ŲŁŲ§ŲŖ:")
print(f"{'Ų§ŁŲ±ŁŁ
':<8} {'Ų§ŁŲ±Ł
Ų²':<12} {'Ų§ŁŲ§Ų³ŲŖŲ®ŲÆŲ§Ł
'}")
print("ā"*55)
permissions = [
("644", "rw-r--r--", "Ł
ŁŁŲ§ŲŖ Python (.py) ā Ų¢Ł
Ł"),
("755", "rwxr-xr-x", "Ų³ŁŲ±ŁŲØŲŖŲ§ŲŖ ŁŲ§ŲØŁŲ© ŁŁŲŖŁŁŁŲ°"),
("600", "rw-------", "API Keys ā Ų³Ų±Ł ŁŁŲŗŲ§ŁŲ©"),
("700", "rwx------", "Ł
Ų¬ŁŲÆŲ§ŲŖ Ų³Ų±ŁŲ©"),
]
for num, sym, desc in permissions:
print(f" {num:<8} {sym:<12} {desc}")
# āāā Ł
ŲŖŲŗŁŲ±Ų§ŲŖ Ų§ŁŲØŁŲ¦Ų© āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
print(f"\nš Ł
ŲŖŲŗŁŲ±Ų§ŲŖ Ų§ŁŲØŁŲ¦Ų©:")
env_vars = {
"HOME": os.environ.get("HOME", os.environ.get("USERPROFILE", "/")),
"SHELL": os.environ.get("SHELL", "bash"),
"ANTHROPIC_API_KEY": os.environ.get("ANTHROPIC_API_KEY", "(ŲŗŁŲ± Ł
Ų¶ŲØŁŲ· ā Ų£Ų¶ŁŁ ŁŁ .env)"),
}
for var, value in env_vars.items():
display = value[:55] + "..." if len(value) > 55 else value
print(f" " + "$" + f"{var}: {display}")
# āāā Ł
ŁŲ§Ų±ŁŲ© Linux vs Windows āāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
print(f"\n{'='*55}")
print("š¤ Linux vs Windows ŁŁŁ AI Development:")
print(f"{'Ų§ŁŁ
ŁŲ²Ų©':<24} {'Linux':^14} {'Windows':^14}")
print("ā"*55)
comparison = [
("Docker Native", "ā
Ł
ŲÆŁ
Ų¬", "ā ļø WSL2 Ł
Ų·ŁŁŲØ"),
("GPU (CUDA)", "ā
Ł
Ł
ŲŖŲ§Ų²", "ā
Ų¬ŁŲÆ"),
("Package Manager", "ā
apt/pip", "ā ļø choco/pip"),
("Bash Scripts", "ā
ŁŁŲŖŁŁ", "ā Ł
ŲŲÆŁŲÆ"),
("ŲŖŁŁŁŲ© Ų§ŁŲ®Ų§ŲÆŁ
", "ā
Ł
Ų¬Ų§ŁŁ", "š° ŲŖŲ±Ų§Ų®ŁŲµ"),
("Ų§Ų³ŲŖŁŁŲ§Ł RAM", "ā
Ł
ŁŲ®ŁŲ¶", "ā ļø Ų£Ų¹ŁŁ"),
]
for feature, linux, windows in comparison:
print(f" {feature:<24} {linux:^14} {windows:^14}")
print(f"\nš” ŁŁŁ AI Production: Ubuntu 22.04 LTS ŁŁ Ų§ŁŲ§Ų®ŲŖŁŲ§Ų± Ų§ŁŲ£Ł
Ų«Ł")
# āāā Ł
Ų³Ų ŁŲŖŁŲøŁŁ āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
import shutil
shutil.rmtree(project_root, ignore_errors=True)
print(f"šļø ŲŖŁŲøŁŁ: rm -rf {project_root}")