Betrachten Sie die folgende Verzeichnisstruktur , die auf einem entfernten Ubuntu-Server (genauer gesagt Ubuntu 16.04.4 LTS (GNU / Linux 4.4) auf dem Bildschirm angezeigt wird ls -l "$dir"
( $dir
eine Bash-Variable, die für einen Ordner auf demselben Server steht, einige Ebenen höher) .0-116-generisches 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
Dies kommt von einem MacBook und verwendet das eingebaute Terminal und die ssh
sofort einsatzbereite Installation von (OS X Version 10.13.3, wie mir das Terminal mitteilt).
Betrachten Sie im Vergleich denselben Server, auf den von einem Windows-Computer aus zugegriffen wird, auf dem PuTTy Version 0.70 ausgeführt wird:
-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
Beachten Sie die unterschiedliche Sortierung der ersten 6 Dateien in jedem Bild.
Wenn man bedenkt, dass die Befehle auf dem Server und nicht auf den Client-Computern ausgeführt werden, würde man keinen Unterschied zwischen den beiden Ausgaben erwarten. Was ist der Grund, warum sie nicht identisch sind?
Bearbeiten 1: Wie in den Kommentaren erwähnt, habe ich überprüft und das Mac-Terminal ist auf eingestellt, xterm-256color
während das Windows -Terminal auf eingestellt ist xterm
. Eine schnelle Änderung der Mac-Einstellungen xterm
hatte keine Auswirkungen.
Bearbeiten 2: Wie in den Kommentaren erwähnt, habe ich versucht, ausgeführt whereis ls
, die den angemessenen Ort gibt, den Sie erwarten würden, zu finden ls
- dh bin/ls
.
Bearbeiten 3: Die Terminal-Bilder wurden entfernt und gemäß diesem Meta-Post gegen korrekt formatierten Code eingetauscht .
Edit 4: Es wurden Anführungszeichen hinzugefügt "$dir"
, um Probleme mit Leerzeichen zu vermeiden.
ls -l "$dir"
. Wenn der Ordnername kein Leerzeichen enthalten würde, würde dies zu einem Unsinn führen.Antworten:
Sortierreihenfolge durch die locale - Variablen definiert ist
LC_ALL
,LC_COLLATE
undLANG
(in dieser Reihenfolge, wobei die erste die stärkste). Dies sind auch einige der wenigen Variablen, die normalerweise vom ssh-Client festgelegt werden können. Überprüfen und vergleichen Sie diese Variablen. Möglicherweise möchten Sie sie auf einen genau definierten Wert auf dem Server setzen (z. B. in.bash_profile
) oder sicherstellen, dass Ihre ssh-Clients denselben konsistenten Wert festlegen.quelle
Was schließlich funktionierte, war der Unterabschnitt "Stoppen der Weiterleitung des Gebietsschemas vom Client" in dieser Antwort . Kommentieren Sie einfach die
SendEnv LANG LC_*
Zeile unterHost
in der lokalen/etc/ssh/ssh_config
Datei aus. Eine Erklärung dazu finden Sie hier .quelle