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

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

2
วิธีกำหนดลิงก์สัญลักษณ์ที่ฉันสามารถใช้ได้ในทุกไดเร็กทอรี
เป็นไปได้หรือไม่ที่จะตั้งลิงก์สัญลักษณ์เพื่อให้ฉันสามารถใช้projectชี้ไดเรกทอรีhome/me/projectได้เช่น? สิ่งนี้ควรเป็นอิสระจากตำแหน่งในระบบไฟล์ ฉันต้องการใช้คำสั่งเช่นcd projectนี้nano project/file1.texเป็นต้น ฉันต้องเขียนลิงค์สัญลักษณ์ไปยังไดเรกทอรีทั้งหมดของฉันหรือไม่?
11 bash  symlink 

1
พฤติกรรมของคำสั่ง `du` พร้อมกับ` `-L 'flag
ฉันสังเกตเห็นพฤติกรรมแปลก ๆ พร้อมduคำสั่งเมื่อใช้กับ-Lตัวเลือกบรรทัดคำสั่ง ฉันใช้ Slackware 14 และ Coreutils 8.19 ในการทำให้เกิดพฤติกรรมแปลก ๆ ให้สร้างสองโฟลเดอร์: mkdir foo mkdir bar สร้างไฟล์ภายในหนึ่งในโฟลเดอร์: perl -e 'print "A"x10000' > foo/text และ symlink ในโฟลเดอร์อื่น: ln -s ../foo/text bar/text ตอนนี้ถ้าคุณพิมพ์: du -h -L bar คุณจะได้รับ: 16k bar เนื่องจาก symlink ถูกยกเลิกการลงทะเบียน แต่ถ้าคุณพิมพ์: du -h -L * คุณจะได้รับ: 16K foo 4.0K …

2
คัดลอก symlink และตำแหน่งที่จะใช้ rsync
มันไม่จำเป็นต้องทำrsyncแต่มันก็ดีไม่ต้องเขียนสคริปต์เพื่อทำสิ่งนี้และrsyncอยู่ใกล้กับสิ่งที่ฉันต้องการ rsync -a(หรือ-l) สามารถรักษา symlink และ-Lสามารถยกเลิกการเชื่อมโยง symere และคัดลอกราวกับว่ามันเป็นไฟล์ / dir ปกติ อย่างไรก็ตามมันเป็นไปได้ที่จะเก็บ symlink และคัดลอกไฟล์ / ไดเรกทอรีที่ลิงค์ชี้ไป นี่คือตัวอย่าง สมมติว่าเรามีลำดับชั้นของโฟลเดอร์นี้: dirA/link_to_file -> ../dirB/file dirA/link_to_dir -> ../dirC dirB/file dirB/not_this_file dirC/file dirC/file2 dirD/others และเมื่อฉันทำrsync -aR dirA dest(หรืออย่างอื่น) ฉันต้องการให้สิ่งเหล่านี้ปรากฏในdest: dirA/link_to_file -> ../dirB/file dirA/link_to_dir -> ../dirC dirB/file dirC/file dirC/file2 เป็นไปได้ด้วยrsyncหรือไม่ ขอขอบคุณ. สมมติว่า symlink มีพา ธ สัมบูรณ์หรือการชี้ไปนอกไดเรกทอรีต้นทางสามารถละเว้นได้
11 symlink  rsync 

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

4
แสดงเฉพาะไฟล์ต้นทางและไฟล์ที่เชื่อมโยงเป้าหมายโดยใช้ `ls '
ฉันสามารถแสดงไฟล์เป้าหมายที่ลิงก์ชี้ไปที่ใช้ls -l: snowch$ ls -l /usr/local/bin/mvn lrwxr-xr-x 1 snowch admin 29 12 Dec 08:58 /usr/local/bin/mvn -> ../Cellar/maven/3.2.3/bin/mvn มีวิธีแสดงเอาต์พุตน้อยลงโดยไม่ต้องไพพ์ผ่านคำสั่งอื่นเช่น awk หรือไม่? เช่น: snowch$ ls ?? /usr/local/bin/mvn /usr/local/bin/mvn -> ../Cellar/maven/3.2.3/bin/mvn ฉันใช้ 3.2.53 บน OS X 10.9.5 เอาต์พุตจากหลายคำสั่งแสดงอยู่ด้านล่าง: snowch$ ls -H /usr/local/bin/mvn /usr/local/bin/mvn snowch$ ls -L /usr/local/bin/mvn /usr/local/bin/mvn snowch$ file /usr/local/bin/mvn /usr/local/bin/mvn: POSIX …
11 ls  symlink 

3
การให้ / bin และ / lib ภายในคุก chroot
ฉันต้องสามารถให้ไดเรกทอรี / bin และ / lib ภายในคุก chroot เพื่อให้โปรแกรมสามารถเชื่อมโยงอย่างถูกต้องแบบไดนามิก มีวิธีการที่จะทำสิ่งนี้ให้สำเร็จโดยไม่ทำการคัดลอก / bin และ / lib dirs ไปยังคุก chroot หรือไม่? ฉันได้ลองใช้ symlink แล้วและมันไม่ทำงานจากภายในคุก chroot และไดเรกทอรีไม่สามารถเชื่อมโยงได้
11 symlink  chroot 

2
วิธีการใช้ ln -s เพื่อสร้างทางลัดบรรทัดคำสั่ง?
ฉันมีไฟล์ sh ที่ฉันต้องการที่จะสามารถเปิดได้จาก terminal ได้ตลอดเวลา ฉันต้องการพิมพ์ "studio" ใน terminal และเปิด android studio ฉันจำได้ว่าเคยใช้ln -sในการทำสิ่งนี้ แต่ฉันลืมและเสียเวลาไปกับการค้นหาเว็บแล้ว นอกจากนี้ลิงก์สัญลักษณ์ที่สร้างขึ้นเก็บไว้ในไดเรกทอรีใด? นี่คือไวยากรณ์จากความพยายามของฉันไม่พบคำสั่ง ricardo@debian:~$ ln -s /opt/android-studio/bin/studio.sh studio ricardo@debian:~$ studio bash: studio: command not found

3
การทำสมนามไฟล์ Symlink ในไดเรกทอรีย่อยโดยไม่เปลี่ยนไดเรกทอรีปัจจุบัน
ดูเหมือนว่าควรเชื่อมโยงไฟล์หนึ่งไฟล์กับไฟล์ใหม่ในไดเรกทอรีย่อย .... โดยไม่ต้องย้ายไดเรกทอรีย่อย แต่สิ่งที่เกี่ยวกับไวยากรณ์นั้นน่างงงวยและตอบโต้กับสิ่งที่ฉันคาดหวัง นี่คือกรณีทดสอบ: mkdir temp cd temp mkdir deploy echo "Contents of the build file!" > deploy/resources.build.php ln -s deploy/resources.build.php deploy/resources.php cat deploy/resources.php #bad symlink นี่เป็นเพียงการสร้าง symlink ที่ใช้งานไม่ได้! ฉันกำลังเรียกใช้สิ่งนี้ในสคริปต์การตั้งค่าสภาพแวดล้อมการสร้างดังนั้นฉันต้องการหลีกเลี่ยงการเปลี่ยนไดเรกทอรีการทำงานปัจจุบันหากเป็นไปได้ ln -s deploy/resources.build.php resources.php cat deploy/resources.php ยังใช้งานไม่ได้เพราะมันสร้าง symlink ในไดเรกทอรีชั่วคราวแทนไดเรกทอรีย่อยปรับใช้ cd deploy ln -s resources.build.php resources.php cd .. ใช้งานได้ แต่ฉันต้องการทราบวิธีการทำโดยไม่ต้องเปลี่ยนไดเรกทอรี …
11 directory  symlink  ln 

3
linux ทำงานกับลิงค์สัญลักษณ์อย่างไร
ฉันหมายถึงสิ่งที่เกิดขึ้นเมื่อบางกระบวนการต้องการอ่าน symlink? เกิดอะไรขึ้นเมื่อมีบางสิ่งเปลี่ยน symlink ในระหว่างกระบวนการอ่านหรือการเขียน ตัวอย่าง: ฉันมีขนาดใหญ่ไฟล์ 100G ที่คล้ายกัน 2 และ/mnt/1 สามารถใช้ได้ผ่านทาง symlink บางโปรแกรมจะเริ่มต้นการอ่าน และในขณะที่บางสิ่งบางอย่างเปลี่ยนลิงค์จากเป็นแต่ยังคงอ่านไฟล์อยู่/mnt/2/mnt/1/home/user/fileA/home/user/file/mnt/1/mnt/2A โปรแกรมแคชเส้นทางสัมบูรณ์หรือไม่ มันจะล้มเหลวและผิดพลาดเพราะ symlink เปลี่ยนไปหรือมันจะทำงานได้ดีเหมือนไม่มีอะไรเกิดขึ้น? มันจะแตกต่างกันในกรณีที่/home/user/fileเชื่อมโยงกับอุปกรณ์บล็อก (ตัวอย่างเช่นดิสก์ iscsi ที่จำลองแบบ 2)?

1
GNU Stow สามารถใช้ไดเรกทอรี stow ที่เป็นลิงก์สัญลักษณ์ได้หรือไม่?
พิจารณาสคริปต์นี้ #! /usr/bin/env bash mkdir -p target mkdir -p mydir/package/ touch mydir/package/file ln --symbolic mydir mylink file mylink stow --verbose --dir=./mylink --target=./target package file target/file ผลลัพธ์คือ mylink: symbolic link to mydir LINK: file => ../mydir/package/file target/file: symbolic link to ../mydir/package/file ก่อนใช้งานstowจะมีลักษณะดังนี้: . ├── mydir │ └── package │ └── file …
10 symlink  stow 

4
ฉันจะค้นหาติดตามได้อย่างไรส่วนใหญ่ แต่ไม่ทั้งหมดลิงก์สัญลักษณ์?
ระบบปฏิบัติการและโฮมไดเรกทอรีของฉันอยู่ใน SSD ฉันเก็บไฟล์ขนาดใหญ่ไว้ในฮาร์ดดิสก์และ symlink จากโฮมไดเร็กตอรี่ของฉันไปยังฮาร์ดดิสก์ (เช่น. ~ / Videos / Films เป็น symlink ไปยัง / mnt / hdd / Films) ฉันยังมีหมายเลขนำหน้าจำนวนไวน์ซึ่งแต่ละอันมี dosdevices / z: symlinked to / ดังนั้นถ้าฉันใช้ find โดยไม่มี -L มันจะพลาดทุกอย่างที่อยู่ในฮาร์ดดิสก์ แต่ถ้าฉันใช้ find ด้วย -L ​​มันจะสิ้นสุดในลูปเนื่องจาก symlink ของไวน์เป็น / มีวิธีที่เหมาะสมในการแก้ไขปัญหานี้เพื่อค้นหาสิ่งที่ฉันต้องการหรือไม่ อย่างสังหรณ์ใจฉันต้องการบางสิ่งบางอย่างตามแนวของ "ติดตาม symlinks ยกเว้นว่าพวกเขาอยู่ภายใต้ไดเรกทอรีที่เรียกว่า dosdevices" "ติดตาม symlink ที่อยู่บนฮาร์ดดิสก์" ก็ใช้ได้เช่นกัน
10 find  symlink 

2
เหตุใดจึงมีการผสมผสานของ symlink และ hardlinks ใน / bin
ฉันเข้าใจความแตกต่างทางเทคนิคระหว่าง symlink และ hardlinks นี่เป็นคำถามเกี่ยวกับการใช้ในทางปฏิบัติโดยเฉพาะฉันอยากรู้ว่าทำไมทั้งสองถูกใช้ในสภาพที่คล้ายกัน: /binไดเรกทอรี นี่คือรายการในระบบของฉัน: ~$ ls -lai /bin total 10508 32770 drwxr-xr-x 2 root root 4096 Jun 14 11:47 . 2 drwxr-xr-x 28 root root 4096 Sep 6 13:15 .. 119 -rwxr-xr-x 1 root root 959120 Mar 28 22:02 bash 2820 -rwxr-xr-x 3 root root 31112 Dec …

5
Dynamic Symlinks
ฉันสร้างแอปของฉันสำหรับสถาปัตยกรรมที่แตกต่างกันและต้องการสร้าง "ไดนามิก symlink" ซึ่งพาฉันไปยังรุ่นที่ถูกต้องตามตัวแปร หากเครื่องที่ฉันเข้าสู่ระบบในขณะนี้คือ x86 ดังนั้น symlink ควรพาฉันไปที่งานสร้างนั้น ตัวอย่างล้อเลียนของสิ่งที่ฉันต้องการจะทำ: $ uname -i x86_64 $ ls -ltr lrwxr-xr-x 1 dogbane gg 4 Feb 16 15:40 mylink -> @sys/ drwxrwxr-x 2 dogbane gg 2048 Feb 16 15:40 x86_64/ drwxrwxr-x 2 dogbane gg 2048 Feb 16 15:40 i386/ $ cd mylink $ …
10 symlink 

2
ฉันจะแสดงรายการไฟล์ที่ไม่มี symlink ได้อย่างไร
ฉันมีไดเรกทอรี "myfiles" ขนาดใหญ่เต็มไปด้วยเอกสารเบ็ดเตล็ดและไม่ต้องการแก้ไขโครงสร้าง ฉันจึงสร้าง (หลาย) ไดเรกทอรีอื่น ๆ สำหรับแต่ละชั้นของเอกสาร ตัวอย่างเช่นฉันมีไดเรกทอรี "images" ซึ่งมีsymlink ไปยังแต่ละไฟล์.jpgหรือ.cr2ในไดเรกทอรี "myfiles" พร้อมไฟล์อธิบายอื่น ๆ สำหรับแต่ละ symlink (ที่มีชื่อไฟล์เดียวกัน) พร้อมคำอธิบายและข้อมูลเมตาอื่น ๆ symlink ในไดเร็กทอรี / images อาจมีชื่อแตกต่างจากไฟล์ที่ลิงก์ดั้งเดิม ฉันพยายามหาวิธีที่ง่ายที่สุดเพื่อให้แน่ใจว่าไฟล์รูปภาพทุกไฟล์ในไดเรกทอรี "myfiles" มี symlink ในไดเรกทอรี "images" ดูตัวอย่างของโครงสร้างโฟลเดอร์ /myfiles/a.doc /myfiles/b.jpg /myfiles/c.cr2 /myfiles/d.mov ควรส่งผล /images/b_800x600.jpg /images/b_800x600.desc /images/c_3820x5640.cr2 /images/c_3820x5640.cr2

1
คุณเพิ่ม MAXSYMLINKS อย่างไร
ในสคริปต์ไพ ธ อนฉันกำลังสร้างลิงก์สัญลักษณ์มากมายที่ถูกล่ามโซ่ไว้ด้วยกัน ตัวอย่าง: link1-> link2-> link3 -> .......-> somefile.txt ฉันสงสัยว่าคุณสามารถเปลี่ยนจำนวนสูงสุดของ symlink ให้มากกว่า 20 ได้อย่างไร
10 linux  symlink  limit 

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