Обзор
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-го уровня вложенности из текущего каталога)