เนื่องจากตัวละครน่าจะเป็นตัวอักษรสากลจึงน่าจะปรากฏเป็นรหัสควบคุมในชุดอักขระ en_US ของคุณซึ่งเป็นสาเหตุที่ ls แสดงเป็นเครื่องหมายคำถาม
อาจเกิดจากการที่คุณเลือกใช้ alias'ing ls เป็นค่าเริ่มต้นในโปรไฟล์ส่วนกลาง ตัวอย่างเช่น:
alias ls='ls -q'
คุณสามารถดูว่าการกระจายของคุณทำได้โดยการพิมพ์ลงในเปลือกของคุณ:
alias ls
ซึ่งจะพิมพ์ออกมาดังนี้:
$ alias ls
alias ls='ls --color=auto'
หน้าที่ลิงก์ด้านล่างแนะนำว่าถ้าคุณทำ "ls -b" คุณจะเห็นรหัสควบคุมฐานแปดเพื่อให้คุณรู้ว่าอย่างน้อยอักขระที่ใช้งานอยู่
http://www.arsc.edu/arsc/support/howtos/nonprintingchars/
สมมติว่าใช้งานไม่ได้คุณมีตัวเลือกอื่นที่กล่าวถึงอยู่ใกล้กับด้านล่าง:
เครื่องมือที่ฉันไม่รู้จนกระทั่งบัดนี้เรียกว่า OctalDump (บน Debian - / usr / bin / od)
$ ls | od -b
จะแสดงรูปแบบแปดของรหัสควบคุม
$ ls | od -c
จะแสดงตัวอักษรรวมถึงช่องว่างเพิ่มเติมใด ๆ ที่ซ่อนอยู่ซึ่งอาจเป็นที่สิ้นสุด (โปรดสังเกตช่องว่างเพิ่มเติมในตอนท้ายในตัวอย่าง
เมื่อคุณรู้ว่าตัวละครควบคุมนั้นกำลังเล่นอยู่หรือไม่และมีช่องว่างที่ซ่อนอยู่เพิ่มเติมคุณอาจจะสามารถ finagle วิธีในการ cd ไปยังไดเรกทอรีโดยการหนีจากตัวควบคุม ความล้มเหลวนั้นคุณมีสองสามตัวเลือกในการเปลี่ยนชื่อไดเรกทอรี
หน้าข้างบนยังสะดวกมีวิธีที่รวดเร็วและสกปรกสำหรับการลบตัวควบคุมผ่านคำสั่ง mv ซึ่งฉันคิดว่าจะใช้งานได้ตราบใดที่คุณหนีออกจากพื้นที่ แต่อย่าหลบเครื่องหมายคำถาม อักขระตัวแทน) และตราบใดที่ไม่มีสิ่งใดในไดเรกทอรีที่ไดเรกทอรีโกงนี้อยู่ เหตุผลสำหรับข้อกำหนดที่ชัดเจนเหล่านี้เป็นเพราะคุณใช้อักขระตัวแทนและพื้นที่เดียวดังนั้นคุณจึงไม่ต้องการให้อักขระตัวแทนตรงกับไฟล์หรือไดเรกทอรีอื่น ๆ โดยไม่ได้ตั้งใจ
หากวิธีการด้านบนใช้ไม่ได้ผลคุณสามารถใช้วิธีการค้นหาที่กล่าวถึงโดยการตอบกลับอื่น ๆ ได้อย่างมั่นใจในวิธีอื่น แทนที่จะลอง cd ไปยังไดเรกทอรีโดยใช้หมายเลข inode ซึ่งเป็นสิ่งที่คุณบอกว่าคุณได้ลองแล้วคุณสามารถเปลี่ยนชื่อได้โดยใช้หมายเลข inode เพียงให้แน่ใจว่าได้คัดลอกทั้ง3บรรทัดสำหรับคำสั่งนั้นจากหน้าข้างบน (แทนที่ส่วน "ที่ต้องการชื่อ" ด้วยชื่อจริงที่คุณต้องการเปลี่ยนชื่อเป็นอย่างไรก็ตาม)
เมื่อเปลี่ยนชื่อไดเรกทอรีแล้วคุณควรจะสามารถเข้าถึงได้ ฉันหวังว่ามันจะไม่มีไฟล์ที่มีรหัสควบคุมในชื่อมิเช่นนั้นคุณจะต้องล้างและทำซ้ำสำหรับทุกไฟล์ (และ / หรือไดเรกทอรีย่อย) ในไดเรกทอรีที่คุณเพิ่งเปลี่ยนชื่อซึ่งเป็นจุดที่ลูปจะ อาจเป็นการฉลาดที่จะตั้งชื่อทุกไฟล์เป็นตัวเลขโดยเพิ่มจาก 1 :-)
cd */
อาจใช้งานได้*
ควรขยายคำอธิบายที่เข้าใจได้ของไดเรกทอรีของเชลล์และcd
ละเว้นอาร์กิวเมนต์เพิ่มเติม อีกวิธีหนึ่งอาจใช้ตัวจัดการไฟล์กราฟิก (รวมถึง MC ตามเทอร์มินัล) หรือตัวนำทางทรีของไฟล์ในตัวเช่น Vim นอกจากนี้คุณยังสามารถทดลองใช้-exec
สวิตช์เป็นfind, not with
cd` โดยตรง (ซึ่งเป็นเชลล์ในตัว) แต่มีเช่นls
และเครื่องมืออื่น ๆ