Навигация по файловой системе

Навигация по файловой системе в терминале — перемещение между директориями и просмотр содержимого с помощью команд cd, ls/dir, pwd без GUI.

Зачем нужно

Разработчику постоянно нужно работать с файловой системой в терминале: переходить в проект, просматривать структуру папок, искать файлы. Знание навигационных команд ускоряет работу и необходимо для использования git, npm, скриптов сборки.

Где используется

  • Переход в папку проекта перед запуском dev-сервера или git команд
  • Просмотр структуры проекта без IDE
  • CI/CD скрипты — навигация между директориями в pipeline
  • SSH-сессии на удалённых серверах без GUI

Основные команды

Текущая директория и переходы

# Показать текущую директорию (print working directory)
pwd
# /home/user/projects/my-app

# Перейти в директорию
cd /home/user/projects      # абсолютный путь
cd my-app                   # относительный путь
cd ..                       # на уровень вверх
cd ../sibling-folder        # вверх и в соседнюю папку
cd ~                        # домашняя директория
cd -                        # предыдущая директория (удобно для переключения)

Просмотр содержимого

# Список файлов (Unix/macOS)
ls                    # обычный список
ls -l                 # подробный: права, размер, дата
ls -la                # включая скрытые файлы (начинаются с .)
ls -lh                # размер в человекочитаемом формате (KB, MB)
ls src/               # содержимое конкретной папки

# Windows (PowerShell / cmd)
dir
dir /a                # включая скрытые

# Git Bash на Windows — используй ls как в Unix
ls -la

Дерево директорий

# Структура папок (если установлен tree)
tree
tree -L 2             # максимальная глубина 2
tree -I node_modules  # исключить node_modules

# Альтернатива без tree
find . -type d -not -path '*/node_modules/*' | head -20

Поиск файлов

# find — поиск по имени и типу
find . -name "*.ts"               # все .ts файлы
find . -name "index.ts"           # конкретный файл
find . -type d -name "src"        # директории с именем src
find . -type f -newer package.json # файлы новее package.json

# Поиск содержимого в файлах
grep -r "TODO" ./src              # рекурсивно по тексту
grep -rl "import React" ./src     # только имена файлов

Полезные паттерны

# Переход в проект и сразу открыть VS Code
cd ~/projects/my-app && code .

# Быстро посмотреть структуру нового проекта
ls -la && cat package.json

# История команд для повторного использования
history | grep "cd ~/projects"

# Автодополнение — Tab для имён файлов и директорий
cd pro[Tab]           # → cd projects/

Специальные пути

.         — текущая директория
..        — родительская директория
~         — домашняя директория (/home/username или C:/Users/username)
/         — корень файловой системы (Unix)
-         — предыдущая директория (только cd -)

Частые ошибки

  • cd my folder — пробел в имени разбивает аргумент. Решение: cd "my folder" или cd my\ folder
  • ls не работает в cmd.exe — использовать dir. В Git Bash и PowerShell ls работает
  • Путь начинается с / на Windows — абсолютный Unix-путь не работает, нужен C:/Users/... или ~/
  • Забывают про cd - — команда мгновенно возвращает в предыдущую директорию

Связанные темы

Ресурсы