Ubuntu

ls -lt 在 SFTP 中不起作用

  • January 14, 2019

我登錄到 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 起包含一個修復程序。

引用自:https://serverfault.com/questions/839005