ค้นหาเว็บไซต์

คำสั่งเทอร์มินัล 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 มีให้

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

ค้นหาว่าเครื่องมือแต่ละชิ้นในกล่องมีประโยชน์อย่างไรและเรียนรู้วิธีรวมพวกมันเพื่อให้ได้ผลลัพธ์ที่ดีที่สุด

บทความที่เกี่ยวข้อง