Используйте du
. Используйте -x
для предотвращения рекурсии в другие точки монтирования. Вы можете ограничить вывод с помощью --max-depth=N
. Человекочитаемый формат (, например, 1K 234M 2G ), включается -h
.
Вывод можно сортировать по конвейеру в sort
.
Например:
du -x --max-depth=3 -h / | sort -h
В современных версиях ssh это очень легко сделать, используя концепцию ProxyJump
, по крайней мере, если у вас настроены ключи.
Назовем 3 машины L, I и R (для локальных, промежуточных и удаленных ). Предположим для начала, что все имена пользователей одинаковы.
Тогда требуется команда
scp -oProxyJump=I R:remote_file localfile
Если имена пользователей разные, замените I на user@I
и R на user@R
.
Если вы используете ssh, команда будет:
ssh -J [user@]I [user@]R
Это можно сделать, изменив конфигурацию ssh, включив прокси-сервер. scp использует ssh для удаленных подключений, поэтому простое редактирование конфигурации ssh должно работать. Используйте свой «промежуточный сервер» в качестве прокси.
Добавьте что-то подобное в свой ~/.ssh/config
файл:
Host target.machine
User targetuser
HostName target.machine
ProxyCommand ssh proxyuser@proxy.machine nc %h %p 2> /dev/null
Затем просто используйте scp
, как если бы вы подключались напрямую к удаленному серверу.
Чтобы отдать должное, я взял это из здесь .