คำถามติดแท็ก symbolic-link

ลิงก์สัญลักษณ์ ("symlink") เป็นการอ้างอิงถึงไฟล์หรือโฟลเดอร์ซึ่งอาจมีอยู่ในไดรฟ์เดียวกันหรือไดรฟ์อื่นในระบบ ลิงก์สัญลักษณ์ช่วยให้ผู้ใช้สามารถสร้างเลย์เอาต์ไฟล์แบบลอจิคัลได้มากขึ้นเมื่อไฟล์เหล่านั้นอาจกระจายไปทั่วดิสก์หลาย ๆ แผ่นหรือย้ายไปยังตำแหน่งที่สะดวกกว่า

2
Ubuntu: การสร้าง symlink ด้วยโฟลเดอร์แชร์บนเครือข่าย
ฉันกำลังพยายามสร้าง symlink ด้วยโฟลเดอร์เครือข่ายที่ใช้ร่วมกัน (อยู่ในระบบ Windows) จากระบบ Ubuntu ของฉันโดยใช้คำสั่ง ln -s smb://sys-name/www www มันสร้างลิงค์ แต่มันบอกว่าลิงค์เสีย แต่เส้นทางมีอยู่และฉันสามารถเรียกดูเส้นทางโฟลเดอร์เครือข่าย ใครช่วยชี้ปัญหาให้ฉันได้บ้าง โดยพื้นฐานแล้วฉันกำลังพยายามสร้างลิงก์เนื่องจากฉันไม่สามารถเข้าถึงไฟล์ที่แชร์บนเครือข่ายจาก Eclipse ได้ดังนั้นคิดว่าการใช้ symlink นั้นใช้งานได้ แต่ไม่ได้ผล มีวิธีแก้ปัญหาอื่นอีกหรือไม่

2
โครงสร้างโลจิคัลของระบบไฟล์ (รวมถึงเป้าหมาย symlink) สามารถแสดงในไฟล์น้ำหนักเบาเดี่ยว (ไม่ใช่ไบนารี) ได้หรือไม่?
หลังจากเล่นกับฐานข้อมูล SQL และ NoSQL หลายแห่งในช่วงหลายปีที่ผ่านมาฉันรู้สึกว่าวิธีที่ดีที่สุดสำหรับฉันในการพกพาในแอพส่วนบุคคลที่เป็นศูนย์ข้อมูลคือการหลีกเลี่ยงฐานข้อมูลที่ไม่ปลอดภัยทั้งหมด ฉันเห็นว่าระบบไฟล์เป็นกระบวนทัศน์ฐานข้อมูลที่สวยงามที่พกพาอ่านง่ายและมีอายุการใช้งานที่เพียงพอสำหรับประเภทของแอปพลิเคชันส่วนบุคคลที่ฉันกำลังเขียน มันเหมือนกับฐานข้อมูลกราฟที่บังคับใช้โครงสร้างต้นไม้ (ดีสำหรับการแบ่งพาร์ติชัน) โดยมี symlinks เพื่อแสดงความสัมพันธ์แบบหนึ่งต่อหนึ่ง มีวิธีการส่งออกทอพอโลยีระบบไฟล์ทั้งหมดเป็นไฟล์เดียวหรือไม่? ผลลัพธ์ของfindคำสั่งมีแนวโน้ม แต่ไม่มีวิธีมาตรฐานในการส่งออกข้อมูลที่บ่งชี้ว่า symlink ชี้ไปที่อะไร ฉันไม่ต้องการที่จะเกิดขึ้นกับตัวเลือกfindรูปแบบผลลัพธ์ส่วนบุคคลของฉันเองเช่น: /home/me/photos/beach/me_and_my_dog.jpg -> /home/me/photos/beach/1.jpg หากใครบางคนเคยทำงานในการสร้างรูปแบบการส่งออกทอพอโลยีระบบไฟล์ ตัวเลือกอื่นคือไฟล์ JSON: home : [{ me : [{ photos : [{ beach : [{ 1.jpg, { me_and_my_dog.jpg : ./1.jpg } }] }] } }] แต่อีกครั้งมีหลายวิธีในการเป็นตัวแทนของประเภทไฟล์และฉันสงสัยว่ามีคนทำงานของการสร้างมาตรฐานแล้ว โปรดทราบว่าฉันไม่ต้องการส่งออกเนื้อหาของไฟล์ - ซึ่งจะทำให้การส่งออกมีขนาดใหญ่เกินความต้องการ

2
รับเส้นทางแบบเต็มไปยังเป้าหมายของลิงก์ได้อย่างไร
ถ้ามีการเชื่อมโยงสัญลักษณ์ที่สร้างขึ้นด้วย/var/opt/foo ln -fs /path/to/target/dir fooฉันสามารถในสคริปต์ที่เห็นเพียงการเชื่อมโยงได้รับการ/path/to/target/dir? สิ่งที่ฉันต้องการที่จะประสบความสำเร็จในสคริปต์ก่อนที่ผมจะทำrm -rf /path/to/target/dirln -fs /path/to/another/dir foo

4
ลิงค์สัญลักษณ์การอัพเดทแบบเป็นกลุ่มซ้ำ
ฉันมีเว็บแอพที่มีลิงก์สัญลักษณ์มากมายในไดเรกทอรีย่อยตลอด ฉันต้องการย้ายแอปไปยังโครงสร้างไดเรกทอรีอื่นและฉันต้องอัปเดต symlink ทั้งหมดเพื่อชี้ไปที่เส้นทางใหม่ ตัวอย่างเช่น: Old Dir: /home/user/public_html/dev New Dir: /home/user/public_html/qa Old Symlink: /home/user/public_html/qa/multisites/slave01/images -> /home/user/public_html/dev/images New Symlink:/home/user/public_html/qa/multisites/slave01/images -> /home/user/public_html/qa/images ปัญหาคือมีจำนวนมากกระจายอยู่ทั่วไดเรกทอรีต่างๆ ฉันจะค้นหาซ้ำจากรูทและสร้าง symlink ทั้งหมดที่ชี้ไปยัง/dev/ด้วยซ้ำได้/qa/อย่างไร

2
Brew ติดตั้งเชื่อมโยงแล้ว แต่ไม่พบ
ฉันเพิ่งติดตั้งmtrผ่าน Homebrew และดูเหมือนว่าจะเสร็จสมบูรณ์ (เช่นไม่มีอะไรผิดปกติ) MBA% mtr zsh: command not found: mtr มันแปลกมาก ฉันคิดว่าฉันจะลองอีกครั้ง: MBA% brew install mtr Warning: mtr-0.86 already installed ตกลงอาจเป็น symlinked เป็นmtr-0.86: MBA% mtr-0.86 zsh: command not found: mtr-0.86 ไม่โอเคบางทีมันอาจจะไม่สามารถลิงก์: MBA% brew link mtr Warning: Already linked: /usr/local/Cellar/mtr/0.86 To relink: brew unlink mtr && brew link mtr MBA% …

5
วิธีอนุญาตให้ acces เชื่อมโยงสัญลักษณ์ใน ~ / Sites / สำหรับ Apache ภายใต้ Mac OS X Lion 10.7.2
ฉันต้องการอนุญาตให้เข้าถึงไดเรกทอรีที่เชื่อมโยง sym ภายใน ~ / Sites จาก Apache ของฉัน ฉัน Symlinked ไดเรกทอรีเช่นนี้ ln -s ~/path/to/the/source/directory/ ~/Sites/source-link-here ตอนนี้เมื่อใดก็ตามที่ฉันได้รับคำขอ GET ฉันจะได้รับคำตอบ 403 curl http://localhost/~username/source-link-here/ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>403 Forbidden</title> </head><body> <h1>Forbidden</h1> <p>You don't have permission to access /~username/source-link-here on this server.</p> ... ฉันจะบอก Apache ให้อนุญาต acces ไปยังไดเรกทอรี symlinked …

3
ตรวจสอบว่าสองพา ธ ชี้ไปที่ไฟล์เดียวกันหรือไม่
ฉันมีสคริปต์เพื่อสร้าง symlinks ซ้ำในไดเรกทอรีบ้านของฉันไปยังไดเรกทอรีการตั้งค่าของฉันเพื่อให้ไฟล์อยู่ภายใต้การควบคุมเวอร์ชัน ฉันต้องการข้ามไฟล์ที่มี symlinked อยู่แล้วผ่านไดเรกทอรีหลัก นั่นคือถ้าฉันมีไฟล์ / ไดเรกทอรีเหล่านี้: ~/foo/ -> ~/settings/foo/ ~/settings/foo/ ~/settings/foo/bar ฉันจะตรวจสอบว่า ~ / foo / bar และ ~ / settings / foo / bar เป็นไฟล์เดียวกันได้อย่างไร แก้ไข : D'oh อีกไม่กี่นาทีของการค้นหาเปิดเผยคำตอบ :readlink -f $path

4
ให้การเข้าถึงไดเรกทอรีย่อยโดยไม่ให้สิทธิ์การเข้าถึงไดเรกทอรีหลัก
ฉันมีสถานการณ์ที่เกี่ยวข้องกับไฟล์เซิร์ฟเวอร์ Windows ที่ "เจ้าของ" ต้องการให้สิทธิ์แก่กลุ่มผู้ใช้ประเภทต่อไปนี้: \\server\dir1\dir2\dir3: อ่านเขียนและดำเนินการ \\server\dir1\dir2: ไม่มีสิทธิ์ \\server\dir1: ไม่มีสิทธิ์ \\server: อ่านและดำเนินการ เพื่อความเข้าใจของฉัน ( ปรับปรุง : นี่วรรคทั้งหมดเป็นผิด!) มันเป็นไปไม่ได้ที่จะทำเช่นนี้เพราะRead & Executeได้รับอนุญาตจะต้องได้รับทุกไดเรกทอรีผู้ปกครองในห่วงโซ่ไดเรกทอรีในการสั่งซื้อสำหรับระบบปฏิบัติการที่จะสามารถ "เห็น" เด็ก ไดเรกทอรีและไปที่พวกเขา หากไม่มีสิทธิ์นี้คุณจะไม่สามารถรับโทเค็นบริบทความปลอดภัยเมื่อพยายามเข้าถึงไดเรกทอรีที่ซ้อนกันแม้ว่าคุณจะสามารถเข้าถึงไดเรกทอรีย่อยได้ เรากำลังมองหาวิธีการที่จะได้รับรอบนี้โดยไม่ต้องย้ายข้อมูลจากไป\\server\dir1\dir2\dir3\\server\dir4 หนึ่งวิธีแก้ปัญหาผมคิดว่า แต่ที่ผมไม่แน่ใจว่ามันจะทำงานคือการสร้างบางประเภทของการเชื่อมโยงหรือทางแยกซึ่งมีการอ้างอิงถึง\\server\dir4 \\server\dir1\dir2\dir3ฉันไม่แน่ใจว่าตัวเลือกใดที่พร้อมใช้งาน (ถ้ามี) จะทำงานเพื่อจุดประสงค์นี้หากผู้ใช้ไม่ได้Read & Executeรับอนุญาต\\server\dir1\dir2หรือ\\server\dir1แต่เท่าที่ฉันรู้ตัวเลือกคือ: ลิงก์สัญลักษณ์ของ NTFS สนธิ ฮาร์ดลิงก์ ดังนั้นคำถาม: มีวิธีใดที่เหมาะสมกับการบรรลุเป้าหมายของฉัน มีวิธีอื่นในการเชื่อมโยงหรืออ้างอิงไดเรกทอรีโดยอ้อมซึ่งฉันไม่ได้ระบุไว้ข้างต้นซึ่งอาจเหมาะสมหรือไม่ จะมีผู้ใดโดยตรงการแก้ปัญหาที่ไม่เกี่ยวข้องกับการอนุญาตให้Read & Executeไป\\server\dir1หรือ\\server\dir2แต่ยังคงอนุญาตให้เข้าถึง\\server\dir1\dir2\dir3?

1
จะสร้างลิงค์สัญลักษณ์ใน / usr / bin บน Mac ได้อย่างไร?
สภาพแวดล้อม: OSX Sierra, Kernel เวอร์ชั่นดาร์วิน 16.3.0 ปัญหาหลัก: ฉันต้องการใช้เชลล์สคริปต์จำนวนมากในที่เก็บส่วนกลางซึ่งมี #! / usr / bin / zsh บน Mac ของฉัน zsh อยู่ใน / bin / zsh ความพยายามแก้ไข: ฉันต้องการสร้างลิงก์สัญลักษณ์ ln -s /bin/zsh /usr/bin/zsh บัญชีผู้ใช้ของฉันมีสิทธิ์ผู้ดูแลระบบ แต่ฉันไม่รูทและฉันไม่ต้องการเปิดใช้งานผู้ใช้รูทบน Mac เครื่องนี้ ดังนั้นก่อนอื่นเลย sudo su เพื่อรับเชลล์ที่มีสิทธิ์ใช้งานรูทแล้วดำเนินการคำสั่งln อย่างไรก็ตามฉันยังคงได้รับข้อความแสดงข้อผิดพลาดln: / usr / bin / zsh: ไม่อนุญาตให้ใช้งาน คำถาม: เหตุใดฉันจึงได้รับข้อความแสดงข้อผิดพลาดนี้ ฉันต้องทำอย่างไรเพื่อสร้างลิงค์ มีวิธีที่ดีกว่าเพื่อให้บรรลุเป้าหมายเดิมของฉันหรือไม่? …
11 shell  sudo  symbolic-link  su  ln 

7
ฉันจะหา symlink ทั้งหมดใน Windows Vista หรือ 7 ได้อย่างไร
ฉันกำลังมองหาวิธีในการค้นหาลิงก์สัญลักษณ์ทั้งหมดในระบบไฟล์ NTFS บน Windows Vista หรือ 7 มันจะดีกว่านี้ถ้าฉันสามารถระบุเป้าหมายที่เฉพาะเจาะจงเพื่อดูว่ามันมีสัญลักษณ์เชื่อมโยงชี้ไปที่ใด แต่วิธีในการค้นหาพวกเขาทั้งหมดนั้นก็ยอดเยี่ยม

1
เมื่อใดที่ฉันควรใช้ฮาร์ดลิงก์เมื่อเทียบกับซอฟต์ลิงค์?
ฉันกำลังจะเริ่มเล่นกับmklinkแต่ฉันยังคงพยายามที่จะได้รับการยึดมั่นในสิ่งที่ "symlink" ทั้งหมดนี้ โดยเฉพาะอย่างยิ่งฉันสังเกตเห็นว่ามีลิงก์สองประเภท - "ลิงก์นุ่ม" และ "ลิงก์ยาก" - แต่ฉันมีเวลายากที่จะเข้าใจความแตกต่างระหว่างทั้งสองอย่างชัดเจนหรือทำไมฉันจึงควรเลือกลิงก์อื่น กรณีการใช้งานที่กำหนด สิ่งที่ฉันสามารถรวบรวมได้มากที่สุดคือ: ซอฟต์ลิงค์จะถูกใช้เป็นตัวชี้ไปยังไฟล์ / โฟลเดอร์เป้าหมาย ฮาร์ดลิงก์จะถือว่าเสมือนว่าเป็นไฟล์ / โฟลเดอร์เป้าหมาย สิ่งนี้หมายความว่าจริงๆในแง่ของวิธีที่ระบบปฏิบัติการและแอปพลิเคชันจะจัดการกับลิงค์? ปัจจัยใดที่ควรชั่งน้ำหนักเมื่อตัดสินใจว่าจะใช้อย่างใดอย่างหนึ่ง กรณีที่ใช้งานในปัจจุบันผมมีสำหรับการเดินทางไปยังไฟล์ SkyDrive ประสาน / โฟลเดอร์ที่อยู่นอกของไดเรกทอรี อย่างไรก็ตามฉันต้องการถ้าคำตอบอาจรวมถึงแนวทางทั่วไปสำหรับการอ้างอิงในอนาคต

2
Symlink ไปยังโฟลเดอร์ปัจจุบันเป็นเส้นทางที่แน่นอนโดยไม่ต้องพิมพ์เส้นทางทั้งหมด
Symlinks ถูกบันทึกทางลัดสำหรับเส้นทางที่เกี่ยวข้อง: ~/foo➤ ln -s . ~/bar/foo ~/foo➤ ls -l ~/bar total 8 lrwxr-xr-x 1 me me 1B 15 May 14:38 foo -> . ไฟล์~/bar/fooนี้เป็น symlink ไปยังbarไดเรกทอรีปัจจุบันเช่นตัวมันเอง ถ้าฉันต้องการสร้าง symlink ในไดเรกทอรีอื่นไปยังไดเรกทอรีที่ฉันใช้อยู่ในเวลานั้น ดังนั้นในตัวอย่างข้างต้นผมอยู่ใน~/fooและฉันต้องการที่จะสร้าง~/bar/fooเป็น symlink ~/fooไป แน่นอนไดเรกทอรีปัจจุบันของฉันอาจยาวกว่า 5 ตัวอักษรเล็กน้อยและอาจไม่ง่ายนักในการพิมพ์
10 bash  symbolic-link  ln 

2
จะหาซอฟต์ลิงค์ (ลิงก์สัญลักษณ์) ทั้งหมดในไดเรกทอรีปัจจุบันได้อย่างไร?
bashคำถามที่เกี่ยวข้องกับเชลล์สคริปต์ใน วิธีตรวจสอบกับสคริปต์ว่าไฟล์ใดในไดเรกทอรีปัจจุบันคือซอฟต์ลิงค์? ในกรณีที่ฉันได้ใช้คำผิดเมื่อฉันบอกว่าการเชื่อมโยงนุ่ม , ln -sผมหมายถึงไฟล์ที่สร้างขึ้นโดยใช้ สิ่งเดียวที่ฉันคิดได้คือการประเมินls -laว่าเป็นนิพจน์และแยกผลลัพธ์ แต่เห็นได้ชัดว่านี่ไม่ใช่ทางออกที่ดีที่สุด

3
คิดออกว่าเส้นทางที่ไม่ใช่ symlink จะเป็นอย่างไร
บนลีนุกซ์ถ้าฉันมีซีดีอยู่แล้วและตอนนี้อยู่ในไดเรกทอรีแล้วมีวิธีที่จะคิดออกว่าเส้นทางที่แท้จริงไปยังไดเรกทอรีนั้นคืออะไรถ้าฉันไม่ได้ใช้ลิงก์สัญลักษณ์เพื่อไปที่นั่น พิจารณา: $ pwd /home/dave/tmp $ mkdir -p 1/2/3/4/5 $ ln -s 1/2/3/4/5 5 $ cd 5 $ pwd /home/dave/tmp/5 หรือ: $ pwd /home/dave/tmp $ mkdir -p 1/2/3/4/5 $ ln -s 1/2/3/4 4 $ cd 4/5 $ pwd /home/dave/tmp/4/5 มีวิธีที่จะคิดออกว่า / home / dave / tmp / 5 เป็นจริง / …

4
อะไรคือข้อได้เปรียบของ symlinks ผ่านการเชื่อมโยงอย่างหนักและ viceversa
ฉันเข้าใจความแตกต่างระหว่างลิงก์เชิงสัญลักษณ์และฮาร์ดลิงก์ แต่ฉันไม่เคยเข้าใจเลยว่าทำไมเลือกอย่างใดอย่างหนึ่ง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.