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

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

1
ค้นหาไม่ทำงานบนเส้นทาง symlinked?
ถ้าฉันเรียกใช้คำสั่งนี้find $HOME/MySymlinkedPath -name "run*.sh"ไม่มีอะไรเกิดขึ้นและไม่มีข้อผิดพลาด ('MySymlinkedPath' เป็นเส้นทาง symlinked ไปยังฮาร์ดไดรฟ์อื่น ๆ แล้ว $ HOME ของฉัน) สิ่งเหล่านี้ล้มเหลว: find ~/MySymlinkedPath -name "run*.sh" find /home/MyUserName/MySymlinkedPath -name "run*.sh" และเพื่อให้แน่ใจว่าเส้นทางที่ไม่มีอยู่นี้ล้มเหลว (แน่นอน) find $HOME/MySymlinkedPathDUMMYTEST -name "run*.sh"ดังนั้นจึงมีการค้นพบเส้นทาง (เพราะข้อผิดพลาดนั้นไม่ได้เกิดขึ้น) แต่findไม่ได้ทำการค้นหาบนเส้นทางนี้ ใช้งานได้เฉพาะถ้าฉันcd $HOME/MySymlinkedPathก่อนและลบการอ้างอิงเส้นทางเช่นนี้find -name "run*.sh"แต่นั่นไม่ดีสำหรับสคริปต์ของฉัน ข้อมูลเพิ่มเติม : คำสั่งนี้ใช้งานได้ตามปกติls $HOME/MySymlinkedPath/run*.shและถ้าฉันไปที่นั่นcd $HOME/MySymlinkedPathและรันสิ่งนี้ls ..ผลลัพธ์ไม่ใช่สิ่งที่ฉันคาดหวัง - รายการของเส้นทางที่เส้นทาง symlinked ตั้งอยู่ - จะส่งกลับรายการเส้นทางที่แท้จริงของ สื่ออื่น / ฮาร์ดไดรฟ์ !!! …
15 find  symlink  path 

2
เป้าหมายของ symlink นั้นสัมพันธ์กับไดเรกทอรีหลักของปลายทางหรือไม่และถ้าใช่ทำไม
ฉันมีโครงสร้างไฟล์ต่อไปนี้: build/ client/ –> index.js และเมื่อฉันพยายามสร้างลิงค์สัญลักษณ์ชื่อ "ลูกค้า" ในไดเรกทอรีสร้างที่อ้างถึงไดเรกทอรีลูกค้าใน cwd เช่นนั้น // Fails $ pwd /home/user/ $ ln -s client build/client $ stat build/client/index.js stat: build/client/index.js: stat: Too many levels of symbolic links ฉันพบข้อผิดพลาด ELOOP ที่แสดงด้านบน เมื่อฉันเปลี่ยนเส้นทางเป้าหมายให้สัมพันธ์กับเส้นทางปลายทางทั้งหมดจะดี: // Works $ pwd /home/user/ $ ln -s ../client build/client $ stat build/client/index.js stat: …
14 symlink 


2
ทำไมลิงค์แข็งถึงดูเหมือนจะใช้พื้นที่เดียวกันกับต้นฉบับ?
ขอขอบคุณ Q&A ที่ดีรอบ ๆ ที่นี่และหน้านี้ฉันเข้าใจลิงก์แล้ว ฉันเห็นฮาร์ดลิงก์อ้างถึงไอโหนดเดียวกันโดยใช้ชื่ออื่นและสำเนาเป็นโหนด "ต่าง ๆ ที่มีชื่อแตกต่างกัน Plus ซอฟต์ลิงค์มีชื่อไฟล์และพา ธ ดั้งเดิมเหมือนกับไอโหนดดังนั้นหากไฟล์ถูกย้าย ดังนั้นฉันทดสอบสิ่งที่ฉันเรียนรู้ด้วยไฟล์บางไฟล์ ("saluton_mondo.cpp" ด้านล่าง) สร้างลิงก์ที่อ่อนนุ่มและสำเนา jmcf125@VMUbuntu:~$ ls -lh soft hard copy s*.cpp -rw-rw-r-- 1 jmcf125 jmcf125 205 Aŭg 27 16:10 copy -rw-rw-r-- 2 jmcf125 jmcf125 205 Aŭg 25 13:34 hard -rw-rw-r-- 2 jmcf125 jmcf125 205 Aŭg 25 13:34 …

2
Windows รู้จักลิงก์สัญลักษณ์ของ Linux หรือไม่
ฉันแค่สงสัยว่าระบบ Windows จัดการกับลิงก์สัญลักษณ์อย่างไร การเดาที่ดีที่สุดของฉันคือมันจะไม่รู้จักพวกเขา แต่ฉันไม่แน่ใจทั้งหมด นอกจากนี้ Macs ต้องทำอย่างไรเมื่อเผชิญหน้ากับสิ่งใด?
14 osx  windows  symlink 

6
ฉันจะได้รับ 'realpath' เพื่อค้นหาลิงก์สัญลักษณ์ของฉันได้อย่างไร
ฉันใช้ MacOSX bashเป็นเปลือกของฉัน ฉันมีลิงก์สัญลักษณ์สร้างขึ้นเช่นนี้: ln -s /usr/bin/python python2 ฉันมีแพ็คเกจที่ใช้ python2 และฉันต้องการสร้างลิงก์สัญลักษณ์ในไดเรกทอรีการทำงานปัจจุบันของฉัน/usr/bin/pythonซึ่งเป็น python2 จริง ๆ เมื่อฉันทำpython2จากบรรทัดคำสั่งฉันได้รับข้อผิดพลาดนี้: python2: realpath couldn't resolve "/usr/bin/python2" แต่การเรียกเช่นนี้./python2จะช่วยแก้ไขเส้นทางได้อย่างถูกต้อง ของฉันPATHมี.อยู่ในนั้น ในความเป็นจริงฉันปรับเปลี่ยนมันสำหรับการทดสอบจะมีเฉพาะ.ในนั้น ฉันจะแก้ไขปัญหานี้ได้อย่างไร ขอบคุณ! บริบท โซลูชันที่แนะนำด้านล่างจำนวนหนึ่งไม่สามารถใช้งานได้สำหรับฉัน ฉันพยายามที่จะกลั่นกรองคำถามของฉันโดยมุ่งเน้นและสั้นที่สุดเท่าที่จะเป็นไปได้เพื่อที่ผู้คนจะไม่จมลงในทะเลของข้อความ แต่ชัดเจนว่าฉันต้องการให้พื้นหลังเพิ่มเติม ฉันพยายามพัฒนาบนแพ็คเกจที่ฉันลอกแบบมาจากคอมไพล์ แพคเกจเดิมgit-multimailคือ / ได้รับการพัฒนาบน Linux บางรุ่น (ฉันคาดเดา Ubuntu) ฉันพยายามแก้ไขมันเพื่อให้สามารถใช้งานได้และชุดทดสอบใน MacOSX โดยมีการปรับเปลี่ยนน้อยที่สุด นี่คือสาเหตุที่โซลูชันที่เสนอบางรายการไม่เหมาะ: ในฐานะที่เป็น root ให้สร้างpython2symlink ใน / usr / bin / …
13 python  symlink 

3
จะสร้างลิงค์สัญลักษณ์ไปยัง / usr / bin / vim แต่มีพารามิเตอร์เริ่มต้นได้อย่างไร
หลังจากที่ฉันmake&make installเป็นกลุ่มจากแหล่งที่มาฉันพบลิงค์สัญลักษณ์หลายแห่งในกลุ่ม/usr/local/binเช่น evim, rvim, view ... vim(1)หน้าคนพูดว่า "rvim" เทียบเท่ากับ "กลุ่ม -Z" และอื่น ๆ ตอนนี้ฉันสงสัยว่า: ฉันสามารถสร้างลิงก์สัญลักษณ์กับln(1)ตัวเองได้หรือไม่และถ้าเป็นเช่นนั้นได้อย่างไร
13 vim  symlink  ln 

5
วิธีการคัดลอก symlink เป็น symlink จากเครื่องหนึ่งไปยังอีกเครื่องหนึ่ง?
สมมติว่าฉันมีสองระบบเหมือนกัน ในระบบแรกฉันได้สร้างลิงค์สัญลักษณ์ ในอันที่สองฉันต้องการคัดลอก symlink ผ่าน sftp และ symlink จะทำงานเหมือนกัน (เช่นถ้า symlink ลิงก์ไปยัง/etc/หลังจากคัดลอกไปแล้วเฉพาะ symlink เท่านั้นที่จะถูกคัดลอกและ symlink เท่านั้น (ไม่ใช่ไฟล์ที่เชื่อมโยง)) ความคิดเห็นใด ๆ เกี่ยวกับวิธีที่ฉันสามารถทำได้ / หากฉันสามารถทำได้ ฉันเพียงต้องการคัดลอกการเชื่อมโยงสัญลักษณ์อะไรอย่างอื่น; เพียงการอ้างอิง

2
คำสั่ง tar - ข้าม symlink
ฉันใช้คำสั่ง tar เป็น tar -cvf protTests.tar protTests/* ไปยังtarไฟล์ทั้งหมดภายในโฟลเดอร์, protTests. แต่นี่รวมถึงลิงก์สัญลักษณ์ภายในโฟลเดอร์ซึ่งไม่ได้เป็นที่ต้องการ มีตัวเลือกบรรทัดคำสั่งที่จะออก symlink ทั้งหมดหรือไม่
13 files  symlink  tar  wildcards 

1
ถ้าฉันเชื่อมโยง symlink แล้วข้อมูลจะชี้ไปที่จุดเชื่อมโยงเพื่อลบหรือไม่
นี่คือเนื้อหาของ/home3ไดเรกทอรีในระบบของฉัน: ./ backup/ hearsttr@ lost+found/ randomvi@ sexsmovi@ ../ freemark@ investgr@ nudenude@ romanced@ wallpape@ ฉันต้องการล้างข้อมูลนี้ แต่ฉันกังวลเพราะ symlink ซึ่งชี้ไปที่ไดรฟ์อื่น ถ้าฉันrm -rf /home3จะบอกว่าจะลบไดรฟ์อื่นหรือไม่
13 linux  symlink 

2
สร้างลิงก์สัญลักษณ์แบบสัมบูรณ์ไปยังไดเร็กทอรีปัจจุบัน
ตอนนี้ฉันอยู่ภายใต้ไดเรกทอรีที่มีเส้นทางที่ยาวมาก สำหรับการเยี่ยมชมในอนาคตนั้นเร็วกว่าฉันต้องการสร้างลิงก์ให้ ฉันเหนื่อย ln -s . ~/mylink ~/mylinkเชื่อมโยงไปยัง~จริง ฉันจะขยาย~เข้าไปในชื่อพา ธ ที่ล้าสมัยแล้วให้มันได้lnหรือไม่
12 shell  symlink  cwd 

1
สิทธิ์ลิงก์สัญลักษณ์ไม่เปลี่ยนด้วย chmod
ฉันมีสิทธิ์เข้าถึงเครื่อง Linux ระยะไกลซึ่งทุกครั้งที่ฉันสร้างลิงค์สัญลักษณ์จะถูกสร้างขึ้นตามค่าเริ่มต้นด้วยสิทธิ์ต่อไปนี้: lrwxrwxrwx หากฉันพยายามเปลี่ยนการอนุญาตของลิงก์สัญลักษณ์ (เช่นไม่ใช่พา ธ ที่ชี้ไป) ใช้ตัวอย่างเช่น: chmod g-w my_symbolic_link chmodทำงานอย่างถูกต้อง (ไม่มีข้อความแสดงข้อผิดพลาด) แต่เมื่อฉันตรวจสอบการอนุญาตอีกครั้งพวกเขาจะยังคงเหมือนเดิม ( lrwxrwxrwx) ฉันกำลังรอฟังจากผู้ดูแลระบบของเครื่อง แต่ฉันสงสัยว่านี่เป็นพฤติกรรมปกติหรือไม่หรือเป็นสิ่งที่เฉพาะเจาะจงกับกล่อง

3
มีวิธีที่จะทำให้ Perl - ฉันไม่ได้เชื่อมโยงการอุดตัน?
เพื่อนของฉันชี้ให้เห็นว่าถ้าคุณ: perl -pi.bak -e 's/foo/bar/' somefile เมื่อ "somefile" เป็น symlink จริง Perl จะทำตามที่เอกสารบอกว่าจะทำ: ทำได้โดยเปลี่ยนชื่อไฟล์อินพุตเปิดไฟล์เอาต์พุตโดยใช้ชื่อดั้งเดิมและเลือกไฟล์เอาต์พุตนั้นเป็นค่าเริ่มต้นสำหรับคำสั่ง print () ส่วนขยายหากให้มาจะใช้ในการแก้ไขชื่อของไฟล์เก่าเพื่อทำสำเนาสำรอง [... ] ซึ่งส่งผลให้ symlink ใหม่ "somefile.bak" ชี้ไปที่ไฟล์จริงที่ไม่เปลี่ยนแปลงและไฟล์ใหม่ "somefile" ที่มีการเปลี่ยนแปลงปกติพร้อมการเปลี่ยนแปลง ในหลายกรณีการติดตาม symlink จะเป็นพฤติกรรมที่ต้องการ (แม้ว่าจะออกจากตำแหน่งที่ถูกต้องของไฟล์. bak ที่ไม่ชัดเจน) มีวิธีง่ายๆในการทำเช่นนี้นอกเหนือจากการทดสอบ symlink ใน wrapper และการจัดการกรณีอย่างเหมาะสมหรือไม่? ( sedทำสิ่งเดียวกันเพื่อสิ่งที่คุ้มค่า)

3
เข้าไปในไดเรกทอรีที่ลิงค์โดยลิงค์
เมื่อฉันcdลิงค์เส้นทางปัจจุบันของฉันจะถูกนำหน้าด้วยเส้นทางของลิงก์แทนที่จะเป็นเส้นทางของไดเรกทอรีที่ลิงก์ไปยังลิงก์ เช่น ~/dirlinks/maths$ ls -l logic lrwxrwxrwx 1 tim tim 71 Jul 27 10:24 logic -> /windows-d/academic discipline/study objects/areas/formal systems/logic ~/dirlinks/maths$ cd logic ~/dirlinks/maths/logic$ pwd /home/tim/dirlinks/maths/logic ~/dirlinks/maths/logic$ cd .. ~/dirlinks/maths$ ฉันต้องการให้เส้นทางปัจจุบันของฉันเปลี่ยนไปเป็นเส้นทางของ dir ที่เชื่อมโยงเพื่อที่ฉันจะสามารถทำงานกับผู้ปกครอง dirs ของ dir ที่เชื่อมโยงได้เช่นกัน นอกจากlsการเชื่อมโยงเพื่อค้นหา dir ที่เชื่อมโยงจากนั้นcdเข้าไปยังมันมีวิธีใดบ้างที่จะทำให้สำเร็จได้ง่ายขึ้น? ตัวอย่างเช่นหลังจากcdเป็นลิงก์คุณจะเปลี่ยนเส้นทางปัจจุบันเป็นเส้นทางของ dir ที่เชื่อมโยงได้อย่างไร

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

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