คำถามติดแท็ก slash

9
// foo / bar ระบบใดที่แตกต่างจาก / foo / bar?
ตลอดทั้งข้อมูลจำเพาะ POSIX มีข้อกำหนด ( 1 , 2 , 3 ... ) เพื่อให้การใช้งานในการรักษาเส้นทางเริ่มต้นด้วยสอง/พิเศษ แอปพลิเคชัน POSIX (แอปพลิเคชันที่เขียนไปยังข้อมูลจำเพาะ POSIX เพื่อพกพาไปยังระบบที่สอดคล้องกับ POSIX ทั้งหมด) ไม่สามารถสันนิษฐานได้ว่า//foo/barเป็นเช่นเดียวกับ/foo/bar(แม้ว่าพวกเขาสามารถสันนิษฐานได้ว่า///foo/barเป็นเหมือนกัน/foo/bar) ตอนนี้ระบบ POSIX เหล่านั้น//fooคืออะไร ฉันเชื่อ (ตอนนี้ฉันได้รับการพิสูจน์แล้วผิด ) ว่า POSIX นั้นถูกผลักโดย Microsoft สำหรับ Unix Variant (XENIX) และ Windows POSIX เลเยอร์ (อาจมีใครยืนยันได้หรือไม่) มันถูกใช้โดย Cygwin ซึ่งเป็นเลเยอร์เหมือน POSIX สำหรับ Microsoft Windows มีระบบที่ไม่ใช่ของ Microsoft Windows หรือไม่? …

6
Linux จัดการตัวคั่นพา ธ หลายตัวต่อเนื่องกันอย่างไร (ไฟล์ / home //// ชื่อผู้ใช้ ///)?
ฉันกำลังทำงานกับสคริปต์หลามที่ส่งผ่านตำแหน่งไฟล์ไปยังกระบวนการย่อย scp ไม่เป็นไร แต่ฉันอยู่ในสถานการณ์ที่ฉันอาจจะต่อท้ายชื่อพา ธ ที่มีชื่อไฟล์ว่ามีสองครั้ง/ในเส้นทาง ฉันรู้ว่าทุบตีไม่สนใจว่าคุณมีหลายตัวคั่นไฟล์ แต่ฉันสงสัยว่ามันถูกแก้ไข มันทุบตีที่แถบพิเศษ/หรือมันไม่สำคัญว่าเคย? ฉันถามเพราะมันจะช่วยฉันรหัสหลายบรรทัดเพื่อตรวจสอบ/s พิเศษในขณะที่เรียงต่อกัน ฉันรู้ว่ามันไม่ใช่เรื่องใหญ่ แต่ฉันก็อยากรู้อยากเห็นเช่นกัน ฉันมีสคริปต์ทุบตีที่มีบรรทัดcd //usr(แทนcd /usr) ซึ่งดูเหมือนจะบอกเป็นนัยว่าอาจมีความสำคัญในการใช้หลาย/s ในเส้นทาง

3
Shebang เริ่มต้นด้วย `// '?
ฉันสับสนเกี่ยวกับการติดตามสคริปต์ ( hello.go) //usr/bin/env go run $0 $@ ; exit package main import "fmt" func main() { fmt.Printf("hello, world\n") } มันสามารถดำเนินการ (บน MacOS X 10.9.5) $ chmod +x hello.go $ ./hello.go hello, world ฉันไม่เคยได้ยินเกี่ยวกับ shebang //มาก่อนเลย และมันก็ยังทำงานได้เมื่อฉันแทรกบรรทัดว่างที่ด้านบนของสคริปต์ เหตุใดสคริปต์นี้จึงทำงาน

3
วิธีการลบไฟล์ชื่อ“ filen / ame” (with slash) บนระบบไฟล์ ext4 ใน debugfs?
เล่นกับ e2fsprogs debugfsโดยการเปลี่ยนแปลง / อุบัติเหตุไฟล์ที่filen/ameถูกสร้างขึ้น เห็นได้ชัดว่าตัวละครสแลชไปข้างหน้า/ทำหน้าที่เป็นตัวคั่นพิเศษในชื่อพา ธ ยังคงใช้debugfsฉันต้องการลบไฟล์ที่ชื่อfilen/ameแต่ฉันประสบความสำเร็จเพียงเล็กน้อยเนื่องจาก/ตัวละครไม่ได้ตีความว่าเป็นส่วนหนึ่งของชื่อไฟล์หรือไม่ debugfs มีวิธีลบไฟล์นี้ที่มีเครื่องหมายทับหรือไม่? ถ้าเป็นเช่นนั้นได้อย่างไร ฉันใช้: cd /tmp echo "content" > contentfile dd if=/dev/zero of=/tmp/ext4fs bs=1M count=50 mkfs.ext4 /tmp/ext4fs debugfs -w -R "write /tmp/contentfile filen/ame" /tmp/ext4fs debugfs -w -R "ls" /tmp/ext4fs ผลลัพธ์ใด: debugfs 1.43.4 (31-Jan-2017) 2 (12) . 2 (12) .. 11 (20) lost+found …
26 ext4  slash  debugfs 

3
ความท้าทายของ Kernighan และ Pike: การใส่เครื่องหมายทับในชื่อไฟล์อย่างไร?
ฉันเพิ่งพบคำถามต่อไปนี้ในUnix Programming Environmentหนังสือคลาสสิคของ Kernighan และ Pike ใน Unix (ฉันพบข้อความด้านล่างในหน้า 79 ของปี 1984 ฉบับที่ ISBN: 0-13-937699-2): แบบฝึกหัดที่ 3-6 (คำถามเคล็ดลับ) คุณจะทำให้ a / เป็นชื่อไฟล์ได้อย่างไร (เช่น a / ที่ไม่แยกส่วนประกอบของเส้นทาง) ฉันทำงานกับ Linux มาหลายปีทั้งในฐานะผู้ใช้และโปรแกรมเมอร์ แต่ฉันไม่สามารถตอบคำถามนี้ได้ นอกจากนี้ไม่มีทางที่จะใส่ทับในชื่อไฟล์ก็ห้ามเด็ดขาดโดย kernel คุณสามารถแก้ไขระบบไฟล์ของคุณผ่านการเข้าถึงอุปกรณ์บล็อกหรือใช้อักขระที่มีลักษณะคล้ายกันจาก Unicode แต่สิ่งเหล่านั้นไม่ใช่วิธีแก้ปัญหา ฉันเข้าใจว่า Linux ≠ Unix แต่ควรใช้หลักการเดียวกันเนื่องจากระบบจะต้องสามารถแยกลำดับชั้นไดเรกทอรีออกจากเส้นทางได้อย่างไม่น่าสงสัย มีใครรู้บ้างว่า Kernighan และ Pike คิดอย่างไรเมื่อถามคำถามนี้ คำตอบที่ควรคืออะไร อะไรคือ 'เคล็ดลับ'? หรืออาจเป็นระบบ Unix …

2
เครื่องหมายทับ (/) หลังชื่อไดเร็กทอรีบนคำสั่งเชลล์
ฉันมีคำถามเล็กน้อยที่นี่ ถ้าผมมีสองไฟล์พูดfileaและfileb, mv filea filebจะ ลบ fileb เปลี่ยนชื่อfileaเป็นfileb แล้วถ้าฉันมีสองไดเรกทอรีพูดdiraและdirb, mv dira dirbจะ ย้ายdiraเข้าไปdirb(มันจะกลายเป็นdirb/dira) สังเกตว่าในทั้งสองกรณีไม่มีการบอกกล่าวหรือข้อความแล้วนี่มันค่อนข้างจะขัดแย้งกับฉัน ฉันคิดว่าmv dira dirbควรเขียนทับdirbเนื้อหาของdira(หรือรวมสองไดเรกทอรีภายใต้ชื่อไดเรกทอรีdirb) ฉันจำได้ว่าอ่านบางที่ว่าชื่อไดเรกทอรีที่มีเครื่องหมายทับ (เหมือนdira/) ถือว่าเป็นไดเรกทอรีและชื่อที่ไม่มีเครื่องหมายทับ (เหมือนdira) จะถือว่าเป็นไฟล์ (ไปยังขอบเขตที่แน่นอน) ตอนนี้ฉันต้องการทำให้เชลล์ (zsh และอาจทุบตี) เคารพเครื่องหมายของไดเรกทอรีโดยใช้เครื่องหมายทับ มีตัวเลือกเทอร์มินัลที่ทำให้ฉันสามารถบังคับใช้ได้หรือไม่? เพื่อชี้แจงนี่คือพฤติกรรมที่ฉันต้องการ: mv dira dirbผลลัพธ์dirbจะถูกเขียนทับด้วยเนื้อหาของdira mv dira dirb/ผลลัพธ์ในdiraการถูกย้ายเข้าdirb(ในdirb/dira) มีใครคิดแบบเดียวกับฉัน หรือฉันแค่แปลก ๆ ?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.