Рассмотрите следующую структуру каталогов, распечатанную к экранному использованию ls -l "$dir"
($dir
переменная удара, обозначающая некоторую папку на том же сервере, некоторые выравнивают), на удаленном сервере Ubuntu (более точно, Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0-116-универсальный x86_64)):
-rw-r--r-- 1 user group 12 Apr 2 12:34 FILE1
-rwxr--r-- 1 user group 287 Apr 23 2017 File_
-rw-r--r-- 1 user group 0 Apr 21 2017 file_1
-rw-r--r-- 1 user group 272 Apr 3 22:16 myFile
-rw-r--r-- 1 user group 47633 Apr 11 14:01 myFile.txt
-rw-r--r-- 1 user group 37030 Apr 11 14:16 myfile1
-rw-r--r-- 1 user group 0 Apr 11 21:23 nothing_here
-rw-r--r-- 1 user group 2 Apr 22 2017 small_file
-rwxr-x--- 1 user group 262529 Apr 8 15:31 story
Это прибывает из MacBook и использует встроенный терминал и out-of-the-box установку ssh
(Версия 10.13.3 OS X, как терминал говорит мне).
Рассмотрите в сравнении, тот же сервер получил доступ от выполнения машины Windows к выпуску 0.70 PuTTy:
-rwxr--r-- 1 user group 287 Apr 23 2017 File_
-rw-r--r-- 1 user group 0 Apr 21 2017 file_1
-rw-r--r-- 1 user group 12 Apr 2 12:34 FILE1
-rw-r--r-- 1 user group 272 Apr 3 22:16 myFile
-rw-r--r-- 1 user group 37030 Apr 11 14:16 myfile1
-rw-r--r-- 1 user group 47633 Apr 11 14:01 myFile.txt
-rw-r--r-- 1 user group 0 Apr 11 21:23 nothing_here
-rw-r--r-- 1 user group 2 Apr 22 2017 small_file
-rwxr-x--- 1 user group 262529 Apr 8 15:31 story
Заметьте другую сортировку первых 6 файлов в каждом изображении.
Полагая, что команды работают на сервере, а не на клиентских компьютерах, нельзя было бы ожидать различие между этими двумя выводами. Какова причина, они не идентичны, затем?
Редактирование 1: Как упомянуто в комментариях, я проверил, и терминал Mac установлен на xterm-256color
в то время как Windows каждый установлен на xterm
. Номер с переодеванием установки Mac на xterm
имеемый никакой эффект.
Редактирование 2: Как упомянуто в комментариях, я попытался работать whereis ls
, который дает разумное местоположение, Вы ожидали бы находить ls
- т.е. bin/ls
.
Редактирование 3: Избавленный от терминальных изображений, обменял их на правильно форматировавший код согласно этому сообщению meta.
Редактирование 4: Добавленные кавычки вокруг "$dir"
предотвратить проблемы с пробелами.
То, что в конечном счете работало, было "Передающей Локалью Остановки От Клиента" подраздел в этом ответе. Просто прокомментируйте SendEnv LANG LC_*
строка под Host
в локальном /etc/ssh/ssh_config
файл. Некоторое объяснение о том, что это делает, может быть найдено здесь.
Порядок сортировки определяется переменными локали LC_ALL
, LC_COLLATE
и LANG
(в этом порядке, при этом первым является самое сильное). Это также некоторые из нескольких переменных, которые обычно могут устанавливаться ssh клиентом. Проверьте и сравните эти переменные. Вы могли бы хотеть установить их на четко определенное значение на сервере (например, в .bash_profile
), или удостоверьтесь, что Ваши ssh клиенты устанавливают то же последовательное значение.