จะแก้ไขข้อผิดพลาด 'ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว' ใน SCP ได้อย่างไร
SCP ย่อมาจาก Secure Copy Protocol และเป็นไปตามโปรโตคอล“ Secure Shell” มีวิธีการถ่ายโอนไฟล์ระหว่างคอมพิวเตอร์ ในการถ่ายโอนนี้คอมพิวเตอร์ทั้งสองเครื่องสามารถเป็นโฮสต์ระยะไกลหรือคอมพิวเตอร์เครื่องหนึ่งสามารถเป็นโฮสต์ในพื้นที่และอีกเครื่องหนึ่งคือโฮสต์ระยะไกล เมื่อไม่นานมานี้ผู้ใช้จำนวนมากได้รับ“ไม่พบไฟล์หรือโฟลเดอร์” เกิดข้อผิดพลาดขณะพยายามคัดลอกไฟล์ด้วย SCP
ในบทความนี้เราจะพูดถึงสาเหตุบางประการที่ทำให้เกิดปัญหานี้ขึ้นและยังมีวิธีแก้ไขที่เป็นไปได้เพื่อแก้ไขให้สมบูรณ์ นอกจากนี้เราจะตรวจสอบสาเหตุบางประการที่เกิดขึ้น อย่าลืมปฏิบัติตามคำแนะนำอย่างระมัดระวังและถูกต้องเพื่อหลีกเลี่ยงความขัดแย้ง
อะไรทำให้เกิดข้อผิดพลาด "ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว" ใน SCP
หลังจากได้รับรายงานจำนวนมากจากผู้ใช้หลายคนเราจึงตัดสินใจที่จะตรวจสอบปัญหาและคิดหาวิธีแก้ไขปัญหาอย่างสมบูรณ์ นอกจากนี้เราได้ตรวจสอบสาเหตุที่ทำให้เกิดและระบุไว้ดังต่อไปนี้
เมื่อคุณมีความเข้าใจพื้นฐานเกี่ยวกับธรรมชาติของปัญหาแล้ว เราจะดำเนินการแก้ไขต่อไป ตรวจสอบให้แน่ใจว่าได้ดำเนินการเหล่านี้ในลำดับเฉพาะที่แสดงเพื่อหลีกเลี่ยงความขัดแย้ง
โซลูชันที่ 1: การใช้คำสั่งที่ถูกต้อง
คุณต้องใช้คำสั่งที่ถูกต้องขึ้นอยู่กับการกำหนดค่าของโฮสต์ที่คุณต้องการถ่ายโอนไฟล์ สำหรับสิ่งนี้เราจะแสดงรายการคำสั่งบางส่วนที่สามารถใช้ในการถ่ายโอนไฟล์ระหว่างการกำหนดค่าโฮสต์ต่างๆ
ในการคัดลอกจาก Local Host ไปยัง Remote Host
Localhost คือคอมพิวเตอร์จริงที่คุณสามารถเข้าถึงได้ โฮสต์ระยะไกลคือโฮสต์ที่ผู้ใช้ไม่มีการเข้าถึงทางกายภาพใด ๆ และตั้งอยู่ในเซิร์ฟเวอร์ที่ห่างไกล ในการถ่ายโอนไฟล์จาก Localhost ไปยังโฮสต์ระยะไกลคุณต้องใช้การกำหนดค่าคำสั่งต่อไปนี้
$ scp "the_file" your_username @ the_remote_host: ไดเร็กทอรี / path / to / the /
ตัวอย่างการคัดลอกไฟล์ข้อความชื่อ“Alexa.txt” จะเป็นดังนี้
$ scp Alexa.txt [email protected]: / some / remote / directory
ในทำนองเดียวกันคุณสามารถคัดลอกไฟล์ ทั้งหมด ไดเรกทอรี ด้วยวิธีต่อไปนี้
$ scp -r "the_directory_to_copy" your_username @ the_remote_host: the / path / to / the / directory / to / copy / to
ตัวอย่างการคัดลอกไดเร็กทอรีชื่อ “Alexa” จะเป็นดังนี้
$ scp -r foo [email protected]: / some / remote / directory / bar
ในการคัดลอกจากโฮสต์ระยะไกลไปยังโฮสต์ภายใน
หากคุณต้องการคัดลอกไฟล์จากโฮสต์ระยะไกลไปยังโฮสต์ท้องถิ่นการกำหนดค่าคำสั่งจะแตกต่างจากไฟล์ต้นฉบับ ด้านล่างนี้ระบุคำสั่งที่เหมาะสมในการคัดลอกไฟล์ระหว่างโฮสต์ระยะไกลและ Localhost
ถึง สำเนา ไฟล์ใช้คำสั่งต่อไปนี้
$ scp your_username@the_remote_host:the_file /your/local/directory
ในการคัดลอกไฟล์ชื่อ“Alexa.txt“ ใช้คำสั่งต่อไปนี้
$ scp your_username @ the_remote_host: Alexa.txt / your / local / directory
โซลูชันที่ 2: การระบุหมายเลขพอร์ต
ต้องระบุหมายเลขพอร์ตของโฮสต์ระยะไกลก่อนคัดลอกไฟล์ไปยังคอมพิวเตอร์ สำหรับสิ่งนั้นเราจะเพิ่มหมายเลขพอร์ตในขณะที่เริ่มกระบวนการคัดลอก
คุณสามารถใช้คำสั่งต่อไปนี้เพื่อคัดลอกระหว่างคอมพิวเตอร์ในขณะที่ระบุไฟล์ ท่าเรือ จำนวน.
$ scp -P port_number your_username @ the_remote_host: the_file / your / local / ไดเร็กทอรี
คำสั่งเดียวกันนี้สามารถใช้เพื่อระบุหมายเลขพอร์ตขณะคัดลอกไปยังหรือจากโฮสต์ระยะไกล คุณเพียงแค่ต้องเพิ่ม“-P (หมายเลขพอร์ต)" หลังจาก "$ scp ” ส่วนหนึ่งของคำสั่ง
โซลูชันที่ 3: การเปลี่ยนสิทธิ์
ต้องมีการให้สิทธิ์ที่เหมาะสมกับไฟล์ในขณะที่คัดลอกระหว่างคอมพิวเตอร์ ดังนั้นในขั้นตอนนี้เราจะระบุกระบวนการเปลี่ยนแปลงสิทธิ์ของไฟล์ สำหรับการที่:
- ขวา–คลิก บนไฟล์ที่คุณพยายามคัดลอก
- คลิกที่ "คุณสมบัติ” และเลือก“ความปลอดภัย"แท็บ
- ตรวจสอบให้แน่ใจว่ามีการให้สิทธิ์ทั้งหมดกับ "ระบบ" และ "ผู้ดูแลระบบ“.
บันทึก:ตรวจสอบให้แน่ใจว่าคุณไม่ได้ลงชื่อเข้าใช้เส้นทางเซิร์ฟเวอร์ขณะคัดลอกไฟล์