異なるクライアント(Windows-PuTTY、Mac-Terminal)からSSH経由でUbuntuにアクセスした場合のlsの異なる結果
ls -l "$dir"
($dir
は同じサーバー上のいくつかのフォルダーを表すbash変数で、数レベル上にあります)、リモートUbuntuサーバー(より正確には、 Ubuntu 16.04.4 LTS(GNU/Linux 4.4.0-116-generic 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から来ており、ビルトインターミナルと、すぐに使用できるssh
のインストールを使用しています(OS Xバージョン10.13.3、ターミナルが私に言うように)。
比較して、同じサーバーがPuTTYリリース0.70を実行しているWindowsマシンからアクセスすることを考慮してください:
-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つのファイルのソートが異なることに注意してください。
コマンドがクライアントコンピューター上ではなくサーバー上で実行されていることを考えると、2つの出力に違いはないはずです。それでは、それらが同一ではない理由は何ですか?
編集1:コメントで述べたように、私はチェックし、Macの端末はxterm-256color
に設定され、Windowsの端末はxterm
。 Macの設定をxterm
にすばやく変更しても効果はありませんでした。
編集2:コメントで述べたように、whereis ls
を実行してみました。これにより、ls
を見つけるのに適切な場所がわかります。 -すなわちbin/ls
。
Edit 3:端末イメージを取り除き、 this meta post に従って適切にフォーマットされたコードと交換しました。
編集4:スペースの問題を防ぐために、"$dir"
の周りに引用符を追加しました。
最終的に機能したのは、 this answer の「クライアントからのロケールの転送を停止」サブセクションでした。 localSendEnv LANG LC_*
ファイルのHost
の下の/etc/ssh/ssh_config
行をコメントアウトするだけです。それが何をするかについてのいくつかの説明を見つけることができます こちら 。
ソート順は、ロケール変数LC_ALL
、LC_COLLATE
、およびLANG
によって定義されます(この順序で、最初が最も強力です)。これらは、通常sshクライアントによって設定できる数少ない変数の一部です。これらの変数を確認して比較します。サーバー上で明確に定義された値(たとえば、.bash_profile
)に設定するか、sshクライアントが同じ一貫した値を設定するようにします。