Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Linux

คำสั่ง Bash พื้นฐานสำหรับมือใหม่ Linux

คำสั่ง Bash พื้นฐานสำหรับมือใหม่ Linux

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

เกี่ยวข้อง:

  • 6 คำสั่ง Linux ที่มีประโยชน์ที่สุดสำหรับผู้ใช้ใหม่
  • 17 คำสั่ง Linux สนุกที่จะรันในเทอร์มินัล
  • 5 คำสั่ง Linux อันตรายที่คุณไม่ควรรันเลย
  • 13 เครื่องมือที่มีประโยชน์สำหรับการทำงานกับข้อความบนบรรทัดคำสั่ง

การนำทางใน Bash

cd

คุณจะใช้คำสั่งนี้โดยพิมพ์ cd ก่อนแล้วตามด้วยพาธไปยังไดเรกทอรี พาธคือเส้นทางไปยังโฟลเดอร์ไฟล์ แสดงโฟลเดอร์ทั้งหมดที่คุณต้องผ่าน โฟลเดอร์คั่นด้วยสแลชหน้า (/) สำหรับพาธที่มีช่องว่าง คุณสามารถห่อทั้งพาธในเครื่องหมายคำพูดหรือเพิ่มแบ็กสแลช () ก่อนช่องว่าง

cd path/to/follow
คำสั่ง Bash พื้นฐานสำหรับมือใหม่ Linux

ทุกพาธถูกตีความจากไดเรกทอรีทำงานปัจจุบันของคุณ เพื่อระบุพาธที่ไม่อยู่ในไดเรกทอรีทำงานปัจจุบัน คุณต้องไปที่โฟลเดอร์พาเรนต์ของพาธนั้น หรือใช้พาธที่สมบูรณ์ (fully qualified path) พาธสมบูรณ์คือ "ที่อยู่สมบูรณ์" ของไฟล์บนระบบของคุณ เริ่มที่รูทไดรฟ์ (แทนด้วย /) และลงท้ายด้วยไดเรกทอรีหรือไฟล์เป้าหมาย

cd ใช้ตัวย่อมากสำหรับนำทางไดเรกทอรีอย่างรวดเร็ว ตัวอย่างเช่น สแลชหน้าเดี่ยว (/) แสดงไดเรกทอรี "รูท" ซึ่งเป็นไดรฟ์บูทของระบบของคุณ ตามที่กล่าวไว้ ทิลด์ (~) แสดงไดเรกทอรีโฮมของผู้ใช้ปัจจุบัน จุดเดี่ยว (.) แสดงโฟลเดอร์ปัจจุบัน และสองจุด (..) แสดงโฟลเดอร์พาเรนต์ของไดเรกทอรีทำงานปัจจุบัน โฟลเดอร์พาเรนต์คือโฟลเดอร์ที่มีไดเรกทอรีทำงานอยู่

แบ็กสแลช () นั้นพิเศษอย่างพิเศษ มันเรียกว่า "อักขระหนี" (escape character) และบ่งชี้ว่าสิ่งที่ตามหลังควรจัดการพิเศษ ในกรณีนี้ บ่งชี้ว่าช่องว่างเป็นส่วนหนึ่งของพาธไฟล์ ไม่ใช่ช่องว่างระหว่างคำสั่งหรืออาร์กิวเมนต์สองตัว

ls

เพื่อดูเนื้อหาของไดเรกทอรี ใช้ ls ซึ่งย่อมาจาก "list" คำสั่งนี้แสดงไฟล์และไดเรกทอรีทั้งหมดในไดเรกทอรีปัจจุบัน คุณสมบัติที่มีประโยชน์ที่สุดเข้าถึงได้ผ่าน "flags" (ธง) ซึ่งเป็นคำสั่งเพิ่มเติมสั้นๆ ที่คุณต่อกับคำสั่งหลักเพื่อเปลี่ยนตัวเลือกหรือขยายฟังก์ชัน พวกมันนำหน้าด้วยหนึ่งหรือสองขีด (-) และมักเป็นตัวอักษรเดียว

ls
คำสั่ง Bash พื้นฐานสำหรับมือใหม่ Linux

มีธงอื่นๆ ที่มีประโยชน์มากสำหรับ ls โปรดโปรด ได้แก่:

  • -a แสดงไฟล์ซ่อนและ dotfiles (ไฟล์นำหน้าด้วย .)
  • -h แสดงขนาดไฟล์ด้วยหน่วยที่มนุษย์อ่านง่าย
  • -S เรียงตามขนาดไฟล์ ใหญ่ไปเล็ก (ระวัง S ใหญ่)
  • -t เรียงตามเวลาแก้ไข ล่าสุดก่อน

หากต้องการใช้หลายธง พิมพ์ต่อกันไปเลย ตัวอย่างเช่น หากต้องการดูไฟล์ซ่อนในโฟลเดอร์ แบบ long format พร้อมขนาดไฟล์อ่านง่าย รัน ls -lah

pwd

คำสั่งนี้ไม่รับอาร์กิวเมนต์ กด Enter ทันทีเพื่อรัน คำสั่ง pwd แสดงพาธสมบูรณ์ของ present working directory จึงเป็นย่อหน้า

pwd
คำสั่ง Bash พื้นฐานสำหรับมือใหม่ Linux

คำสั่งที่คุณรันจะทำงานอัตโนมัติภายในไดเรกทอรีทำงานปัจจุบัน ตัวอย่างเช่น คำสั่ง mkdir จะสร้างไดเรกทอรีภายในไดเรกทอรีทำงานปัจจุบันของคุณ หากต้องการทำอย่างอื่น ต้องใช้พาธสมบูรณ์ ซึ่งเริ่มด้วย / เพื่อระบุไดเรกทอรีรูทของระบบ

man

man command

เปิดหน้าคู่มือ (man page) สำหรับคำสั่งที่ระบุ ตัวเช่น man chmod จะแสดง man page สำหรับคำสั่ง "chmod" ภายในหน้าต่างเทอร์มินัลของคุณ รายการเหล่านี้แสดงข้อมูลการใช้งาน ธง และตัวอย่าง หากต้องการรู้เพิ่มเติมว่าคำสั่งทำอะไรหรือมีตัวเลือกอะไร เริ่มต้นด้วยการอ่าน man page ของคำสั่งนั้นเสมอ

cat

cat file

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

การทำงานกับไฟล์และไดเรกทอรี

cp

สร้างสำเนาของไฟล์ "filename.doc" ไปที่ "path/to/directory/newfilename.doc" คุณสามารถคิดว่านี่คือการ copy และ paste หากชื่อไฟล์มีอยู่แล้ว การ copy จะไม่เสร็จสมบูรณ์

cp filename.doc path/to/directory/newfilename.doc
คำสั่ง Bash พื้นฐานสำหรับมือใหม่ Linux

mv

ย้าย "foo.txt" ไป "bar.txt" คุณสามารถคิดว่าคำสั่งนี้คือ cut และ paste เรายังใช้ mv สำหรับเปลี่ยนชื่อไฟล์ เพราะเรากำลัง "ย้าย" พวกมันไปชื่อใหม่ โปรดทราบว่า mv ลบเวอร์ชันต้นฉบับของไฟล์หลังการเขียนเสร็จสิ้น

mv foo.txt /path/to/bar.txt

rm

ลบเนื้อหาไดเรกทอรีและไฟล์ทั้งหมดภายใน ธง -r ทำให้ rm (remove) ทำงานแบบ recursive ในขณะที่ธง -f ปิดกล่องโต้ตอบยืนยัน เวอร์ชันที่ทรงพลังกว่า sudo rm -rf ควรใช้ด้วยความระมัดระวังสูงสุด มันสามารถลบไดรฟ์บูทของคุณได้โดยไม่มีคำเตือนหรือบ่น ไปด้วยความระมัดระวัง

rm -rf contents/
คำสั่ง Bash พื้นฐานสำหรับมือใหม่ Linux

touch

หากไฟล์ที่มีชื่อระบุอยู่แล้ว เวลาการแก้ไขจะเปลี่ยนเป็นเวลาปัจจุบัน หากไฟล์ไม่มีอยู่ ไฟล์ว่างเปล่าที่มีชื่อเดียวกันจะถูกสร้างทันที

touch file

mkdir

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

mkdir directory

rmdir

ลบไดเรกทอรีที่พาธที่ระบุ

rmdir directory

ตัวปรับเปลี่ยนคำสั่ง

ตัวปรับเปลี่ยนปรับคำสั่งที่มีอยู่ให้ทำสิ่งมากขึ้นหรือแตกต่างจากปกติ

sudo command

sudo ย่อมาจาก "super user do" และมันไม่ทำอะไรด้วยตัวมันเอง แทนที่จะเป็นมันให้คำสั่งถัดไปมีพลังเหนือมนุษย์ เมื่อคุณพิมพ์ sudo ก่อนคำสั่ง คุณยกระดับตัวเองชั่วคราวให้มีสิทธิ์ของผู้ใช้ root ให้คุณพลังทำสิ่งที่ปกติทำไม่ได้

แต่มาพร้อมกับพลัง superuser คือความรับผิดชอบ superuser มันยังให้คุณพลังทำลายสิ่งต่างๆ อย่างรุนแรง ดังนั้นจงระมัดระวังขณะเรียนรู้ ตรวจสอบให้แน่ใจว่าคุณเข้าใจทุกส่วนของคำสั่งที่คุณรัน โดยเฉพาะหากคุณหาคำสั่งมาจากออนไลน์

หลังใช้ sudo คุณจะต้องป้อนรหัสผ่านผู้ดูแลระบบ เมื่อทำเสร็จ เคอร์เซอร์อินพุทจะไม่เคลื่อนที่ แต่ keystrokes จะถูกบันทึก กด Enter เมื่อเสร็จเพื่อรันคำสั่ง

sudo !!

รันคำสั่งล่าสุดอีกครั้ง แต่ครั้งนี้ด้วยสิทธิ์ผู้ดูแลระบบ คำสั่งที่เรียกว่า "bang bang" (!!) คือทางลัดสำหรับทำซ้ำคำสั่งก่อนหน้า

>

เรียกว่า "redirect" ตัวคาท์ส่งเอาต์พุทข้อความของคำสั่งของคุณไปยังไฟล์ ตัวอย่างเช่น ls > filelist.txt จะส่งเอาต์พุทของ ls ไป "filelist.txt" หากไฟล์เป้าหมายไม่มีอยู่ จะถูกสร้างขึ้น

|

เรียกว่า "pipe" สัญลักษณ์นี้เหมือน redirect แต่สำหรับคำสั่งเท่านั้น มันส่งเอาต์พุทของคำสั่งหนึ่งไปเป็นอินพุทของอีกคำสั่งหนึ่ง

การแก้ไขสิทธิ์

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

คำสั่งเหล่านี้คือคำสั่งแรกที่เราจะใช้ sudo ร่วมด้วย จำไว้ว่า sudo ยกระดับเราเป็น superuser ให้เราอำนาจผู้ดูแลชั่วคราว นี่เกือบจำเป็นตลอดเวลาเมื่อจัดการกับสิทธิ์ไฟล์ เนื่องจากไม่ใช่ทุกไฟล์จะเป็นของผู้ใช้ปัจจุบัน

chmod ย่อมาจาก "change mode" และปรับสิทธิ์สำหรับไฟล์และโฟลเดอร์ เหมือน chown มันสามารถรันบนไฟล์เดียวหรือแบบ recursive บนเนื้อหาไดเรกทอรีด้วยธง -R

sudo chmod 775 file
คำสั่ง Bash พื้นฐานสำหรับมือใหม่ Linux

สิทธิ์ไฟล์สามารถแทนได้หลายวิธี แต่ "โหมดตัวเลข" (numeric mode) ที่ใช้ข้างต้น (775) เป็นที่พบบ่อยที่สุด

sudo chown -R sarah foo/bar

เปลี่ยนเจ้าของของทุกไฟล์ในไดเรกทอรีที่ให้มาเป็นผู้ใช้ "sarah" ธง -R ทำให้คำสั่งเป็น recursive แต่สามารถรันโดยไม่มีธงบนไฟล์เดี่ยวได้เช่นกัน รันในไดเรกทอรีทำงานปัจจุบันโดยใช้จุด (.) แทน foo/bar

สรุป

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