Получите список файлов Linux, рекурсивный и прямой вывод в файл

Я настраиваю программное обеспечение на Ubuntu для i2b2 и пытаюсь найти все соответствующие файлы на изображении CentOS, которое я загрузил (путь ниже), и теперь я запускаю на Windows VMWare Player (бесплатно для загрузки). Я хотел бы создать файл иерархии файлов Linux рекурсивно, как для CentOS, так и для Ubuntu, поэтому я могу найти соответствующие файлы для каждой программы (например, JBoss, Java, Apache, Axis, Spring Web Framework, Oracle и т. Д. .) и сравните конфигурацию. Я знаю, как делать аналогичную вещь в Windows, получая вывод всех файлов.

Короче говоря, я просто хочу сбросить все файлы в файловой системе Linux, начиная с корневой папки, и сохранить ее в файл.

Для этого выполните команду в Windows:

WINDOWS-COMMAND-PROMPT>dir /b /a /s >> files_on_windows.txt 

Справка:

http://www.i2b2.org > Программное обеспечение (меню)> VMWare Image

  • Вывод команды подстановки grepping ls вызывает ошибку
  • Как перемещать (изображение) файлы в другие каталоги на основе дат файлов
  • выпуск разрешения файла по умолчанию для пользователя rhel 6
  • Удалить файлы старше X дней +
  • Не удалось запустить chmod, chown и даже ls в папке
  • Удаление повторяющихся записей из файла
  • Каковы разрешения файлов по умолчанию в CentOS?
  • Удалить каталог под Cryptkeeper без доступа к его учетной записи
  • One Solution collect form web for “Получите список файлов Linux, рекурсивный и прямой вывод в файл”

    Грубый эквивалент вашей команде Windows будет использовать команду find :

     find / -xdev >files_on_linux.txt 

    Я не думаю, что это было бы очень полезно для того, что вы делаете. В Linux (как CentOS, так и Ubuntu) программы входят в пакеты; если вы хотите иметь одни и те же программы на Ubuntu и CentOS, тогда вы должны получить список пакетов на машине CentOS и установить те же пакеты на Ubuntu. В CentOS вы можете перечислить установленные пакеты с помощью следующей команды (шаг sed отключает номера версий, которые здесь неактуальны):

     rpm -qa | sed 's/-[0-9]*//' | sort >centos_packages.txt 

    Плохая новость заключается в том, что CentOS и Ubuntu используют разные имена пакетов, поэтому вы не можете взять этот список и выполнить установку на Ubuntu. Вы можете отрезать часть работы, проигнорировав любой пакет под названием lib, поскольку они будут автоматически загружаться программами, которые в них нуждаются. Некоторые имена пакетов будут соответствовать одному для одного; вы можете установить их следующим образом:

     apt-get install $(grep -v '^lib' centos_packages.txt) 

    Вы можете использовать следующую команду, чтобы увидеть, какие пакеты не установлены или имеют другое имя, – это показывает строки, которые присутствуют в centos_packages.txt но не на выходе из dpkg --get-selections centos_packages.txt , в котором перечислены установленные (или выбранные для установки) на Ubuntu:

     dpkg --get-selections | sort | comm -31 - centos_packages.txt 

    Кроме того, в /usr/local или /opt могут быть установлены программы, которые не входят в систему упаковки. Вы должны иметь возможность копировать файлы напрямую. Вы можете сделать это следующим образом:

     cd / sudo tar cjf usr_local.tar.bz2 opt usr/local 

    Скопируйте файл usr_local.tgz в новую систему Linux и распакуйте его:

     cd / sudo tar xjf usr_local.tar.bz2 
    Linux и Unix - лучшая ОС в мире.