ฉันมีไดเรกทอรีที่เรียกว่าซึ่งผมต้องย้ายไป--pycache--
__pycache__
ใช้mv
คำสั่งด้วยวิธีต่อไปนี้ให้ผลลัพธ์ที่แสดง ฉันจะใช้CLI
เพื่อทำสิ่งที่ฉันต้องการได้อย่างไร
$ mv --pycache-- __pycache__
/bin/mv: unrecognized option '--pycache--/'
ฉันมีไดเรกทอรีที่เรียกว่าซึ่งผมต้องย้ายไป--pycache--
__pycache__
ใช้mv
คำสั่งด้วยวิธีต่อไปนี้ให้ผลลัพธ์ที่แสดง ฉันจะใช้CLI
เพื่อทำสิ่งที่ฉันต้องการได้อย่างไร
$ mv --pycache-- __pycache__
/bin/mv: unrecognized option '--pycache--/'
คำตอบ:
นี่เป็นปัญหามาตรฐานของชื่อไฟล์ / ไดเรกทอรีที่เริ่มต้นด้วยสัญลักษณ์ธรรมดาน้อยกว่า ปัญหาของคุณคือ mv กำลังรักษา --pycache - เป็นชื่อตัวเลือกที่ยาว (ตั้งแต่เริ่มต้นด้วย - นอกจากนี้ยังมีตัวเลือกสั้น ๆ พวกเขาเริ่มต้นด้วย -) โปรดดู manpage สำหรับgetoptสำหรับรายละเอียดเกี่ยวกับตัวเลือกแบบยาวและแบบสั้น
วิธีแก้ปัญหามาตรฐานในสถานการณ์นี้คือการใช้เส้นประสองอันที่ว่างเปล่า-ก่อนหน้าอาร์กิวเมนต์ทั้งหมดซึ่งบอกคำสั่ง (mv ในกรณีของคุณ แต่จะทำงานร่วมกับผู้อื่นตัวอย่างเช่น cp) เพื่อหยุดการรักษาสิ่งต่อไปนี้เป็นตัวเลือก ข้อโต้แย้ง
ดังนั้นคำสั่งของคุณจะกลายเป็น:
$ mv -- --pycache--/ __pycache__
และจะไม่ล้มเหลว
./
mv ./--pycache-- __pycache__
อักขระตัวแรกของคุณ-
นั้นคลุมเครือสำหรับmv
คำสั่ง (หรือมากกว่านั้นอย่างชัดเจนนั่นหมายความว่าชื่อตัวเลือกจะตามมา)
ลองใช้สิ่งนี้แทน:
mv ./--ppycache-- __pycache__
ที่มา: linux.about.com