Как я могу настроить вывод ls
в Linux так, чтобы он выглядел как вывод команды dir /b /s
в Windows?
dir /b /s
выводится следующим образом:
C:\MinGW>dir /s /b
C:\MinGW\COPYING
C:\MinGW\COPYING.LIB
C:\MinGW\doc
C:\MinGW\include
Как я могу настроить вывод ls
в Linux так, чтобы он выглядел как вывод команды dir /b /s
в Windows?
dir /b /s
выводится следующим образом:
C:\MinGW>dir /s /b
C:\MinGW\COPYING
C:\MinGW\COPYING.LIB
C:\MinGW\doc
C:\MinGW\include
find . -print
Это должно привести к тому же результату, что и dir /s/b
ls -R
рекурсивно перечисляет все файлы и подкаталоги. С ls -R1
вы получаете то же самое, но только один файл на строку.
Ни один из них не делает вывод похожим на вывод dir /b /s
, но он должен быть достаточно близким.
ls -1
или же
ls -1d "$PWD"/*
это похоже на работу из командной строки:
find|awk "/^\.\//{print\"$PWD\"substr(\$0,2)}"
Это зависит от того, насколько сложно получить "эквивалентность" dir /b /s
... Они довольно близки (хотя у них не будет обратной косой черты в качестве разделителя каталогов, и порядок вывода будет немного другим [сначала каталоги "sirling" выводит dir /b /s
, прежде чем углубляться в каждый из них, чтобы показать их содержимое]), Второй вариант - запасной вариант, если ваша версия find
не использует действие по умолчанию -print
(хотя большинство так и делает):
find $(pwd)
find $(pwd) -print
ОБНОВЛЕНИЕ: у меня была опечатка в вышеупомянутых командах первоначально. Я набрал фигурные скобки "{}" вместо круглых "()", какими они должны быть. Спасибо за то, что нашли это.