我登录到 sftp:
sftp user@server
然后我运行:
ls -lt
我希望文件按日期排序。
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
但他们不是。
这是 OpenSSH 的版本
OpenSSH_7.2p2 Ubuntu-4ubuntu2.1, OpenSSL 1.0.2g 1 Mar 2016
知道为什么 sftp 中 ls 的日期排序不起作用吗?
注意: ls -lt 在 sftp 服务器上的 bash 中工作,而不是通过 sftp 提示符。也许是 sftp 中的错误?
如果
ls
参数包含掩码(并且掩码仅与单个文件夹不匹配),则忽略所有排序标志。注意函数
LS_*_SORT
中没有使用标志。do_globbed_ls
与非通配符相反
do_ls_dir
。这对我来说似乎是一个错误。因此我发布了一个错误报告:
sftp ls command ignores sorting flags for globbed Listing
自 OpenSSH 7.6 起包含一个修复程序。