Общедоступная/частная пара ключей должна быть создана на машине, которую Вы хотите подключить с того времени, открытый ключ должен быть скопирован в машину, с которой Вы хотите соединиться. Поскольку этот explaination позволяет, называют машину, которую Вы хотите подключить от локального и машины, которую Вы хотите подключить к удаленному.
Шаг 1 - Генерирует пару ключей на локальном
> ssh-keygen -t dsa
Эта команда создаст id_dsa и id_dsa.pub в Вашей домашней папке, т.е. ~/.ssh/id_dsa и ~/.ssh/id_dsa.pub
Шаг 2 - Добавляет открытый ключ к authorized_keys файлу на машине, с которой Вы хотите соединиться.
локальный> ssh user@remote
удаленный> vi ~/.ssh/authorized_keys
удаленный> chmod 600 ~/.ssh/authorized_keys
Необходимо теперь смочь соединиться с удаленной машиной с помощью ключа.
local> ssh user@remote
Если у Вас есть это в специализированной файловой системе, или у Вас есть устойчивое количество файлов наверху, Вы можете получать достаточно грубое количество количества файлов путем рассмотрения количества inodes в файловой системе через "df-i":
root@dhcp18:~# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 60489728 75885 60413843 1% /
На моем тестовом поле выше у меня есть 75,885 выделенные inodes. Однако эти inodes не являются просто файлами, они - также каталоги. Например:
root@dhcp18:~# mkdir /tmp/foo
root@dhcp18:~# df -i /tmp
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 60489728 75886 60413842 1% /
root@dhcp18:~# touch /tmp/bar
root@dhcp18:~# df -i /tmp
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 60489728 75887 60413841 1% /
Примечание: Не все файловые системы поддерживают количества inode тот же путь. ext2/3/4 будет все работать, однако btrfs всегда сообщает 0.
Если необходимо дифференцировать файлы от каталогов, Вы оказываетесь перед необходимостью обходить файловую систему и "статистику" каждый, чтобы видеть, является ли это файл, каталог, символьная ссылка, и т.д... Самой большой проблемой здесь не является передача по каналу всего текста в "туалет", но поиск вокруг среди всего inodes и записей каталога для соединения тех данных.
Кроме inode таблицы как показано "df-i", действительно нет никакой базы данных того, сколько файлов там находится под данным каталогом. Однако, если эта информация важна для Вас, Вы могли бы создать и поддержать такую базу данных при наличии Вашего инкремента программ число, когда они создают файл в этом каталоге и постепенно уменьшают его при удалении. Если Вы не управляете программами, которые создают их, это не опция.
Попробуйте этот удобный небольшой сценарий Python, чтобы видеть если его немного быстрее.
from os import walk
print sum([len(files) for (root, dirs, files) in walk('/some/path')])
Andrew
Я бы также попробовал:
find topDir -maxdepth 3 -printf '% h% f \ n'
И затем обработать вывод, сократив количество каталогов.
Это особенно полезно, если вы предполагаете структуру каталогов.
если вы установили locate, вы можете использовать
locate -r '.' | grep -c "^$PWD"
или получить результат по всей файловой системе
locate -S
Это будет намного быстрее, чем найти, если у вас много файлов.
единственный недостаток в том, что он также считает директории
Я написал специальную программу подсчета файлов для этого вопроса StackOverflow: https://stackoverflow.com/questions/1427032/fast-linux -file-count-for-a-large-number-of-files
Вы можете найти репозиторий GitHub здесь, если хотите просмотреть, загрузить или внести свой вклад: https://github.com/ ChristopherSchultz / fast-file-count
Si voleu comptar recursivament el nombre de fitxers d'un directori, l'ordre find és el que he conegut de forma ràpida, suposant que teniu un base de dades de dates (base de dades d’actualització sudo .. feta per defecte mitjançant el treball cron cada dia). No obstant això, podeu accelerar l'ordre si eviteu la canonada grep .
Vegeu man seek :
-c, --count
Instead of writing file names on standard output, write the number of
matching entries only.
Per tant, l'ordre més ràpid és:
locate -c -r '/path/to/dir'
Распараллелить. Запустите отдельную команду find
для каждого подкаталога и запустите их одновременно. Это можно автоматизировать с помощью xargs
.