# Files, folders, paths

> **What you will learn**
> How to read a path, what a file extension actually promises, and the split
> between files people can read and files only machines can.

## A path is an address

Folders sit inside folders. Written on one line, that nesting is a **path**.

```
macOS · Linux    /Users/jinho/work/report.md
Windows          C:\Users\jinho\work\report.md
```

| Piece | Meaning |
|---|---|
| `/` or `C:\` | the outermost point — start here |
| `Users/jinho` | your account's folder |
| `work` | a folder inside it |
| `report.md` | the file name and extension |

**The separator differs by operating system.** macOS and Linux use `/`, Windows
uses `\`. An example starting with `/Users/…` is a macOS one.

## Absolute and relative

| | Example | Meaning |
|---|---|---|
| **Absolute** | `/Users/jinho/work/report.md` | the same place, called from anywhere |
| **Relative** | `work/report.md` · `./report.md` | relative to **the current folder** |
| Up one | `../report.md` | the folder above |

**Give agents absolute paths.** A relative path depends on "where you are right
now", and that "now" can differ between you and the agent.

Registering a [working folder](/guide/ht-working-directory) is precisely the act
of pinning that down.

## An extension is only a promise

The `.md`, `.csv`, `.pdf` at the end is the extension. It **does not change the
contents** — it is a label saying which program should open it.

```
✗ renaming report.csv to report.xlsx makes it an Excel file
✓ only the label changes — the contents are still CSV, so it opens broken
```

> **Windows hides extensions by default.** What looks like `report.pdf` may
> really be `report.pdf.exe`. Turn extensions on in File Explorer — it is basic
> security hygiene.

## Files people read, files only machines read

This split keeps coming back later.

| | Text files | Binary files |
|---|---|---|
| Opened raw | readable | garbage characters |
| Examples | `.txt` `.md` `.csv` `.json` `.py` | `.pdf` `.xlsx` `.hwp` `.png` `.zip` |
| Change history | visible line by line | a wholly different file |
| For AI | **feed it directly** | **needs an extraction step** |

**That last row is the practical one.** It is why "conversion" appears whenever
an agent handles a PDF or a Hangul document — picked up in
[Turning documents into material](/guide/ht-documents) and
[Shapes of data](/guide/it-data-formats).

## Naming — it saves you later

Agents produce files; people look for them later. Names bridge the two.

```
✗ final.md · final_really_final.md · report (1).md
✓ 2026-08-19-weekly-report.md · q3-returns-analysis.csv
```

```
□ Hyphens over spaces — spaces need quoting on the command line
□ Dates as 2026-08-19 — alphabetical order becomes chronological order
□ Non-ASCII names work, but can break when uploaded to other systems
```

## Hidden files

A name starting with a dot (`.env`, `.gitignore`) is **not shown** by default.
Configuration files use this convention, so half of "there is no such file" is
a file that is simply hidden.

> **`.env` deserves special care.** It holds passwords and keys, it is hidden by
> convention, and sharing it by accident is an incident on its own —
> see [Accounts, passwords, API keys, permissions](/guide/it-accounts).

## Common misconceptions

### "Why can't I give a large file to the AI?"

It is about **characters**, not megabytes. A model sees a limited amount at once
([the context window](/guide/ai-context-window)), so long documents are split
and only the relevant part is passed. A 10MB photo costs far less than 1MB of
text.

### "I moved the folder and the program cannot find it"

Because a path is an address. A registered absolute path does not follow the
folder. **If you move it, update the registration.**

---

## Check yourself

**1. When is an absolute path safer than a relative one?**

<details>
<summary>Answer</summary>

**When "the current folder" may differ between parties** — telling an agent
where a file is, for example.
</details>

**2. Does renaming `.csv` to `.xlsx` produce an Excel file?**

<details>
<summary>Answer</summary>

**No.** The extension only says which program should open it. The contents stay
CSV and the file opens broken.
</details>

**3. Which is easier to hand straight to an AI — text or binary?**

<details>
<summary>Answer</summary>

**Text.** Binaries (PDF, Excel, Hangul documents) need a conversion step to pull
the characters out first.
</details>

---

Next, the window where you handle those files directly →
[The terminal and commands](/guide/it-terminal)
