Как перечислить все файлы в дереве (каталог и его поддиры)?

Для моей задачи мне нужно перечислить все файлы в дереве (каталог, все его поддиры, все поддиры этих и т. д.).

Я бы предпочел увидеть их в Nautilus или Krusader, но интереснее решение командной строки (в этом случае мне понадобятся имена файлов, размеры и время модификации, которые будут перечислены).

37
задан Ivan 30 November 2010 в 00:28
поделиться

82 ответа

ls - стандартная команда для отображения файлов в Ubuntu и других операционных системах Linux и Unix. ls особенно полезно узнать, потому что вы найдете его установленным в каждой системе Unix, которую вы когда-либо встречали. По умолчанию при запуске отображаются только файлы в текущем каталоге.

Однако флаг -R 'является рекурсивным вариантом (обратите внимание на капитал R, а не r), который также покажет вам все подкаталоги.

Вы попросили «подробности» - для этого вам нужен флаг -l (это строчный L, а не номер один). Помните, что это дает вам информацию о правах доступа к файлам, а также размер файла, информацию о времени / дате и имя файла.

Если вы хотите также показывать скрытые файлы / папки (эквивалент Ctrl + H в Nautilus), тогда добавьте флаг -a «all».

Вы можете объединить флаги вместе, чтобы дать вам что-то вроде:

ls -lR

Если вы запустите это в любой папке с приличным размером, вы будете найти это дает огромный длинный выход, который быстро прокручивает экран. Чтобы обойти это, вы можете «вывести» вывод ls через программу с именем less (имя - пародия на аналогичную more, которая была первой, но имеет больше возможностей).

ls -lR | less

Это позволит вам использовать клавиши со стрелками вверх / вниз вместе с параметром PageUp / Down, чтобы перейти через выход с более удобной скоростью.

3
ответ дан 8128 25 July 2018 в 19:49
поделиться

Я создал специально для этого программу - моментальный снимок каталога. Он рекурсивно выполняет итерацию через каталог и сохраняет имена и размеры всех файлов и папок, с которыми он сталкивается в аккуратно структурированных HTML-файлах, которые имеют организацию, аналогичную организации входного каталога. Другими словами, это можно рассматривать как гиперссылку версий команд dir /s или tree /f.

0
ответ дан Anmol Singh Jaggi 25 July 2018 в 19:49
поделиться
  • 1
    Вы написали dir и tree с опциями в стиле DOS, поэтому я должен спросить, будет ли это работать на Ubuntu? – wjandrea 28 December 2017 в 23:32
  • 2
    Да, я на самом деле планировал, чтобы он работал на моей установке Ubuntu каждые выходные. Хотя, он построен с использованием C ++ и Boost, поэтому будет сложно скомпилировать и создать двоичный файл. Вот почему я переношу его на Python. В любом случае, я могу дать вам предварительно скомпилированный двоичный файл, если вы хотите. – Anmol Singh Jaggi 29 December 2017 в 09:27

Как насчет сценария Nautilus?

#!/bin/bash # # AUTHOR: (c) 2013 Glutanimate (https://askubuntu.com/users/81372) # NAME: DirTree 0.1 # DEPENDENCIES: zenity tree (install with sudo apt-get install zenity tree) # LICENSE: GNU GPL v3 (http://www.gnu.org/licenses/gpl.html) # # DESCRIPTION: Creates a directory tree at the current location. If you want you # can filter the output by a pattern (e.g. *.avi to only include avi # files). TITLE=DirTree # Get working directory WORKINGDIR="`python -c 'import gio,sys; print(gio.File(sys.argv[1]).get_path())' $NAUTILUS_SCRIPT_CURRENT_URI`" # Time and date TIME=$(date +"%Y-%m-%d_%H%M%S") # Filter pattern zenity --question --title "$TITLE" --text "Do you want to filter by a specific file pattern?" if [ "$?" = "1" ] then customtree="tree" else PATTERN=$(zenity --entry --title "$TITLE" --text="Please enter a file pattern (e.g. *.avi)") if [ -z "$PATTERN" ] then exit else customtree="tree -P $PATTERN" fi fi # Directory tree $customtree "$WORKINGDIR" > "$WORKINGDIR/directorytree_$TIME.txt"

Инструкции по установке: Как установить скрипт Nautilus?

0
ответ дан Community 25 July 2018 в 19:49
поделиться

Использование Krusader:

Использовать поиск (Ctl-S). Отметьте «поиск в подкаталогах». Нажмите «Поиск». Когда поиск завершен, нажмите «Подача в список».

Это позволит вам обрабатывать всю партию, перетаскивая ее на другую панель и т. д.

0
ответ дан Frank Z. 25 July 2018 в 19:49
поделиться
find /path/ -printf "%TY-%Tm-%Td\t%s\t%p\n"

Вы можете играть с форматированием printf столько, сколько хотите. Это дает вам отличную возможность получить отформатированные файлы так, как вам нужно, что неоценимо, если вы используете вывод в другом приложении.

Подробнее: http://linux.about.com/od /commands/l/blcmdl1_find.htm

Для лучшей читаемости вы можете пропустить все это через команду column, и она автоматически изменит размеры, чтобы они выстроились в линию.

find /path/ -printf "%TY-%Tm-%Td\t%s\t%p\n" | column -t
11
ответ дан Oli 25 July 2018 в 19:49
поделиться
  • 1
    Или просто ls -R, если вам не нужны все детали. – Matthew Pirocchi 30 November 2010 в 06:09

вы можете поместить их в свой .bashrc-файл

function _get_tree(){ ls -alR | while read LINE; do echo $LINE | grep ":$" > /dev/null; if [ $? -eq 0 ]; then VAR=$(echo $LINE | grep ":$"| sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/' | tee /dev/tty); fi; echo $LINE | grep "^-" > /dev/null; if [ $? -eq 0 ]; then size=${#VAR}; for i in $(eval echo "{1..$size}"); do echo -n ' '; done; echo -n '..'; echo $LINE | cut -d ' ' -f9; fi; done; }; alias get_tree='_get_tree'

Теперь вы можете использовать команду get_tree внутри любого каталога и отображать всю иерархию.

Синтаксис: [ ! d2] $ get_tree

Выход образца:

. ..test.sh |-2 ..123.log |---3 |-----4 |-5 |---6

Надежда, это помогает !!

-1
ответ дан Ron 25 July 2018 в 19:49
поделиться
  • 1
    Не помогайте, если вы не объясните, что вы делаете. – Ron 22 July 2015 в 08:04
  • 2
    -1 Плохое форматирование кода, недостаточно объяснений. И почему вы делаете псевдоним? – wjandrea 28 December 2017 в 23:49
Дерево

будет очень удобно для вас.

sudo apt-get install tree

с помощью tree filepath для отображения файлов.

36
ответ дан Vivek Aditya 25 July 2018 в 19:49
поделиться

Как ответил Оли, find позволит вам искать полное дерево каталогов:

find /path/ -printf "%TY-%Tm-%Td\t%s\t%p\n" # Where %TY will display the mod. time year as 4 digits # %Tm will display the mod. time month as 2 digits # %Td will display the mod. time day as 2 digits # %s displays the file size in bytes # %p displays the full path name of the file

Вы также можете использовать параметр -type f, чтобы ограничить результаты только файлами. Если вы хотите сопоставить шаблон файла, вам нужны опции -name или -iname (соответственно чувствительны к регистру и нечувствительны к регистру). Прочитайте man-страницу find - есть значительное количество опций, которые вы можете использовать для сужения / уточнения вашего поиска.

И как раз в сторону, если вы ожидаете иметь несколько экраны данных будут отброшены на вас, не забудьте передать свои результаты через less.

@Oli: +1 Я только что узнал что-то новое - column. Раньше не использовал это.

4
ответ дан Will 25 July 2018 в 19:49
поделиться

Nautilus

Разрешить расширение подпапок в режиме просмотра списка 14.04 и 16.04 см. здесь. 17.10 и 18.04 см. здесь. Нажмите на папку и нажмите звездочку (* на цифровой клавиатуре или Shift + 8), чтобы разверните один уровень подкаталогов. Каждый раз, когда вы нажимаете звездочку, он будет расширять следующий уровень. Источник: ответ htorque здесь.

Это также работает в Nemo.

0
ответ дан wjandrea 25 July 2018 в 19:49
поделиться

ls - стандартная команда для отображения файлов в Ubuntu и других операционных системах Linux и Unix. ls особенно полезно узнать, потому что вы найдете его установленным в каждой системе Unix, которую вы когда-либо встречали. По умолчанию при запуске отображаются только файлы в текущем каталоге.

Однако флаг -R 'является рекурсивным вариантом (обратите внимание на капитал R, а не r), который также покажет вам все подкаталоги.

Вы попросили «подробности» - для этого вам нужен флаг -l (это строчный L, а не номер один). Помните, что это дает вам информацию о правах доступа к файлам, а также размер файла, информацию о времени / дате и имя файла.

Если вы хотите также показывать скрытые файлы / папки (эквивалент Ctrl + H в Nautilus), тогда добавьте флаг -a «all».

Вы можете объединить флаги вместе, чтобы дать вам что-то вроде:

ls -lR

Если вы запустите это в любой папке с приличным размером, вы будете найти это дает огромный длинный выход, который быстро прокручивает экран. Чтобы обойти это, вы можете «вывести» вывод ls через программу с именем less (имя - пародия на аналогичную more, которая была первой, но имеет больше возможностей).

ls -lR | less

Это позволит вам использовать клавиши со стрелками вверх / вниз вместе с параметром PageUp / Down, чтобы перейти через выход с более удобной скоростью.

3
ответ дан 8128 31 July 2018 в 07:30
поделиться

Я создал специально для этого программу - моментальный снимок каталога. Он рекурсивно выполняет итерацию через каталог и сохраняет имена и размеры всех файлов и папок, с которыми он сталкивается в аккуратно структурированных HTML-файлах, которые имеют организацию, аналогичную организации входного каталога. Другими словами, это можно рассматривать как гиперссылку версий команд dir /s или tree /f.

0
ответ дан Anmol Singh Jaggi 31 July 2018 в 07:30
поделиться
  • 1
    Вы написали dir и tree с опциями в стиле DOS, поэтому я должен спросить, будет ли это работать на Ubuntu? – wjandrea 28 December 2017 в 23:32
  • 2
    Да, я на самом деле планировал, чтобы он работал на моей установке Ubuntu каждые выходные. Хотя, он построен с использованием C ++ и Boost, поэтому будет сложно скомпилировать и создать двоичный файл. Вот почему я переношу его на Python. В любом случае, я могу дать вам предварительно скомпилированный двоичный файл, если вы хотите. – Anmol Singh Jaggi 29 December 2017 в 09:27

Как насчет сценария Nautilus?

#!/bin/bash # # AUTHOR: (c) 2013 Glutanimate (https://askubuntu.com/users/81372) # NAME: DirTree 0.1 # DEPENDENCIES: zenity tree (install with sudo apt-get install zenity tree) # LICENSE: GNU GPL v3 (http://www.gnu.org/licenses/gpl.html) # # DESCRIPTION: Creates a directory tree at the current location. If you want you # can filter the output by a pattern (e.g. *.avi to only include avi # files). TITLE=DirTree # Get working directory WORKINGDIR="`python -c 'import gio,sys; print(gio.File(sys.argv[1]).get_path())' $NAUTILUS_SCRIPT_CURRENT_URI`" # Time and date TIME=$(date +"%Y-%m-%d_%H%M%S") # Filter pattern zenity --question --title "$TITLE" --text "Do you want to filter by a specific file pattern?" if [ "$?" = "1" ] then customtree="tree" else PATTERN=$(zenity --entry --title "$TITLE" --text="Please enter a file pattern (e.g. *.avi)") if [ -z "$PATTERN" ] then exit else customtree="tree -P $PATTERN" fi fi # Directory tree $customtree "$WORKINGDIR" > "$WORKINGDIR/directorytree_$TIME.txt"

Инструкции по установке: Как установить скрипт Nautilus?

0
ответ дан Community 31 July 2018 в 07:30
поделиться

Использование Krusader:

Использовать поиск (Ctl-S). Отметьте «поиск в подкаталогах». Нажмите «Поиск». Когда поиск завершен, нажмите «Подача в список».

Это позволит вам обрабатывать всю партию, перетаскивая ее на другую панель и т. д.

0
ответ дан Frank Z. 31 July 2018 в 07:30
поделиться
find /path/ -printf "%TY-%Tm-%Td\t%s\t%p\n"

Вы можете играть с форматированием printf столько, сколько хотите. Это дает вам отличную возможность получить отформатированные файлы так, как вам нужно, что неоценимо, если вы используете вывод в другом приложении.

Подробнее: http://linux.about.com/od /commands/l/blcmdl1_find.htm

Для лучшей читаемости вы можете пропустить все это через команду column, и она автоматически изменит размеры, чтобы они выстроились в линию.

find /path/ -printf "%TY-%Tm-%Td\t%s\t%p\n" | column -t
24
ответ дан Oli 31 July 2018 в 07:30
поделиться
  • 1
    Или просто ls -R, если вам не нужны все детали. – Matthew Pirocchi 30 November 2010 в 06:09

вы можете поместить их в свой .bashrc-файл

function _get_tree(){ ls -alR | while read LINE; do echo $LINE | grep ":$" > /dev/null; if [ $? -eq 0 ]; then VAR=$(echo $LINE | grep ":$"| sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/' | tee /dev/tty); fi; echo $LINE | grep "^-" > /dev/null; if [ $? -eq 0 ]; then size=${#VAR}; for i in $(eval echo "{1..$size}"); do echo -n ' '; done; echo -n '..'; echo $LINE | cut -d ' ' -f9; fi; done; }; alias get_tree='_get_tree'

Теперь вы можете использовать команду get_tree внутри любого каталога и отображать всю иерархию.

Синтаксис: [ ! d2] $ get_tree

Выход образца:

. ..test.sh |-2 ..123.log |---3 |-----4 |-5 |---6

Надежда, это помогает !!

-1
ответ дан Ron 31 July 2018 в 07:30
поделиться
  • 1
    Не помогайте, если вы не объясните, что вы делаете. – Ron 22 July 2015 в 08:04
  • 2
    -1 Плохое форматирование кода, недостаточно объяснений. И почему вы делаете псевдоним? – wjandrea 28 December 2017 в 23:49
Дерево

будет очень удобно для вас.

sudo apt-get install tree

с помощью tree filepath для отображения файлов.

36
ответ дан Vivek Aditya 31 July 2018 в 07:30
поделиться

Как ответил Оли, find позволит вам искать полное дерево каталогов:

find /path/ -printf "%TY-%Tm-%Td\t%s\t%p\n" # Where %TY will display the mod. time year as 4 digits # %Tm will display the mod. time month as 2 digits # %Td will display the mod. time day as 2 digits # %s displays the file size in bytes # %p displays the full path name of the file

Вы также можете использовать параметр -type f, чтобы ограничить результаты только файлами. Если вы хотите сопоставить шаблон файла, вам нужны опции -name или -iname (соответственно чувствительны к регистру и нечувствительны к регистру). Прочитайте man-страницу find - есть значительное количество опций, которые вы можете использовать для сужения / уточнения вашего поиска.

И как раз в сторону, если вы ожидаете иметь несколько экраны данных будут отброшены на вас, не забудьте передать свои результаты через less.

@Oli: +1 Я только что узнал что-то новое - column. Раньше не использовал это.

4
ответ дан Will 31 July 2018 в 07:30
поделиться

Nautilus

Разрешить расширение подпапок в режиме просмотра списка 14.04 и 16.04 см. здесь. 17.10 и 18.04 см. здесь. Нажмите на папку и нажмите звездочку (* на цифровой клавиатуре или Shift + 8), чтобы разверните один уровень подкаталогов. Каждый раз, когда вы нажимаете звездочку, он будет расширять следующий уровень. Источник: ответ htorque здесь.

Это также работает в Nemo.

0
ответ дан wjandrea 31 July 2018 в 07:30
поделиться

ls - стандартная команда для отображения файлов в Ubuntu и других операционных системах Linux и Unix. ls особенно полезно узнать, потому что вы найдете его установленным в каждой системе Unix, которую вы когда-либо встречали. По умолчанию при запуске отображаются только файлы в текущем каталоге.

Однако флаг -R 'является рекурсивным вариантом (обратите внимание на капитал R, а не r), который также покажет вам все подкаталоги.

Вы попросили «подробности» - для этого вам нужен флаг -l (это строчный L, а не номер один). Помните, что это дает вам информацию о правах доступа к файлам, а также размер файла, информацию о времени / дате и имя файла.

Если вы хотите также показывать скрытые файлы / папки (эквивалент Ctrl + H в Nautilus), тогда добавьте флаг -a «all».

Вы можете объединить флаги вместе, чтобы дать вам что-то вроде:

ls -lR

Если вы запустите это в любой папке с приличным размером, вы будете найти это дает огромный длинный выход, который быстро прокручивает экран. Чтобы обойти это, вы можете «вывести» вывод ls через программу с именем less (имя - пародия на аналогичную more, которая была первой, но имеет больше возможностей).

ls -lR | less

Это позволит вам использовать клавиши со стрелками вверх / вниз вместе с параметром PageUp / Down, чтобы перейти через выход с более удобной скоростью.

3
ответ дан 8128 31 July 2018 в 08:31
поделиться

Я создал специально для этого программу - моментальный снимок каталога. Он рекурсивно выполняет итерацию через каталог и сохраняет имена и размеры всех файлов и папок, с которыми он сталкивается в аккуратно структурированных HTML-файлах, которые имеют организацию, аналогичную организации входного каталога. Другими словами, это можно рассматривать как гиперссылку версий команд dir /s или tree /f.

0
ответ дан Anmol Singh Jaggi 31 July 2018 в 08:31
поделиться
  • 1
    Вы написали dir и tree с опциями в стиле DOS, поэтому я должен спросить, будет ли это работать на Ubuntu? – wjandrea 28 December 2017 в 23:32
  • 2
    Да, я на самом деле планировал, чтобы он работал на моей установке Ubuntu каждые выходные. Хотя, он построен с использованием C ++ и Boost, поэтому будет сложно скомпилировать и создать двоичный файл. Вот почему я переношу его на Python. В любом случае, я могу дать вам предварительно скомпилированный двоичный файл, если вы хотите. – Anmol Singh Jaggi 29 December 2017 в 09:27

Как насчет сценария Nautilus?

#!/bin/bash # # AUTHOR: (c) 2013 Glutanimate (https://askubuntu.com/users/81372) # NAME: DirTree 0.1 # DEPENDENCIES: zenity tree (install with sudo apt-get install zenity tree) # LICENSE: GNU GPL v3 (http://www.gnu.org/licenses/gpl.html) # # DESCRIPTION: Creates a directory tree at the current location. If you want you # can filter the output by a pattern (e.g. *.avi to only include avi # files). TITLE=DirTree # Get working directory WORKINGDIR="`python -c 'import gio,sys; print(gio.File(sys.argv[1]).get_path())' $NAUTILUS_SCRIPT_CURRENT_URI`" # Time and date TIME=$(date +"%Y-%m-%d_%H%M%S") # Filter pattern zenity --question --title "$TITLE" --text "Do you want to filter by a specific file pattern?" if [ "$?" = "1" ] then customtree="tree" else PATTERN=$(zenity --entry --title "$TITLE" --text="Please enter a file pattern (e.g. *.avi)") if [ -z "$PATTERN" ] then exit else customtree="tree -P $PATTERN" fi fi # Directory tree $customtree "$WORKINGDIR" > "$WORKINGDIR/directorytree_$TIME.txt"

Инструкции по установке: Как установить скрипт Nautilus?

0
ответ дан Community 31 July 2018 в 08:31
поделиться

Использование Krusader:

Использовать поиск (Ctl-S). Отметьте «поиск в подкаталогах». Нажмите «Поиск». Когда поиск завершен, нажмите «Подача в список».

Это позволит вам обрабатывать всю партию, перетаскивая ее на другую панель и т. д.

0
ответ дан Frank Z. 31 July 2018 в 08:31
поделиться
find /path/ -printf "%TY-%Tm-%Td\t%s\t%p\n"

Вы можете играть с форматированием printf столько, сколько хотите. Это дает вам отличную возможность получить отформатированные файлы так, как вам нужно, что неоценимо, если вы используете вывод в другом приложении.

Подробнее: http://linux.about.com/od /commands/l/blcmdl1_find.htm

Для лучшей читаемости вы можете пропустить все это через команду column, и она автоматически изменит размеры, чтобы они выстроились в линию.

find /path/ -printf "%TY-%Tm-%Td\t%s\t%p\n" | column -t
24
ответ дан Oli 31 July 2018 в 08:31
поделиться
  • 1
    Или просто ls -R, если вам не нужны все детали. – Matthew Pirocchi 30 November 2010 в 06:09

вы можете поместить их в свой .bashrc-файл

function _get_tree(){ ls -alR | while read LINE; do echo $LINE | grep ":$" > /dev/null; if [ $? -eq 0 ]; then VAR=$(echo $LINE | grep ":$"| sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/' | tee /dev/tty); fi; echo $LINE | grep "^-" > /dev/null; if [ $? -eq 0 ]; then size=${#VAR}; for i in $(eval echo "{1..$size}"); do echo -n ' '; done; echo -n '..'; echo $LINE | cut -d ' ' -f9; fi; done; }; alias get_tree='_get_tree'

Теперь вы можете использовать команду get_tree внутри любого каталога и отображать всю иерархию.

Синтаксис: [ ! d2] $ get_tree

Выход образца:

. ..test.sh |-2 ..123.log |---3 |-----4 |-5 |---6

Надежда, это помогает !!

-1
ответ дан Ron 31 July 2018 в 08:31
поделиться
  • 1
    Не помогайте, если вы не объясните, что вы делаете. – Ron 22 July 2015 в 08:04
  • 2
    -1 Плохое форматирование кода, недостаточно объяснений. И почему вы делаете псевдоним? – wjandrea 28 December 2017 в 23:49
Дерево

будет очень удобно для вас.

sudo apt-get install tree

с помощью tree filepath для отображения файлов.

36
ответ дан Vivek Aditya 31 July 2018 в 08:31
поделиться

Как ответил Оли, find позволит вам искать полное дерево каталогов:

find /path/ -printf "%TY-%Tm-%Td\t%s\t%p\n" # Where %TY will display the mod. time year as 4 digits # %Tm will display the mod. time month as 2 digits # %Td will display the mod. time day as 2 digits # %s displays the file size in bytes # %p displays the full path name of the file

Вы также можете использовать параметр -type f, чтобы ограничить результаты только файлами. Если вы хотите сопоставить шаблон файла, вам нужны опции -name или -iname (соответственно чувствительны к регистру и нечувствительны к регистру). Прочитайте man-страницу find - есть значительное количество опций, которые вы можете использовать для сужения / уточнения вашего поиска.

И как раз в сторону, если вы ожидаете иметь несколько экраны данных будут отброшены на вас, не забудьте передать свои результаты через less.

@Oli: +1 Я только что узнал что-то новое - column. Раньше не использовал это.

4
ответ дан Will 31 July 2018 в 08:31
поделиться

Nautilus

Разрешить расширение подпапок в режиме просмотра списка 14.04 и 16.04 см. здесь. 17.10 и 18.04 см. здесь. Нажмите на папку и нажмите звездочку (* на цифровой клавиатуре или Shift + 8), чтобы разверните один уровень подкаталогов. Каждый раз, когда вы нажимаете звездочку, он будет расширять следующий уровень. Источник: ответ htorque здесь.

Это также работает в Nemo.

0
ответ дан wjandrea 31 July 2018 в 08:31
поделиться

ls - стандартная команда для отображения файлов в Ubuntu и других операционных системах Linux и Unix. ls особенно полезно узнать, потому что вы найдете его установленным в каждой системе Unix, которую вы когда-либо встречали. По умолчанию при запуске отображаются только файлы в текущем каталоге.

Однако флаг -R 'является рекурсивным вариантом (обратите внимание на капитал R, а не r), который также покажет вам все подкаталоги.

Вы попросили «подробности» - для этого вам нужен флаг -l (это строчный L, а не номер один). Помните, что это дает вам информацию о правах доступа к файлам, а также размер файла, информацию о времени / дате и имя файла.

Если вы хотите также показывать скрытые файлы / папки (эквивалент Ctrl + H в Nautilus), тогда добавьте флаг -a «all».

Вы можете объединить флаги вместе, чтобы дать вам что-то вроде:

ls -lR

Если вы запустите это в любой папке с приличным размером, вы будете найти это дает огромный длинный выход, который быстро прокручивает экран. Чтобы обойти это, вы можете «вывести» вывод ls через программу с именем less (имя - пародия на аналогичную more, которая была первой, но имеет больше возможностей).

ls -lR | less

Это позволит вам использовать клавиши со стрелками вверх / вниз вместе с параметром PageUp / Down, чтобы перейти через выход с более удобной скоростью.

3
ответ дан 8128 2 August 2018 в 01:13
поделиться

Я создал специально для этого программу - моментальный снимок каталога. Он рекурсивно выполняет итерацию через каталог и сохраняет имена и размеры всех файлов и папок, с которыми он сталкивается в аккуратно структурированных HTML-файлах, которые имеют организацию, аналогичную организации входного каталога. Другими словами, это можно рассматривать как гиперссылку версий команд dir /s или tree /f.

0
ответ дан Anmol Singh Jaggi 2 August 2018 в 01:13
поделиться
  • 1
    Вы написали dir и tree с опциями в стиле DOS, поэтому я должен спросить, будет ли это работать на Ubuntu? – wjandrea 28 December 2017 в 23:32
  • 2
    Да, я на самом деле планировал, чтобы он работал на моей установке Ubuntu каждые выходные. Хотя, он построен с использованием C ++ и Boost, поэтому будет сложно скомпилировать и создать двоичный файл. Вот почему я переношу его на Python. В любом случае, я могу дать вам предварительно скомпилированный двоичный файл, если вы хотите. – Anmol Singh Jaggi 29 December 2017 в 09:27

Как насчет сценария Nautilus?

#!/bin/bash # # AUTHOR: (c) 2013 Glutanimate (https://askubuntu.com/users/81372) # NAME: DirTree 0.1 # DEPENDENCIES: zenity tree (install with sudo apt-get install zenity tree) # LICENSE: GNU GPL v3 (http://www.gnu.org/licenses/gpl.html) # # DESCRIPTION: Creates a directory tree at the current location. If you want you # can filter the output by a pattern (e.g. *.avi to only include avi # files). TITLE=DirTree # Get working directory WORKINGDIR="`python -c 'import gio,sys; print(gio.File(sys.argv[1]).get_path())' $NAUTILUS_SCRIPT_CURRENT_URI`" # Time and date TIME=$(date +"%Y-%m-%d_%H%M%S") # Filter pattern zenity --question --title "$TITLE" --text "Do you want to filter by a specific file pattern?" if [ "$?" = "1" ] then customtree="tree" else PATTERN=$(zenity --entry --title "$TITLE" --text="Please enter a file pattern (e.g. *.avi)") if [ -z "$PATTERN" ] then exit else customtree="tree -P $PATTERN" fi fi # Directory tree $customtree "$WORKINGDIR" > "$WORKINGDIR/directorytree_$TIME.txt"

Инструкции по установке: Как установить скрипт Nautilus?

0
ответ дан Community 2 August 2018 в 01:13
поделиться

Другие вопросы по тегам:

Похожие вопросы: