Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม BASH

Linux ln – วิธีสร้างลิงก์สัญลักษณ์ใน Linux [ตัวอย่างคำสั่งทุบตี]

ลิงก์สัญลักษณ์ (สัญลักษณ์) เป็นไฟล์ประเภทหนึ่งที่ชี้ไปยังไฟล์หรือไดเรกทอรีอื่น (โฟลเดอร์) ใน Linux

คุณสามารถสร้างการเชื่อมโยง (สัญลักษณ์) โดยใช้ ln คำสั่งในบรรทัดคำสั่ง

ลิงก์สัญลักษณ์มีประโยชน์เพราะทำหน้าที่เป็นทางลัดไปยังไฟล์หรือไดเร็กทอรี

ในบทความนี้ ผมจะอธิบายวิธีการใช้ ln คำสั่งสร้าง symlink ไปยังไฟล์หรือไดเร็กทอรี

ซอฟต์ลิงค์หรือลิงค์สัญลักษณ์จะชี้ไปที่ไฟล์ต้นฉบับในระบบของคุณ ฮาร์ดลิงก์จะสร้างสำเนาของไฟล์

ซอฟต์ลิงก์สามารถชี้ไปที่ไฟล์หรือไดเร็กทอรีอื่นบนระบบไฟล์อื่น ในขณะที่ฮาร์ดลิงก์ไม่สามารถทำได้

คุณสามารถค้นหาบรรทัดคำสั่งโดยใช้แอปพลิเคชัน Terminal บน Mac หรือใช้ Command Prompt บน Windows

นี่คือไวยากรณ์พื้นฐานสำหรับการสร้าง symlink ไปยังไฟล์ในเทอร์มินัลของคุณ

ln -s existing_source_file optional_symbolic_link

คุณใช้ ln คำสั่งสร้างลิงค์สำหรับไฟล์และ -s ตัวเลือกเพื่อระบุว่านี่จะเป็นลิงก์สัญลักษณ์ หากคุณละเว้น -s ให้สร้างฮาร์ดลิงก์แทน

ไฟล์ที่มีอยู่_source_file แทนไฟล์บนคอมพิวเตอร์ของคุณที่คุณต้องการสร้างลิงก์สัญลักษณ์

พารามิเตอร์ optional_symbolic_link คือชื่อของลิงก์สัญลักษณ์ที่คุณต้องการสร้าง หากละเว้น ระบบจะสร้างลิงค์ใหม่ให้กับคุณในไดเร็กทอรีปัจจุบันที่คุณอยู่

มาดูตัวอย่างเพื่อทำความเข้าใจวิธีการทำงานกันดีกว่า

บนเดสก์ท็อปของฉัน ฉันมีไฟล์ชื่อ example_fcc_file.txt .

Linux ln – วิธีสร้างลิงก์สัญลักษณ์ใน Linux [ตัวอย่างคำสั่งทุบตี]

ฉันจะต้องเปิดเทอร์มินัลก่อน จากนั้นตรวจสอบให้แน่ใจว่าฉันอยู่ในไดเร็กทอรีเดสก์ท็อป ฉันสามารถเรียกใช้คำสั่ง cd Desktop เพื่อไปยังเดสก์ท็อปของฉัน

หลังจากรันคำสั่งนั้น คุณจะเห็นว่าตอนนี้คุณอยู่ในเดสก์ท็อปแล้ว

jessicawilkins@Dedrias-MacBook-Pro-2 ~ % cd Desktop
jessicawilkins@Dedrias-MacBook-Pro-2 Desktop % 

ฉันสามารถใช้ ln คำสั่งสร้างลิงค์สัญลักษณ์ใหม่ชื่อ fcc_link.txt .

ln -s example_fcc_file.txt fcc_link.txt

เมื่อคุณเรียกใช้คำสั่งนั้นในเทอร์มินัล คุณจะสังเกตเห็นว่าไม่มีการส่งคืน นั่นเป็นเพราะว่าเมื่อ ln คำสั่งสำเร็จ จะไม่มีเอาต์พุตและจะคืนค่าศูนย์

jessicawilkins@Dedrias-MacBook-Pro-2 Desktop % ln -s example_fcc_file.txt fcc_link.txt


jessicawilkins@Dedrias-MacBook-Pro-2 Desktop % 

หากต้องการตรวจสอบว่าลิงก์สัญลักษณ์ของคุณสำเร็จ คุณสามารถใช้ ls สั่งการ. ls คำสั่งจะแสดงข้อมูลเกี่ยวกับไฟล์และ -l ธงแสดงถึงการเชื่อมโยงสัญลักษณ์

ls -l fcc_link.txt

เมื่อคุณเรียกใช้คำสั่งนั้น คุณควรเห็นผลลัพธ์ประเภทนี้ในเทอร์มินัล

lrwxr-xr-x  1 jessicawilkins  staff  20 Feb 19 19:56 fcc_link.txt -> example_fcc_file.txt

fcc_link.txt -> example_fcc_file.txt ส่วนของผลลัพธ์จะแสดงให้คุณเห็นว่าลิงก์สัญลักษณ์ชี้ไปที่ไฟล์ชื่อ example_fcc_file.txt .

คุณควรเห็นลิงก์สัญลักษณ์ใหม่ปรากฏในไดเรกทอรีของคุณ

Linux ln – วิธีสร้างลิงก์สัญลักษณ์ใน Linux [ตัวอย่างคำสั่งทุบตี]

ในตัวอย่างนี้ เราต้องการสร้างลิงก์สัญลักษณ์ชื่อ my_music ที่จะชี้ไปที่โฟลเดอร์เพลงของฉันในโฮมไดเร็กตอรี่ของคอมพิวเตอร์ของฉัน

ขั้นแรก ตรวจสอบให้แน่ใจว่าคุณอยู่ในโฮมไดเร็กทอรี คุณสามารถเรียกใช้ cd เพื่อกลับไปที่โฮมไดเร็กตอรี่ของคุณในบรรทัดคำสั่ง

jessicawilkins@Dedrias-MacBook-Pro-2 Desktop % cd
jessicawilkins@Dedrias-MacBook-Pro-2 ~ % 

จากนั้นคุณสามารถใช้ ln คำสั่งสร้าง symlink ไปยังไดเร็กทอรี Music

ln -s /Users/jessicawilkins/Music ~/my_music

หากสำเร็จ คุณควรเห็นมันในโฮมไดเร็กตอรี่

Linux ln – วิธีสร้างลิงก์สัญลักษณ์ใน Linux [ตัวอย่างคำสั่งทุบตี]

หากต้องการลบ symlink คุณสามารถใช้ unlink หรือ rm คำสั่ง

หากเราต้องการลบ fcc_link.txt symlink ที่เราสร้างไว้ก่อนหน้านี้ เราสามารถใช้คำสั่งใดคำสั่งหนึ่งต่อไปนี้:

rm fcc_link.txt
unlink fcc_link.txt

ตอนนี้เราควรเห็นว่า symlink ถูกลบออกจากไดเร็กทอรีของเราแล้ว

Linux ln – วิธีสร้างลิงก์สัญลักษณ์ใน Linux [ตัวอย่างคำสั่งทุบตี]

หากเราพยายามสร้าง symlink ใหม่ชื่อ fcc_link.txt จากนั้นจะส่งผลให้เกิดข้อผิดพลาดเนื่องจากมีการใช้งานอยู่แล้วและชี้ไปที่ไฟล์อื่น

ln: fcc_link.txt: File exists

คุณสามารถเขียนทับข้อผิดพลาดนี้ได้โดยใช้แรง (-f ) ตัวเลือก

ln -sf example_fcc_file.txt fcc_link.txt

วิธีเรียนรู้เพิ่มเติมเกี่ยวกับคำสั่ง ln

หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ ln คำสั่ง จากนั้นคุณสามารถอ่านเกี่ยวกับมันได้ใน man หน้า (คู่มือการใช้คำสั่ง Linux)

เรียกใช้ man ln ในเทอร์มินัลของคุณและคุณควรเห็นหน้า man สำหรับ ln คำสั่ง

LN(1)                     BSD General Commands Manual                    LN(1)

NAME
     link, ln -- make links

SYNOPSIS
     ln [-Ffhinsv] source_file [target_file]
     ln [-Ffhinsv] source_file ... target_dir
     link source_file target_file

DESCRIPTION
     The ln utility creates a new directory entry (linked file) which has the same modes as the original file.  It is
     useful for maintaining multiple copies of a file in many places at once without using up storage for the
     ``copies''; instead, a link ``points'' to the original copy.  There are two types of links; hard links and sym-
     bolic links.  How a link ``points'' to a file is one of the differences between a hard and symbolic link.

     The options are as follows:

     -F    If the target file already exists and is a directory, then remove it so that the link may occur.  The -F
           option should be used with either -f or -i options.  If none is specified, -f is implied.  The -F option
           is a no-op unless -s option is specified.

     -h    If the target_file or target_dir is a symbolic link, do not follow it.  This is most useful with the -f
           option, to replace a symlink which may point to a directory.

     -f    If the target file already exists, then unlink it so that the link may occur.  (The -f option overrides

บทสรุป

ลิงก์สัญลักษณ์ (สัญลักษณ์) เป็นไฟล์ประเภทหนึ่งที่ชี้ไปยังไฟล์หรือไดเรกทอรีอื่น (โฟลเดอร์) ใน Linux คุณสามารถสร้างการเชื่อมโยง (สัญลักษณ์) โดยใช้ ln คำสั่งในบรรทัดคำสั่ง

ลิงก์สัญลักษณ์มีประโยชน์เพราะทำหน้าที่เป็นทางลัดไปยังไฟล์หรือไดเร็กทอรี

นี่คือไวยากรณ์พื้นฐานสำหรับการสร้าง symlink ไปยังไฟล์โดยใช้เทอร์มินัล:

ln -s existing_source_file optional_symbolic_link

นี่คือไวยากรณ์พื้นฐานสำหรับการสร้าง symlink ไปยังไดเร็กทอรีโดยใช้เทอร์มินัล:

ln -s path_to_existing_directory name_of_symbolic_link

หากต้องการลบ symlink คุณสามารถใช้ unlink หรือ rm คำสั่ง:

rm name_of_symbolic_link
unlink name_of_symbolic_link

หากคุณต้องการลบ symlink คุณสามารถใช้คำสั่งนี้:

ln -sf path_to_existing_directory name_of_symbolic_link

ฉันหวังว่าคุณจะชอบบทความนี้เกี่ยวกับลิงก์สัญลักษณ์และขอให้โชคดีกับเส้นทางการเขียนโปรแกรมของคุณ