junior
Какие основные команды навигации по файловой системе существуют?
Навигация по файловой системе — базовый навык работы в терминале, включающий три ключевых команды: pwd, cd и ls.
pwd — текущая директория
pwd (print working directory) — показывает полный путь текущей директории:
Пример
$ pwd
/home/developer/projects
cd — переход между директориями
cd (change directory) — переход между директориями:
Пример
cd /var/log # Переход по абсолютному пути
cd projects # Переход по относительному пути
cd .. # Переход на уровень вверх
cd ../.. # Переход на два уровня вверх
cd ~ # Переход в домашнюю директорию (аналог cd без аргументов)
cd - # Переход в предыдущую директорию
cd /home/user/my\ dir # Переход в директорию с пробелом (экранирование)
cd "/home/user/my dir" # Или с кавычками
ls — содержимое директории
ls (list) — вывод содержимого директории:
Пример
ls # Список файлов в текущей директории
ls /var/log # Список файлов в указанной директории
ls -l # Подробный вывод (права, владелец, размер, дата)
ls -a # Показать скрытые файлы (начинающиеся с точки)
ls -la # Комбинация: подробный + скрытые
ls -lh # Подробный вывод с человекочитаемым размером (K, M, G)
ls -lS # Отсортировать по размеру (от большего к меньшему)
ls -lt # Отсортировать по времени изменения (новые первыми)
ls -lR # Рекурсивный вывод (включая поддиректории)
ls -1 # Вывод по одному файлу на строку
Чтение вывода ls -la
Пример
drwxr-xr-x 5 developer dev 4096 Jan 15 10:30 .
drwxr-xr-x 3 developer dev 4096 Jan 10 09:00 ..
-rw-r--r-- 1 developer dev 2048 Jan 15 10:30 App.java
drwxr-xr-x 2 developer dev 4096 Jan 14 15:20 src
lrwxrwxrwx 1 developer dev 11 Jan 12 08:00 link -> /tmp/data
Здесь:
- Первый символ:
d— директория,-— файл,l— символическая ссылка - Далее 9 символов — права доступа (rwx для владельца, группы и остальных)
- Число — количество жёстких ссылок
- Владелец и группа
- Размер в байтах
- Дата последнего изменения
- Имя файла
tree — древовидный вывод
Пример
tree # Древовидный вывод структуры каталогов
tree -L 2 # Ограничить глубину двумя уровнями
tree -I "node_modules|target" # Исключить директории
На собеседовании: интервьюер проверяет базовую грамотность работы в терминале. Частая ошибка — не знать про
cd -(возврат в предыдущую директорию) и разницу между абсолютным (/var/log) и относительным (../log) путями.