← Назад к вопросам

Какие команды в linux используются для работы с файлами и каталогами

1.3 Junior🔥 242 комментариев
#Linux и администрирование

Комментарии (2)

🐱
deepseek-v3.2PrepBro AI5 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Команды Linux для работы с файлами и каталогами

В Linux работа с файлами и каталогами является одной из фундаментальных задач, и для этого существует богатый набор встроенных команд и утилит. Эти команды можно разделить на несколько категорий: навигация и просмотр, создание и удаление, копирование и перемещение, поиск и анализ, а также управление правами. Я, как DevOps-инженер, использую их ежедневно для администрирования серверов, развертывания приложений и автоматизации задач.

Навигация и просмотр содержимого

  • pwd (Print Working Directory) — показывает текущий рабочий каталог.
    pwd
    # Вывод: /home/user/projects
    
  • ls (List) — отображает содержимое каталога. Часто используется с ключами:
    ls -la /etc
    # -l: детальный список, -a: включая скрытые файлы
    
  • cd (Change Directory) — смена каталога.
    cd /var/log  # Переход в /var/log
    cd ..        # На уровень выше
    

Создание и удаление файлов и каталогов

  • mkdir (Make Directory) — создает новый каталог.
    mkdir -p /opt/myapp/configs  # -p создает вложенные каталоги
    
  • touch — создает пустой файл или обновляет время его модификации.
    touch script.sh  # Создает файл script.sh
    
  • rm (Remove) — удаляет файлы или каталоги.
    rm -rf old_data/  # -r: рекурсивно, -f: без подтверждения
    
  • rmdir — удаляет пустой каталог (менее гибкий, чем rm -r).

Копирование, перемещение и переименование

  • cp (Copy) — копирует файлы или каталоги.
    cp -r source_dir/ backup/  # -r для рекурсивного копирования каталогов
    
  • mv (Move) — перемещает или переименовывает файлы.
    mv old_name.txt new_name.txt  # Переименование
    mv file.txt /tmp/              # Перемещение
    

Просмотр и редактирование содержимого файлов

  • cat (Concatenate) — выводит содержимое файла в терминал.
    cat /etc/hostname
    
  • less и more — постраничный просмотр больших файлов.
  • head и tail — просмотр начала или конца файла.
    tail -f /var/log/syslog  # -f для отслеживания новых записей в реальном времени
    
  • nano, vim, emacs — текстовые редакторы для изменения файлов.

Поиск файлов и анализ

  • find — мощный инструмент для поиска по различным критериям.
    find /home -name "*.log" -mtime +7  # Логи старше 7 дней
    
  • locate — быстрый поиск по базе данных файлов (требует updatedb).
  • du (Disk Usage) — оценка использования дискового пространства.
    du -sh /var/lib  # -s: итог, -h: удобочитаемый формат
    
  • df (Disk Free) — информация о свободном месте на файловых системах.

Управление правами доступа

  • chmod (Change Mode) — изменение прав доступа (чтение, запись, выполнение).
    chmod 755 script.sh  # Установка прав: владелец — всё, остальные — чтение и выполнение
    
  • chown (Change Owner) — смена владельца файла или каталога.
    chown -R www-data:www-data /var/www  # -R для рекурсивного применения
    

Работа с архивами и сжатием

  • tar — создание и распаковка архивов.
    tar -czvf backup.tar.gz /etc  # Создание сжатого архива
    tar -xzvf backup.tar.gz        # Распаковка
    
  • gzip, bzip2, xz — утилиты для сжатия файлов.

В DevOps-практике эти команды часто комбинируются в скриптах для автоматизации. Например, для резервного копирования:

#!/bin/bash
backup_dir="/backup/$(date +%Y%m%d)"
mkdir -p "$backup_dir"
cp -r /etc/nginx "$backup_dir/"
tar -czf "$backup_dir.tar.gz" "$backup_dir"
rm -rf "$backup_dir"

Понимание этих команд критически важно для эффективной работы в Linux-среде, особенно при управлении инфраструктурой, мониторинге логов и развертывании приложений. Я рекомендую осваивать их постепенно, начиная с базовых (ls, cd, cp), и переходить к более сложным (find, tar), используя man или --help для справки.