Главная > Управление файлами и каталогами > ls-r

ls-r: Рекурсивный вывод содержимого каталога (пользовательский скрипт)

ls-r не является стандартной командой Linux и обычно используется как пользовательский скрипт или псевдоним (alias) для удобного вызова команды 'ls -R'. В этом руководстве мы предполагаем, что 'ls-r' — это пользовательский скрипт, который, подобно команде 'ls -R', рекурсивно выводит файлы и каталоги в текущем каталоге и всех его подкаталогах.

Обзор

ls-r — это пользовательский скрипт, который выводит содержимое текущего каталога и всех его подкаталогов. Он предоставляет ту же функциональность, что и команда 'ls -R', и полезен для быстрого понимания сложной структуры каталогов.

Основные характеристики

  • Рекурсивный обход каталогов: отображает содержимое текущего каталога и всех подкаталогов.
  • Отображение всех вложенных элементов: включает как файлы, так и каталоги.
  • Удобство использования: позволяет вводить команду 'ls -R' короче.

Основные опции

Поскольку ls-r является пользовательским скриптом, он, по сути, передает опции команды 'ls'. Ниже приведены часто используемые опции команды 'ls'.

Отображение/Формат

Сгенерированная команда:

Комбинируйте команды.

Описание:

`ls-r` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

Примеры использования

Различные примеры использования скрипта ls-r.

Базовый рекурсивный список

ls-r

Рекурсивно выводит содержимое текущего каталога и всех подкаталогов.

Рекурсивный список с подробной информацией

ls-r -l

Рекурсивно выводит подробную информацию, такую как права доступа к файлам, владелец и размер.

Рекурсивный список со скрытыми файлами

ls-r -a

Рекурсивно выводит все элементы, включая скрытые файлы и каталоги.

Подробный рекурсивный список с читаемым размером

ls-r -lh

Рекурсивно выводит подробную информацию с размерами файлов в единицах K, M, G.

Рекурсивный список для указанного каталога

ls-r /var/log

Рекурсивно выводит содержимое указанного каталога.

Установка

Поскольку ls-r не является стандартной командой, его необходимо установить, создав скрипт или настроив псевдоним (alias). Ниже приведен способ создания простого скрипта оболочки, который выполняет команду 'ls -R'.

1. Создание файла скрипта

Создайте файл с именем 'ls-r', используя текстовый редактор. Например, создайте файл в текущем каталоге.

echo '#!/bin/bash\nls -R "$@"' > ls-r

Добавьте следующее содержимое в файл. Первая строка указывает, что это скрипт оболочки, а вторая передает все аргументы ($@) команде 'ls -R'.

2. Предоставление прав на выполнение

Предоставьте права на выполнение созданному файлу скрипта.

chmod +x ls-r

3. Добавление в PATH (необязательно)

Чтобы иметь возможность вызывать 'ls-r' из любого каталога, переместите файл скрипта в каталог, включенный в переменную среды PATH системы (например, /usr/local/bin).

sudo mv ls-r /usr/local/bin/

Использование псевдонима (альтернатива)

Вместо создания файла скрипта вы также можете использовать функцию псевдонимов оболочки, чтобы настроить 'ls-r' как сокращенную команду для 'ls -R'. Добавьте следующую строку в файл ~/.bashrc или ~/.zshrc, а затем перезапустите оболочку или примените команду 'source'.

echo 'alias ls-r="ls -R"' >> ~/.bashrc && source ~/.bashrc

Советы и примечания

Полезные советы и моменты, которые следует учитывать при использовании скрипта ls-r.

Учет производительности

Для рекурсивного вывода очень больших или глубоких структур каталогов команда 'find' может быть более эффективной, чем 'ls -R' (и, следовательно, ls-r). 'find' предоставляет больше опций для фильтрации и действий.

  • Пример: `find . -print` (выводит все файлы и каталоги, начиная с текущего каталога)

Проверка передачи опций

Чтобы скрипт поддерживал все опции команды 'ls', убедитесь, что он передает все аргументы с помощью '$@'. Скрипт в примере установки выше корректно обрабатывает это.

Альтернативные команды

Если вы хотите более наглядно просматривать структуру каталогов, вы можете использовать команду 'tree'. 'tree' обычно требует отдельной установки в большинстве дистрибутивов Linux.

  • Пример: `sudo apt install tree` (Debian/Ubuntu)
  • Пример: `sudo yum install tree` (CentOS/RHEL)
  • Пример: `tree -L 2` (отображает структуру дерева до 2-го уровня вложенности из текущего каталога)

Те же команды в категории