🚨 Error Dictionary

Error Dictionary: 🎬 The Diagnosis Chain of a Linux Error The CI step is blood-red: `./deploy.sh: Permission denied`.

🎬 The Diagnosis Chain of a Linux Error

The CI step is blood-red: `./deploy.sh: Permission denied`. The file IS there, the content IS correct — yet it will not run. In this film you will watch the 5-step diagnosis chain that fits every dictionary error, through this very case.

Step 1 — DECOMPOSE the message: "Permission denied" is not a syntax error, it is an ACCESS refusal. Bash was stopped at the door before even attempting execution — the content was never read.

Step 2 — locate the LAYER: is it permissions, PATH, disk, or network? "Permission denied" is the voice of the permission layer — editing the script's content would be rowing in the wrong layer.

Step 3 — collect evidence with a NON-DESTRUCTIVE command: `ls -l deploy.sh` → `-rw-r--r--`. There is the proof: the x bit exists for NO audience. The diagnosis is now observation, not guesswork.

Step 4 — the smallest SAFE fix: `chmod u+x deploy.sh` — only the owner, only execute. `chmod 777` would also "solve" it — by handing everyone write access and opening a security hole on the shared CI machine.

Step 5 — PROVE it: rerun the EXACT command that failed. `./deploy.sh` now runs. The error did not "go away" — it was UNDERSTOOD and fixed at the root.

Final — the chain: decompose the message → locate the layer → non-destructive evidence → smallest safe fix → prove with the same command. The exact Java reflex: read the first stack-trace line + "Caused by", never delete random lines. Every error in the dictionary below yields to this chain.

Step by Step: The Linux Error Diagnosis Reflex

Classify the message

"Permission denied" is access, "No such file or directory" is path/name, "command not found" is PATH, "No space left on device" is disk — the message itself whispers the layer.

Four candidate layers: permission (ls -l), location/path (pwd, ls), environment (echo $PATH, env), resources (df -h, free). Work in the ONE layer the message points to.

Collect non-destructive evidence

First, commands that cannot break anything: ls -l, pwd, whoami, df -h, ss -tulpn. NEVER start with permanent moves like `sudo`, `rm`, or `chmod 777`.