คำสั่งเทอร์มินัล 15 คำสั่งที่ทำให้ฉันลืมตัวจัดการไฟล์ของ Linux
ไม่ว่าตัวจัดการไฟล์ของคุณจะเป็น Dolphin ของ KDE, Files ของ GNOME หรือแบบอื่น ๆ มันก็คงเป็นส่วนสำคัญของการทำงานของคุณ ใช้ทุกวันในการนำทางและจัดระเบียบไฟล์ของคุณ อย่างไรก็ตาม ผู้ใช้ Linux ได้ทำงานเหล่านี้มาหลายทศวรรษ ก่อนที่เดสก์ท็อป GUI จะมีอยู่ด้วยซ้ำ
แล้วคุณจะหลีกเลี่ยงตัวจัดการไฟล์ GUI ทั้งหมดได้อย่างไร? มาหาคำตอบกันเถอะ...
คำสั่งมาตรฐานที่ทำงานได้
คำสั่งที่ติดมากับลินุกซ์มีความทรงพลังและสะดวก
ก่อนอื่น ให้พิจารณาว่าสิ่งใดที่ทำให้เกิดตัวจัดการไฟล์ ตัวจัดการไฟล์คืออินเทอร์เฟซสำหรับการจัดการไฟล์และโฟลเดอร์ (ไดเรกทอรี) การดำเนินการที่พบบ่อยที่สุดได้แก่:
- ดูไฟล์
- สร้างไฟล์
- เปิดไฟล์
- เปลี่ยนชื่อไฟล์
- ย้ายไฟล์
- คัดลอกไฟล์
- ลบไฟล์
- ค้นหาไฟล์
โชคดีที่คุณสามารถทำทั้งหมดนี้ได้ด้วยเครื่องมือบรรทัดคำสั่งที่มีมาให้ ซึ่งหลายเครื่องมือนั้นได้ทำงานนี้มากันหลายชั่วอายุคนแล้ว
ดูเนื้อหาของไดเรกทอรีโดยใช้ ls
คุณสามารถใช้คำสั่ง ls เพื่อแสดงรายการไฟล์และไดเรกทอรีได้:
โปรแกรมรองรับตัวเลือกมากมายเพื่อควบคุมผลลัพธ์ของมัน และคุณสมบัติการใช้ glob ของเชลล์ของคุณจะช่วยให้คุณคัดกรองไฟล์ที่คุณแสดงรายการได้ ตัวอย่างเช่น เพื่อแสดงรายการไฟล์และไดเรกทอรีทั้งหมดที่มีเลขอย่างน้อยหนึ่งตัว พร้อมตัวอักษรต่อท้ายเพื่อระบุประเภทไฟล์ ให้ใช้คำสั่งนี้:
ls -dF *[0-9]*
สร้างไฟล์ด้วยคำสั่ง touch หรือสร้างโฟลเดอร์ด้วยคำสั่ง mkdir
ถึงแม้ว่าคำสั่ง touch จะถูกอธิบายว่าเป็นเครื่องมือสำหรับ "เปลี่ยนเวลาเข้าถึงและแก้ไขไฟล์" แต่มันก็สามารถสร้างไฟล์ใหม่ได้ดีเช่นกัน:
touch ./my-new-file.md
ในความเป็นจริง มีวิธีมากมายในการสร้างไฟล์ว่าง ส่วนใหญ่ไม่มีเกี่ยวข้องกับตัวจัดการไฟล์ การสร้างไดเรกทอรียังง่ายด้วยเช่นกัน โดยใช้คำสั่ง mkdir:
mkdir -p my/new/directory
ตัวเลือก -p ช่วยให้คุณสร้างไดเรกทอรีได้มากกว่าหนึ่งระดับในครั้งเดียว
เปิดไฟล์ด้วย open หรือ xdg-open
วิธีที่ดีที่สุดในการเปิดไฟล์ Linux จากบรรทัดคำสั่งคือ xdg-open คำสั่งนี้จำลองการคลิกสองครั้งบนไฟล์ในตัวจัดการไฟล์ GUI ของคุณ: มันจะเปิดโดยใช้แอปพลิเคชันเริ่มต้นของเดสก์ท็อปของคุณ
บน macOS คุณสามารถใช้คำสั่งที่คล้ายกันมากได้ แต่เรียกเพียงแค่ open
เปลี่ยนชื่อหรือย้ายไฟล์หรือไดเรกทอรีด้วย mv
นี่คือตัวอย่างที่คำสั่งเทอร์มินัลเพียงคำสั่งเดียวสามารถทดแทนฟังก์ชัน GUI สองอย่างได้: การเปลี่ยนชื่อและการย้ายไฟล์ เนื่องจากทั้งสองการกระทำนี้เปลี่ยนชื่อเส้นทางเต็มของไฟล์ Linux จึงมีคำสั่งเพียงคำสั่งเดียวในการทำเช่นนั้น: mv
mv old-file.txt file-with-a-new-name.md
mv /a/file/from/over/there/foo.txt ./here/
ก็อปปี้ไฟล์หรือไดเรกทอรีด้วย cp
การคัดลอกไฟล์ง่ายเหมือนการใช้คำสั่ง cp โดยมีอาร์กิวเมนต์ต้นทางและปลายทาง:
cp ./from/file1.txt ./to/file2.txt
คุณจะได้รับข้อผิดพลาดถ้าคุณพยายามคัดลอกไดเรกทอรี แต่เพื่อหลีกเลี่ยง ให้ใช้ตัวเลือก -r
ลบไฟล์ด้วยคำสั่ง rm หรือโฟลเดอร์ด้วยคำสั่ง rmdir
มันเรียกว่า 'การลบ' บนบรรทัดคำสั่ง และคำสั่ง rm จะลบไฟล์ออกไป อีกครั้ง มีคำสั่งที่ใช้เฉพาะกับไดเรกทอรีเรียกว่า rmdir แต่คำสั่งนี้จะลบได้เฉพาะไดเรกทอรีที่ว่างเท่านั้น
ในการลบไดเรกทอรีทั้งหมด รวมถึงเนื้อหาทั้งหมดของมัน ให้ใช้ rm -r แต่ต้องระวังมาก!
ค้นหาไฟล์หรือไดเรกทอรีด้วยคำสั่ง find
คำสั่ง find เป็นเครื่องมือที่ทรงพลัง มากกว่าการค้นหาปกติที่มีใน GUI ของคุณ มันสามารถค้นหาไฟล์และ/หรือไดเรกทอรีได้ แต่ยังรองรับชุดตัวกรองและการกระทำจำนวนมาก ทำให้คุณสามารถสร้างการค้นหาที่ซับซ้อน เช่น ตัวอย่างนี้:
find . -path "*/.*/*" -prune -o -user "${USER}" -type f -printf "%TY-%Tm-%Td %p\n"
คำสั่งนั้นจะค้นหาไฟล์ปกติทั้งหมดที่ไม่ได้อยู่ในไดเร็กทอรีซ่อน ซึ่งเป็นไฟล์ที่ผู้ใช้ปัจจุบันเป็นเจ้าของ จากนั้นจะแสดงไฟล์เหล่านั้นพร้อมกับเวลาที่มีการแก้ไขล่าสุด
โปรแกรมอื่น ๆ ที่เกินกว่าพื้นฐาน
มีทางเลือกสมัยใหม่เพื่อปรับปรุงคำสั่งที่ติดตั้งมาแล้ว
คุณมักจะต้องติดตั้งโปรแกรมเหล่านี้ ดังนั้นมันจึงอาจยากที่จะพึ่งพาได้ แต่พวกมันสามารถช่วยปรับปรุงประสบการณ์การใช้เทอร์มินัลได้ โดยเฉพาะสำหรับผู้เริ่มต้น
ใช้ eza แทน ls สำหรับสีและคุณสมบัติเพิ่มเติม
โปรแกรม eza เป็นทางเลือกสมัยใหม่สำหรับคำสั่ง ls เขียนด้วยภาษา Rust มันใช้สีอย่างกว้างขวาง พร้อมการสนับสนุนรูปแบบการแสดงผลแบบกริด ตาราง และต้นไม้ เครื่องมือนี้ยังรวมกับ git เพื่อแสดงสถานะปัจจุบันของไฟล์ใน repository
ใช้คำสั่ง rename แทน mv
ถ้าคุณเป็นผู้เชี่ยวชาญด้านการเขียนสคริปต์เชลล์ คุณอาจพบว่ามันง่ายที่จะเปลี่ยนชื่อไฟล์เป็นชุด ๆ โดยใช้ globbing และการแทนค่าพารามิเตอร์ แต่สำหรับคนอื่น ๆ มีคำสั่ง rename ซึ่งช่วยให้คุณใช้ regular expressions สำหรับงานการเปลี่ยนชื่อที่ซับซ้อนมากขึ้นได้
ตัวอย่างเช่น ในการลบคำนำหน้า “NEW_” ออกจากไฟล์ข้อความทั้งหมดในไดเร็กทอรีปัจจุบัน ให้ใช้:
rename 's/NEW_//' *.txt
ใช้ trash แทน rm
คำสั่ง rm มุ่งมั่นและมีประสิทธิภาพมากจนอาจเป็นอันตราย ไม่มีอะไรสรุปความเสี่ยงได้ดีกว่าคำสั่งคลาสสิก 'gotcha' นี้ที่คุณไม่ควรเรียกใช้อย่างเด็ดขาด!
rm -rf /
นี่เป็นเรื่องสุดโต่งแน่นอน แต่การใช้คำสั่ง rm ปกติก็สามารถก่อให้เกิดความผิดพลาดได้เช่นกันเพราะคำสั่งจะลบไฟล์ทันทีโดยไม่มีการสำรอง สำหรับความสบายใจ คุณสามารถใช้คำสั่ง trash บน macOS และ trash-put (จากแพ็กเกจ trash-cli) บน Linux คำสั่งนี้เลียนแบบถังขยะบนเดสก์ท็อป และคุณสามารถกู้ไฟล์โดยใช้กลไกเดียวกันได้
ใช้ fd แทน find
คำสั่ง find เป็นหนึ่งในคำสั่งที่ซับซ้อนที่สุดที่คุณอาจต้องเรียนรู้ ดังนั้นจึงไม่แปลกใจที่มีทางเลือกมากมาย fd อาจเป็นที่นิยมมากที่สุด และแน่นอนว่ามันเป็นมิตรกว่าการใช้ find:
TUI สำหรับเมื่อคุณต้องการมันจริงๆ
ถ้าหลังจากการใช้งานคำสั่งทั้งหมดนี้ คุณยังขาดคุณสมบัติบางอย่างของ GUI คุณสามารถลองใช้ตัวจัดการไฟล์ TUI เครื่องมือเชิงโต้ตอบเหล่านี้ถูกออกแบบมาให้เลียนแบบ GUI ภายในข้อจำกัดของเทอร์มินัล
สำหรับความรู้สึกเหมือนใช้ UNIX มากที่สุด
nnn เป็นการประนีประนอมที่ยอดเยี่ยมระหว่าง GUI และบรรทัดคำสั่ง โดยให้รายการไฟล์แบบโต้ตอบที่คุณสามารถนำทางได้ด้วยคีย์บอร์ดหรือเมาส์
มันยังคงเกือบทั้งหมดเป็นข้อความเป็นหลัก โดยมีการใช้สีและรูปแบบตัวอักษรเพียงเล็กน้อย การท่องเว็บทำได้ง่าย แต่คุณจะต้องเรียนรู้การใช้คีย์ลัดแม้กระทั่งงานง่ายๆ อย่างการก็อปปี้ไฟล์
สำหรับบางสิ่งที่ใกล้เคียงกับ GUI มากขึ้น
Midnight Commander (mc) ใช้การแสดงผลแบบสองหน้าต่างที่เป็นสัญลักษณ์ ซึ่งช่วยเติมช่องว่างสำคัญระหว่างบรรทัดคำสั่งและตัวจัดการไฟล์ GUI สิ่งนี้ช่วยให้คุณย้ายหรือคัดลอกไฟล์ระหว่างสองตำแหน่งที่แตกต่างกันได้อย่างง่ายดาย
ใช้ตัวเลือกมากมายที่ Linux มีให้
ไม่จำเป็นต้องยึดติดกับเพียงประเภทเดียวของอินเทอร์เฟซเมื่อแต่ละแบบมีข้อดีของมันเอง บรรทัดคำสั่งมีความทรงพลังมากจนสามารถแก้ไขงานซับซ้อนได้ในเวลาเพียงเศษเสี้ยวของเวลาที่จะใช้ไป แต่อินเทอร์เฟซแบบกราฟิกสะดวกมาก และสำหรับการโอนย้ายไฟล์อย่างรวดเร็ว ก็อาจจะเร็วกว่าด้วยเช่นกัน
ค้นหาว่าเครื่องมือแต่ละชิ้นในกล่องมีประโยชน์อย่างไรและเรียนรู้วิธีรวมพวกมันเพื่อให้ได้ผลลัพธ์ที่ดีที่สุด





