Управление файлами и каталогами

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

Работа с файлами

Создание файлов

  1. touch — Создание пустого файла или обновление временных меток существующего файла:

    touch filename.txt
  2. echo — Создание файла с содержимым:

    echo "Hello, World!" > file.txt

Копирование файлов

  1. cp — Копирование файлов. По умолчанию, cp не удаляет оригинальный файл:

    cp source.txt destination.txt

    Чтобы скопировать директорию рекурсивно, используйте флаг -r:

    cp -r source_directory/ destination_directory/

Перемещение и переименование файлов

  1. mv — Перемещение или переименование файлов:

    mv oldname.txt newname.txt

    Для перемещения файла в другую директорию:

    mv filename.txt /path/to/destination/

Удаление файлов

  1. rm — Удаление файлов:

    rm filename.txt

    Чтобы удалить директорию и все её содержимое, используйте флаг -r:

    rm -r directory/

    Флаг -f можно использовать для принудительного удаления без подтверждения:

    rm -rf directory/

Работа с каталогами

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

  1. mkdir — Создание нового каталога:

    mkdir new_directory

    Чтобы создать вложенные каталоги, используйте флаг -p:

    mkdir -p parent_directory/child_directory

Удаление каталогов

  1. rmdir — Удаление пустых каталогов:

    rmdir empty_directory

    Чтобы удалить непустой каталог, используйте rm -r:

    rm -r non_empty_directory/

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

  1. ls — Просмотр содержимого каталога:

    ls

    Полный список файлов с детальной информацией:

    ls -l

    Для отображения скрытых файлов (файлы, начинающиеся с .):

    ls -a

    Сортировка файлов по времени изменения:

    ls -lt

Переход между каталогами

  1. cd — Переход в другой каталог:

    cd /path/to/directory

    Для возврата в домашний каталог:

    cd

    Для возврата на один уровень вверх:

    cd ..

    Для возврата на несколько уровней вверх:

    cd ../../

Управление атрибутами файлов

Просмотр атрибутов

  1. ls -l — Показывает атрибуты файлов, такие как права доступа, владельцы, размер и дата изменения:

    ls -l

Изменение прав доступа

  1. chmod — Изменение прав доступа к файлам и каталогам:

    chmod 755 filename.txt

    Здесь 755 — это числовое представление прав доступа. Можно использовать символьные представления:

    chmod u+rwx,g+rx,o+r filename.txt
    • u — пользователь (владелец).

    • g — группа.

    • o — остальные.

Изменение владельца и группы

  1. chown — Изменение владельца и группы:

    chown user:group filename.txt

    Чтобы изменить только владельца:

    chown user filename.txt

    Чтобы изменить только группу:

    chown :group filename.txt

Работа с символическими и жесткими ссылками

Создание символических ссылок

  1. ln -s — Создание символической ссылки:

    ln -s /path/to/target link_name

    Символическая ссылка указывает на другой файл или каталог, подобно ярлыку в графическом интерфейсе.

Создание жестких ссылок

  1. ln — Создание жесткой ссылки:

    ln /path/to/original file_link

    Жесткая ссылка указывает на тот же инод, что и оригинальный файл, и оба файла имеют одинаковые данные, но разные имена.

Поиск файлов и каталогов

  1. find — Поиск файлов и каталогов по критериям:

    find /path/to/search -name "filename.txt"

    Для поиска файлов по расширению:

    find /path/to/search -name "*.txt"
  2. locate — Поиск файлов по базе данных (быстрее, но требует обновления базы данных):

    locate filename.txt
  3. which — Поиск исполняемых файлов в PATH:

    which command_name

Заключение

Эти команды и принципы являются основой управления файлами и каталогами в командной строке Linux/Unix. Знание этих команд позволяет эффективно работать с файловой системой, организовывать данные и автоматизировать задачи.

Last updated