Comando FTP "ls-lt": como é que lista os detalhes do ficheiro para o FTP Linux e o servidor FTP do Windows?
estou a escrever um cliente de FTP que deve trabalhar para, pelo menos, o Windows e o Linux FTPs. Mas antes de prosseguir, quero responder a estas perguntas.
- em que ordem os ficheiros são listados quando o comando FTP
ls -lt
é usado para o servidor de FTP no Linux ? - Existe algum formato / lógica específico em que todos os servidores FTP do Linux fornecem a lista de ficheiros? por exemplo, DateTime stamp vai estar sempre lá e os arquivos são listados na ordem descendente da "data modified" ou algo assim.
- em que ordem os ficheiros são listados quando o comando FTP
ls -lt
é usado para o servidor de FTP no Windows ? - existe algum formato / lógica específico em que todos os servidores FTP do Windows forneçam a lista de ficheiros? Pode indicar-me alguma documentação que ajude a compreender isto? Existe algum padrão definido para isso?
Nota: eu tentei o comando em servidores FTP do Windows e Linux, mas não consegui descobrir nenhum comando específico lógica / formato.
3 answers
ls
é um comando do cliente. Quando o seu cliente obtém ls -lt
do utilizador, emite um comando {[[2]} para o servidor e cabe ao seu cliente analisar os dados devolvidos e ordená-los a tempo. Os dados devolvidos pelo servidor ftp quando você usa o comando LIST
é semelhante à saída de ls
, mas pode variar de servidor para servidor. Ver: http://cr.yp.to/ftp/list.html
O formato dos comandos FTP ls / dir depende da implementação do servidor. É improvável que possa confiar na ordem de um comando ls-lt dentro do ftp. Algumas implementações do servidor podem dar-lhe ordem de nome, outras podem dar-lhe ordem de tempo.
Os servidores FTP mais recentes devem implementar o RFC 3659, particularmente os comandos MLSD e MLST. O formato da resposta para esses comandos -- usado para listar arquivos e diretórios, em um formato processável por máquina -- é estritamente definido pelo RFC, e assim deve ser o mesmo em todas as plataformas/OSes subjacentes.
Infelizmente, os comandos MLSD/MLST, ao abordarem o formato das respostas, não garantem a encomenda dos ficheiros dentro de um listagem; isso é algo que o seu cliente precisa de lidar.