Farklı istemcilerden SSH üzerinden Ubuntu'ya erişirken ls için farklı sonuçlar (Windows-PuTTy, Mac-Terminal)


15

Uzak bir Ubuntu sunucusunda (daha kesin olarak, Ubuntu 16.04.4 LTS (GNU / Linux 4.4), aşağıdaki sunucu yapısını ls -l "$dir"( $diraynı sunucudaki bir klasör için birkaç seviye yukarı duran bir bash değişkeni) düşünün .0-116-genel 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

Bu bir MacBook'tan geliyor ve yerleşik terminali ve ilk kurulumunu kullanıyor ssh(terminalin söylediği gibi OS X Sürüm 10.13.3).

Karşılaştırmada, aynı sunucunun PuTTy 0.70 sürümünü çalıştıran bir Windows makinesinden eriştiğini düşünün :

-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

Her görüntüdeki ilk 6 dosyanın farklı sıralamasına dikkat edin.

Komutların istemci bilgisayarlarda değil sunucuda çalıştığı düşünüldüğünde, iki çıkış arasında bir fark beklenmez. Aynı olmamalarının nedeni nedir?

Düzenleme 1: Yorumlarda belirtildiği gibi, kontrol ettim ve xterm-256colorWindows terminali ayarlanırken Mac terminali olarak ayarlandı xterm. Mac ayarının hızlı bir şekilde değiştirilmesinin bir xtermetkisi olmadı.

Edit 2: Yorumlarda belirtildiği gibi, whereis lsbulmayı beklediğiniz makul konumu veren çalıştırmayı denedim ls- yani bin/ls.

Düzenleme 3: Terminal görüntülerinden kurtuldum, bu meta gönderiye göre düzgün biçimlendirilmiş kod için işlem gördüm .

Edit 4:"$dir" Boşluklarla ilgili sorunları önlemek için etrafa tırnak işaretleri eklendi .


Böylece, Değişkeninizi vermeyi unutmayınız: ls -l "$dir". Bu olmadan, klasör adı bir boşluk içeriyorsa, saçma bir sonuç elde edersiniz.
Paddy Landau

@PaddyLandau haklısın. Bunu düzenledi.
t0mgs

Yanıtlar:


30

Sıralama sırası yerel değişkenler tarafından tanımlanır LC_ALL, LC_COLLATEve LANG(bu sırayla, ilk güçlü olmak üzere). Bunlar aynı zamanda ssh istemcisi tarafından ayarlanabilen birkaç değişkenten bazılarıdır. Bu değişkenleri kontrol edin ve karşılaştırın. Bunları sunucuda iyi tanımlanmış bir değere (ör. İçinde) ayarlamak .bash_profileveya ssh istemcilerinizin aynı tutarlı değeri ayarladığından emin olmak isteyebilirsiniz .


4

Sonunda işe yarayan, bu cevabın "Yerelden İstemciden Yönlendirmeyi Durdur" alt bölümü oldu . Sadece yorum yapSendEnv LANG LC_* altında hat Hostiçinde yerel /etc/ssh/ssh_config dosyaya. Ne yaptığı hakkında bazı açıklamalar burada bulunabilir .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.