Утилита, выполняющая функционал ls -l
- libc >= 6
-
cmake >= 3.15
-
gcc >= 11.4.0
-
ls == 8.32
-
doxygen >= 1.9.1
-
valgrind >= 3.18.1
-
meld >= 3.20.4
-
/usr/bin/time
Для сборки выполните:
mkdir build && \
cd build && \
cmake .. && \
makeДля установки утилиты выполните:
sudo make installУтилита будет установлена в ${CMAKE_PREFIX}/bin
-
Список поддерживаемых опций:
-
-c | --color-mode- включает цветной режим вывода имен файлов. -
-C | --colorless-mode- включает бесцветный режим вывода имен файлов. -
-s | --safe-mode- включает безопасный режим вывода имен файлов. Подробнее:jlsMakeStringSafe() -
-S | --unsafe-mode- включает небезопасный режим вывода имен файлов. -
-t | --test-mode- включает тестовый режим работы. Тестовый режим работы нужен для полного соответствия выводаjlsиls
-
-
Код возврата при успешном выполнении:
0 -
Код возврата при возникновении ошибки:
1
Пример использования:
# jls [OPTIONS] FILES_LIST
jls /
jls --safe-mode /usr/bin
jls -t /compare/with/ls/test
jls /usr/bin /home nonexistent.file /usr/bin/jlsДля удаления утилиты выполните:
sudo make uninstallДля генерации документации по коду выполните:
make docОткройте documentation.html в любом браузере
Необходимо наличие пакета doxygen
Для создания тестовой среды выполните:
sudo ../scripts/makeTestEnvНаличие root прав необходимо для создания некоторых тестовых сценариев.
Для запуска тестирования утилиты выполните:
make testsДля тестов на утечки памяти необходимо наличие пакета valgrind
Также можно вызвать скрипт тестирования самостоятельно:
./scripts/makeTests ./jlsЕсли необходимо выполнить только определенный/е тесты, их названия можно передать в качестве аргументов:
./scripts/makeTests ./jls UsrBinTerminalCompareЕсли в системе установлен пакет meld и один или несколько Compare тестов провалились, откроется окно meld с выводом
lsиjls
- Вывод
ls -lиjlsне совпадает символ в символ. Разница в выводе\033[K. - Выравнивание владельца и группы работает некорректно, если владелец или группа файла не имеет строкового вида. Обнаружено под
lsверсии9.1на Debian 12
- Сделать вывод \033[K идентичным
ls.