ฉันอยู่ในวิทยาลัยและต้องส่งการบ้านของฉันจากเครื่องลีนุกซ์โรงเรียน แต่ฉันชอบทำการบ้านบนแล็ปท็อปของฉัน (Mac) ดังนั้นแทนที่จะคัดลอกไฟล์ของฉันมากกว่าทุกครั้งที่แล้วส่งพวกเขาก็ตัดสินใจที่จะทำให้สคริปต์ที่จะทำมันให้ฉันใช้และscp
ssh
เมื่อฉันทดสอบสคริปต์ของฉันในครั้งแรกscp
คำสั่งจะสร้างไดเรกทอรีhw3
ในเครื่องอื่น hw4
ครั้งต่อไปที่ผมทดสอบมันสร้างไดเรกทอรี ไดเรกทอรีทั้งสองมีไฟล์โปรแกรมของฉันอยู่ในนั้น rm -r
ตั้งแต่ไดเรกทอรีทั้งสร้างขึ้นเฉพาะสำหรับการทดสอบฉันลบพวกเขาทั้งสองใช้ แต่นี่คือปัญหาที่เกิดขึ้น
ผ่านการทดสอบในภายหลังของสคริปต์และแก้จุดบกพร่องอื่น ๆ ของฉันฉันพบว่าตอนนี้ผมไม่สามารถสร้างไฟล์หรือโฟลเดอร์ชื่อ hw3 หรือ hw4 บนเครื่องอื่น ๆ ssh
ในขณะที่เชื่อมต่อกับมันผ่าน ฉันสามารถสร้างโฟลเดอร์ชื่ออะไรอื่นเพียงแค่ไม่ได้หรือhw3
hw4
ฉันไม่สามารถทำให้พวกเขาผ่านทางmkdir
, mv
, cp
หรือสัมผัสทำให้ฉันคิดว่ามีสิ่งผิดปกติกับระบบแฟ้ม อย่างไรก็ตามฉันสามารถสร้างhw3
และhw4
ไฟล์ในไดเรกทอรีหลัก ไม่มีใครที่ฉันได้พูดคุยเพื่อที่จะรู้ว่าสิ่งนี้คืออะไรและไม่เคยเห็นมาก่อนและ Googling ปัญหาไม่ได้เปิดผลลัพธ์ใด ๆ
ที่โรงเรียนของฉันมีเครื่องที่แตกต่างกันมากมายฉันสามารถเข้าสู่ระบบได้และลองใช้หลายเครื่อง แต่ปัญหายังคงมีอยู่ในเครื่องทั้งหมดซึ่งเหมาะสมแล้วตั้งแต่ฉันทำงานจากไดรฟ์เครือข่าย (SDRIVE ในเส้นทาง) เพื่อให้สคริปต์ทำงานได้ฉันใช้วิธีแก้ปัญหาเพียงสร้างมันขึ้นมาhww#
แทนhw#
แต่ฉันก็ยังอยากรู้ว่าเกิดอะไรขึ้นและจะแก้ไขอย่างไร
นี่คือเอาต์พุตเทอร์มินัลของฉันจากเมื่อฉันเข้าสู่ระบบผ่านssh
และคำสั่งของฉัน
Last login: Tue Mar 3 11:40:18 2015 from r03ane3md.device.mst.edu
You are currenly one of 7 users on this host!
ane3md@rc07xcs213:~$ cd SDRIVE/cs1510
ane3md@rc07xcs213:~/SDRIVE/cs1510$ ls -l
total 0
drwxr-xr-x 2 ane3md mst_users 0 Mar 3 12:01 hw1
drwxr-xr-x 2 ane3md mst_users 0 Feb 21 21:37 hw2
drwxr-xr-x 2 ane3md mst_users 0 Mar 3 11:59 hww3
ane3md@rc07xcs213:~/SDRIVE/cs1510$ mkdir hw3
mkdir: cannot create directory ‘hw3’: Function not implemented
ane3md@rc07xcs213:~/SDRIVE/cs1510$ touch hw3
touch: cannot touch ‘hw3’: Function not implemented
ane3md@rc07xcs213:~/SDRIVE/cs1510$ mv hww3 hw3
mv: failed to access ‘hw3’: Function not implemented
ane3md@rc07xcs213:~/SDRIVE/cs1510$
แก้ไข: ตามที่ร้องขอการรัน "stat -f ~ / SDRIVE" จะแสดงผลลัพธ์ต่อไปนี้:
ane3md@rc07xcs213:~$ stat -f ~/SDRIVE
File: "/usr/local/home/ane3md/SDRIVE"
ID: 0 Namelen: 4096 Type: fuseblk
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 0 Free: 0 Available: 0
Inodes: Total: 314572031 Free: 66717154
แก้ไข - การหลีกเลี่ยงปัญหา: ฉันทำการสอดแนมและฉันพบว่าโรงเรียนของเราใช้ dfshack (คุณสามารถ google บน github) เพื่อเชื่อมโยง Windows และ unix / linux filesystems และถูกสร้างขึ้นโดยนักเรียนที่นี่ดังนั้นโดยธรรมชาติแล้วมันมีข้อบกพร่อง เห็นได้ชัดว่าฉันพบหนึ่งในนั้น ฉันทำการทดสอบเพิ่มเติมอีกด้วยและพบว่ากระบวนการเรียงลำดับต่อไปนี้อนุญาตให้ฉันสร้างไดเรกทอรีอีกครั้ง ฉันมี Mac ดังนั้นฉันไม่แน่ใจว่าจะใช้กับ Windows ได้หรือไม่
- แมปไดรฟ์เครือข่ายกับ Mac OS เพื่อให้คุณสามารถเข้าถึงได้ผ่าน Finder
- สร้างผ่าน Finder ซึ่งเป็นไดเรกทอรีที่ไม่สามารถสร้างได้ก่อน
- เชื่อมต่อกับเครื่องระยะไกลผ่าน ssh และนำทางไปยังไดเรกทอรีที่คุณไม่สามารถสร้างโฟลเดอร์หรือไฟล์
- ชนิด
mv dirCreatedViaFinder newName
- ตอนนี้คุณสามารถสร้างไดเรกทอรีและไฟล์ที่ชื่อสิ่งที่ไม่สามารถสร้างได้ก่อน แต่มีข้อเสียเปรียบ หากคุณ
rm -r newName
คุณไม่สามารถสร้างnewName
ไฟล์และโฟลเดอร์ได้ ดังนั้นฉันคิดว่าปัญหาทั้งหมดเกิดจากการลบไดเรกทอรี