ls -lt não está funcionando no SFTP

1

Eu entro no sftp:

sftp user@server

Então eu corro:

ls -lt

Espero que os arquivos sejam classificados por data.

sftp>  ls -lt *.csv
-rw-------    0 76547986 200       5073032 Mar 14 08:42 file1.csv
-rw-------    0 76547986 200       5073032 Mar 15 08:41 file2.csv
-rw-------    0 76547986 200       5073032 Mar 16 08:41 file3.csv
-rw-------    0 76547986 200       5072802 Mar 17 08:42 file4.csv
-rw-------    0 76547986 200       1117736 Sep 30 14:44 file5.csv
-rw-------    0 76547986 200       1120419 Oct  2 08:45 file6.csv
-rw-------    0 76547986 200       1119763 Oct  1 08:43 file7.csv
-rw-------    0 76547986 200       5073258 Mar 13 08:41 file8.csv

Mas eles não são.

Aqui está a versão do OpenSSH

OpenSSH_7.2p2 Ubuntu-4ubuntu2.1, OpenSSL 1.0.2g  1 Mar 2016

Alguma idéia do porque a data de classificação do ls no sftp não está funcionando?

NOTA: ls -lt funciona no bash no servidor sftp, mas não no prompt do sftp. Talvez um bug no sftp?

    
por rainereality 17.03.2017 / 20:21

1 resposta

5

Se o argumento ls incluir uma máscara (e a máscara não corresponder apenas a uma única pasta), todos os sinalizadores de classificação serão ignorados.

Observe a falta de LS_*_SORT flags usados na do_globbed_ls function .

Ao contrário do do_ls_dir não globalizado

Parece um erro para mim. Por isso, publiquei um relatório de erros:
O comando sftp ls ignora os sinalizadores de classificação para a listagem globada

Uma correção será incluída no próximo OpenSSH 7.6.

    
por 17.03.2017 / 21:00