एसएसबी के माध्यम से अलग-अलग ग्राहकों (विंडोज-पुट्टी, मैक-टर्मिनल) के माध्यम से उबंटू तक पहुंचने पर एलएस के लिए अलग-अलग परिणाम।


15

निम्न निर्देशिका संरचना पर विचार करें, स्क्रीन का उपयोग करके मुद्रित किया गया है ls -l "$dir"( $dirएक सर्वर पर कुछ फ़ोल्डर के लिए एक बैश चर है, कुछ स्तरों पर), एक दूरस्थ उबंटू सर्वर पर (अधिक सटीक रूप से, 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

यह एक मैकबुक से आ रहा है, और बिल्ट-इन टर्मिनल और ssh(ओएस एक्स संस्करण 10.13.3 के ओएस एक्स संस्करण संस्करण के रूप में टर्मिनल मुझे बताता है) का उपयोग कर रहा है।

तुलना में, एक ही मशीन, जो PuTTy रिलीज़ 0.70 पर चल रही विंडोज मशीन से एक्सेस की गई है:

-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: जैसा कि टिप्पणियों में उल्लेख किया गया है, मैंने जाँच की है और मैक का टर्मिनल सेट है xterm-256colorजबकि विंडोज एक पर सेट है xterm। मैक की सेटिंग में त्वरित परिवर्तन का xtermकोई प्रभाव नहीं पड़ा।

संपादित करें 2: जैसा कि टिप्पणियों में उल्लेख किया गया है, मैंने दौड़ने की कोशिश की है whereis ls, जो आपको वह उचित स्थान देता है जो आप खोजने की उम्मीद करेंगे ls- यानी bin/ls

संपादन 3: टर्मिनल छवियों से छुटकारा पा लिया, उन्हें इस मेटा पोस्ट के अनुसार ठीक से स्वरूपित कोड के लिए कारोबार किया ।

संपादित करें 4:"$dir" रिक्त स्थान के साथ समस्याओं को रोकने के लिए चारों ओर जोड़े गए उद्धरण ।


कृपया अपने चर को उद्धृत करना याद रखें, इस प्रकार ls -l "$dir":। इसके बिना, यदि फ़ोल्डर नाम में स्थान होना चाहिए, तो आपको एक बकवास परिणाम मिलेगा।
धान लैंडौ

@PaddyLandau तुम सही हो। संपादित किया है कि।
t0mgs

जवाबों:


30

सॉर्टिंग ऑर्डर लोकल वेरिएबल्स द्वारा परिभाषित किया गया है LC_ALL, LC_COLLATEऔर LANG(इस क्रम में, सबसे मजबूत)। ये भी कुछ चर हैं जो आमतौर पर ssh क्लाइंट द्वारा सेट किए जा सकते हैं। इन चरों की जाँच करें और तुलना करें। आप उन्हें सर्वर (जैसे .bash_profile) पर एक अच्छी तरह से परिभाषित मूल्य पर सेट करना चाहते हैं , या यह सुनिश्चित कर सकते हैं कि आपके ssh क्लाइंट समान सुसंगत मूल्य सेट करें।


4

आखिरकार जो काम किया गया, वह इस उत्तर में "क्लाइंट से अग्रेषण स्थान को रोकें" उप-भाग था । बस बाहर बाहर टिप्पणी SendEnv LANG LC_*के नीचे लाइन Hostमें स्थानीय /etc/ssh/ssh_config फ़ाइल। यह क्या करता है के बारे में कुछ स्पष्टीकरण यहां पाया जा सकता है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.