<ก่อนหน้านี้ | เนื้อหา | ถัดไป>
สัญลักษณ์แทน
ก่อนที่เราจะเริ่มต้นใช้คำสั่งของเรา เราต้องพูดถึงคุณลักษณะของเชลล์ที่ทำให้คำสั่งเหล่านี้มีประสิทธิภาพมาก เนื่องจากเชลล์ใช้ชื่อไฟล์เป็นจำนวนมาก จึงมีอักขระพิเศษเพื่อช่วยให้คุณระบุกลุ่มของชื่อไฟล์ได้อย่างรวดเร็ว อักขระพิเศษเหล่านี้คือ
ที่เรียกว่า สัญลักษณ์แทน. การใช้สัญลักษณ์แทน (ซึ่งเรียกอีกอย่างว่า ลูกกลม) ให้คุณเลือกชื่อไฟล์ตามรูปแบบของอักขระ ตารางด้านล่างแสดงรายการไวด์การ์ดและสิ่งที่พวกเขาเลือก:
ตาราง 4-1: ไวด์การ์ด
Wildcard ความหมาย
Wildcard ความหมาย
* ตรงกับตัวละครใด ๆ
? ตรงกับอักขระตัวเดียว
[อักขระ] จับคู่อักขระใด ๆ ที่เป็นสมาชิกของเซต อักขระ
[!อักขระ] จับคู่อักขระใด ๆ ที่ไม่ใช่สมาชิกของเซต
อักขระ
-ชั้น- ตรงกับอักขระใด ๆ ที่เป็นสมาชิกของ . ที่ระบุ
ชั้น
ตารางที่ 4-2 แสดงรายการคลาสอักขระที่ใช้บ่อยที่สุด:
ตาราง 4-2: คลาสอักขระที่ใช้กันทั่วไป
ความหมายของคลาสอักขระ
ความหมายของคลาสอักขระ
[:alnum:] จับคู่อักขระที่เป็นตัวอักษรและตัวเลขคละกัน [:alpha:] จับคู่อักขระที่เป็นตัวอักษร [:digit:] ตรงกับตัวเลขใดๆ
[:lower:] ตรงกับอักษรตัวพิมพ์เล็ก
[:upper:] ตรงกับอักษรตัวพิมพ์ใหญ่
การใช้สัญลักษณ์แทนทำให้สามารถสร้างเกณฑ์การเลือกที่ซับซ้อนมากสำหรับชื่อไฟล์ได้ ต่อไปนี้คือตัวอย่างบางส่วนของรูปแบบและสิ่งที่ตรงกัน:
ตาราง 4-3: ตัวอย่างไวด์การ์ด
การจับคู่รูปแบบ
การจับคู่รูปแบบ
* เอกสารทั้งหมด
g* ไฟล์ใดๆ ที่ขึ้นต้นด้วย “g”
b*.txt ไฟล์ใดๆ ที่ขึ้นต้นด้วย “b” ตามด้วยอักขระใดๆ และลงท้ายด้วย “.txt”
สัญลักษณ์แทน
ข้อมูล??? ไฟล์ใดๆ ที่ขึ้นต้นด้วย “Data” ตามด้วยอักขระสามตัว
[abc]* ไฟล์ใดๆ ที่ขึ้นต้นด้วย "a", "b" หรือ "c"
BACKUP.[0-9][0-9][0-9] ไฟล์ใดๆ ที่ขึ้นต้นด้วย “BACKUP”
ตามด้วยเลขสามตัว
[[:upper:]]* ไฟล์ใดๆ ที่ขึ้นต้นด้วยตัวพิมพ์ใหญ่
[![:digit:]]* ไฟล์ใดๆ ที่ไม่ขึ้นต้นด้วยตัวเลข
*[[:ล่าง:]123] ไฟล์ใดๆ ที่ลงท้ายด้วยอักษรตัวพิมพ์เล็กหรือตัวเลข “1”, “2” หรือ “3”
สามารถใช้ไวด์การ์ดกับคำสั่งใดๆ ที่ยอมรับชื่อไฟล์เป็นอาร์กิวเมนต์ แต่เราจะพูดถึงเรื่องนี้เพิ่มเติมในบทที่ 7
ช่วงอักขระ
หากคุณมาจากสภาพแวดล้อมที่คล้ายกับ Unix หรือเคยอ่านหนังสืออื่นๆ เกี่ยวกับเรื่องนี้ คุณอาจเคยเจอ [AZ] หรือ [az] สัญกรณ์ช่วงอักขระ นี่เป็นสัญลักษณ์ Unix แบบดั้งเดิมและทำงานใน Linux เวอร์ชันเก่าได้เช่นกัน พวกเขายังคงสามารถทำงานได้ แต่คุณต้องระวังให้มากเพราะจะไม่ให้ผลลัพธ์ที่คาดหวังเว้นแต่จะมีการกำหนดค่าอย่างเหมาะสม สำหรับตอนนี้ คุณควรหลีกเลี่ยงการใช้พวกมันและใช้คลาสอักขระแทน
สัญลักษณ์แทนทำงานใน GUI ด้วย
สัญลักษณ์แทนมีค่าโดยเฉพาะอย่างยิ่ง ไม่เพียงเพราะมีการใช้บ่อยในบรรทัดคำสั่ง แต่ยังได้รับการสนับสนุนโดยตัวจัดการไฟล์แบบกราฟิกบางตัว
● In หอยโข่ง (ตัวจัดการไฟล์สำหรับ GNOME) คุณสามารถเลือกไฟล์โดยใช้รายการเมนูแก้ไข/เลือกรูปแบบ เพียงป้อนรูปแบบการเลือกไฟล์ด้วยไวด์การ์ด และไฟล์ในไดเร็กทอรีที่ดูอยู่ในปัจจุบันจะถูกเน้นสำหรับการเลือก
● ในบางรุ่น ปลาโลมา และ ผู้พิชิต (ตัวจัดการไฟล์สำหรับ KDE) คุณสามารถป้อนสัญลักษณ์แทนได้โดยตรงบนแถบตำแหน่ง ตัวอย่างเช่น หากคุณต้องการดูไฟล์ทั้งหมดที่ขึ้นต้นด้วยตัวพิมพ์เล็ก "u" ในไดเร็กทอรี /usr/bin ให้ป้อน "/usr/bin/u*" ในแถบตำแหน่งและจะแสดงผลลัพธ์
แนวคิดมากมายที่พบในอินเทอร์เฟซบรรทัดคำสั่งเริ่มต้นในอินเทอร์เฟซแบบกราฟิกเช่นกัน เป็นหนึ่งในหลาย ๆ สิ่งที่ทำให้เดสก์ท็อป Linux มีประสิทธิภาพมาก