... jeśli masz prawdziwy dostęp do powłoki. Niektóre systemy mają specjalną powłokę, która akceptuje tylko niektóre scpi rsyncpołączenia, być może sftprównież i to wszystko.
glglgl,
jak byś to nazwał alias, aby powiedzieć „rls”?
Walrus the Cat
2
@WalrustheCat alias rls="ssh user@host ls -l"Uruchom ponownie powłokę i rls /some/directorypowinien działać.
chishaku,
Jedynym problemem jest to, że nie znaleziono pliku zwraca kod błędu, a moim powodem jest właśnie to, dlaczego chcę wywołać ls.
Steve Cohen
Nie obserwuję @SteveCohen. Czy chcesz kod błędu ze zdalnego ls? Jeśli tak, to $? zawiera go zaraz po wykonaniu polecenia. (np. zwraca 2, jeśli uruchomię to [lokalnie lub zdalnie] na pliku, który nie został znaleziony)
Corey S.
11
Aby wyświetlić listę wszystkich plików w katalogu:
rsync host.name.com:directory/path/'*'
Dla czegoś takiego jak znajdź katalog / ścieżka -ls
Jeśli rsync nie jest zainstalowany na hoście, otrzymasz coś takiego bash: rsync: command not found. Myślę, że to sugeruje, że używa SSH w tle?
mwfearnley,
Zwróć uwagę, że format jest podobny do ls -l. W moim systemie nie wygląda na to, żeby istniała opcja tylko listy plików.
Jonathan
6
Wszystkim przychodzącym przez Google na to pytanie, ponieważ szukają sposobu na wyświetlenie listy zdalnych plików, ale nie mogą uzyskać dostępu do zdalnego serwera za pośrednictwem ssh (typowy przypadek dla serwerów kopii zapasowych), można użyć „sftp”.
Uważam, że najczęściej używam tego, aby uzyskać wynik ls, prostą listę plików bez wszystkich uprawnień i dat i tak dalej, i przechowywać go w pliku lokalnym.
Możesz uruchomić cokolwiek chcesz w ramach cytatów. Wszystkie dane wyjściowe kończą się w lokalnym pliku tekstowym. Lub jeśli chcesz uruchomić duży nieprzyjemny skrypt na serwerze i przechwycić wszystkie dane wyjściowe, nawet błędy:
Odpowiedzi:
Zawsze możesz to zrobić:
Spowoduje to SSH do hosta, uruchomienie ls, zrzut danych wyjściowych z powrotem do Ciebie i natychmiastowe odłączenie.
źródło
scp
irsync
połączenia, być możesftp
również i to wszystko.alias rls="ssh user@host ls -l"
Uruchom ponownie powłokę irls /some/directory
powinien działać.Aby wyświetlić listę wszystkich plików w katalogu:
Dla czegoś takiego jak znajdź katalog / ścieżka -ls
źródło
bash: rsync: command not found
. Myślę, że to sugeruje, że używa SSH w tle?ls -l
. W moim systemie nie wygląda na to, żeby istniała opcja tylko listy plików.Wszystkim przychodzącym przez Google na to pytanie, ponieważ szukają sposobu na wyświetlenie listy zdalnych plików, ale nie mogą uzyskać dostępu do zdalnego serwera za pośrednictwem ssh (typowy przypadek dla serwerów kopii zapasowych), można użyć „sftp”.
Przykład:
Rozpocznij interaktywną sesję w określonym zdalnym katalogu:
źródło
Tak. SSH i wykonaj
ls
:Możesz z łatwością napisać skrypt, aby uzyskać większą elastyczność, lub użyć składni host: ścieżka
scp
.źródło
Uważam, że najczęściej używam tego, aby uzyskać wynik ls, prostą listę plików bez wszystkich uprawnień i dat i tak dalej, i przechowywać go w pliku lokalnym.
Możesz uruchomić cokolwiek chcesz w ramach cytatów. Wszystkie dane wyjściowe kończą się w lokalnym pliku tekstowym. Lub jeśli chcesz uruchomić duży nieprzyjemny skrypt na serwerze i przechwycić wszystkie dane wyjściowe, nawet błędy:
źródło
{ }
nie są potrzebne.