เอกสารของนักเรียนแบบบรรทัดคําสั่ง

บรรทัดคําสั่งเป็นวิธีควบคุมคอมพิวเตอร์ที่ไม่มี GUI ในหน่วยการเรียนรู้นี้ เราจะได้เรียนรู้คําสั่งพื้นฐานในการโต้ตอบกับคอมพิวเตอร์ของเรา

สรุปประเด็นสำคัญ

  • นักเรียนจะไปยังส่วนต่างๆ ของคอมพิวเตอร์ด้วยคําสั่ง
  • นักเรียนจะสร้าง ย้าย คัดลอก และลบไฟล์และโฟลเดอร์

บรรทัดคําสั่งคืออะไร

ผู้ใช้ส่วนใหญ่ใช้อินเทอร์เฟซผู้ใช้กราฟิก (GUI) เพื่อโต้ตอบกับคอมพิวเตอร์ GUI มักจะอาศัยเมาส์หรือการแตะเพื่อปรับแต่งหน้าต่างด้วยไอคอน ปุ่ม แถบเลื่อน ฯลฯ

บรรทัดคําสั่งคือมุมมองสํารองในคอมพิวเตอร์ บางครั้งเรียกว่า " ashell", "เทอร์มินัล", "bash" หรือ a "text Interface" บรรทัดคําสั่งคือ

  • วิธีโต้ตอบกับโปรแกรมคอมพิวเตอร์ที่ผู้ใช้พิมพ์คําสั่ง เช่น
open README.txt
  • วิธีนําทางและทํางานบนคอมพิวเตอร์โดยไม่ต้องใช้เมาส์
  • วิธีการแบบไม่เป็นกราฟิกในการสร้าง อ่าน อัปเดต ดําเนินการ และลบไฟล์และไดเรกทอรี เช่น
mv README.txt readme.txt

GUI และ Command Lines กําลังมองสิ่งเดียวกัน คอมพิวเตอร์มีหลายวิธีในการโต้ตอบกับคอมพิวเตอร์

เราจะใช้บรรทัดคําสั่งเมื่อใด

นักพัฒนาซอฟต์แวร์มักจะชอบอินเทอร์เฟซบรรทัดคําสั่ง

  • นโยบายเหล่านี้ช่วยให้ควบคุมโปรแกรมหรือระบบปฏิบัติการได้กระชับมากขึ้น เหตุใดจึงเป็นเช่นนั้น เพราะทุกอย่างเกิดขึ้นในหน้าต่างเดียวกัน ในทางปฏิบัติ คุณไม่ต้องเสียเวลาค้นหาและจัดการสิ่งต่างๆ ด้วยเมาส์
  • โดยจะแสดงตัวเลือกสําหรับควบคุมคําสั่งได้อย่างง่ายดาย เหตุใดจึงเป็นเช่นนั้น เมนูใน GUI มีตัวเลือกน้อยมาก ในบรรทัดคําสั่งมีคําสั่งหลายร้อยรายการ และอักขระ 2-3 ตัวที่เพิ่มไปยังคําสั่งอาจทําให้ทําสิ่งต่างๆ ได้มากมาย เช่น
  • ไฟล์รายการพื้นฐาน ls
  • ls -a แสดงไฟล์ทั้งหมด รวมถึงไฟล์ที่ซ่อนตามปกติ
  • ls -l รายการแบบยาวที่แสดงข้อมูลเกี่ยวกับแต่ละไฟล์
  • ls -R ที่เกิดซ้ํา แสดงรายการเนื้อหาของไดเรกทอรี
  • ls -la แสดงไฟล์ทั้งหมดแบบยาว
  • ซึ่งช่วยให้คุณดําเนินการกับไฟล์จํานวนมากพร้อมกันได้อย่างง่ายดาย
for i in *.png; do pngtogif $i `echo $i | sed s/png/gif/`; done
  • เครื่องมือเหล่านี้ช่วยในการเขียนโปรแกรมระบบปฏิบัติการ (โปรแกรม Shell) เช่น ตัวอย่างข้างต้นเป็นโปรแกรม Shell ที่เรียบง่ายมากซึ่งออกแบบมาเพื่อแก้ไขรูปภาพที่มีชื่อไฟล์ลงท้ายด้วย .png

การทํางานของบรรทัดคําสั่ง

ส่วนต่างๆ ของคําสั่งบรรทัดคําสั่ง

คําสั่งทั้งหมดประกอบด้วย 3 ส่วนดังนี้

  • คําสั่ง (หรือยูทิลิตี) จะมาก่อนเสมอ
  • คุณจะระบุธงหรือไม่ก็ได้ ทั้งนี้ขึ้นอยู่กับยูทิลิตีที่คุณใช้ ธงจะเริ่มต้นด้วย - (เครื่องหมายลบ) เสมอ
  • อาร์กิวเมนต์คือสิ่งที่กําหนดให้คําสั่งดําเนินการ หรือข้อมูลที่จําเป็น ซึ่งมักจะเป็นชื่อไฟล์

การแบ่งพื้นที่หน้าจอ

บริบทและวัตถุประสงค์

บรรทัดคําสั่งเป็นวิธีควบคุมคอมพิวเตอร์ที่ไม่มีเมาส์หรือ GUI (Graphical User Interface) ก่อนที่ Apple Computer จะเริ่มสร้างเครื่องด้วยไอคอนและโฟลเดอร์ที่คุณสามารถคลิกได้ วิธีเดียวที่จะโต้ตอบกับคอมพิวเตอร์ได้ก็คือผ่านทางบรรทัดคําสั่ง

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

เนื่องจากเทอร์มินัลเป็นอินเทอร์เฟซที่เรียบง่ายกว่า จึงมีประโยชน์มากกว่า GUI เมื่อคุณต้องเชื่อมต่อกับคอมพิวเตอร์จากระยะไกลผ่านลิงก์เครือข่าย ซึ่งเป็นข้อความที่นักพัฒนาซอฟต์แวร์ทําบ่อยๆ เช่น ขณะเดินทาง

ในบทเรียนนี้ เราจะได้เรียนรู้คําสั่งพื้นฐานในการโต้ตอบกับคอมพิวเตอร์ของเรา ได้แก่ การสร้างไฟล์และไดเรกทอรี การย้ายโฟลเดอร์ การเปลี่ยนไดเรกทอรี และการกําหนดรายการโฟลเดอร์

วัตถุประสงค์การเรียนรู้

นักเรียนจะทําสิ่งต่อไปนี้ได้

  • ใช้เทอร์มินัลเพื่อไปยังส่วนต่างๆ ของไฟล์และโฟลเดอร์
  • ระบุเนื้อหาในโฟลเดอร์
  • สร้างไฟล์และโฟลเดอร์ในบรรทัดคําสั่ง
  • ย้ายไฟล์และโฟลเดอร์
  • คัดลอกไฟล์และโฟลเดอร์
  • ลบไฟล์และโฟลเดอร์

เริ่มต้นใช้งาน

การเข้าถึงเทอร์มินัล

การจัดเฟรมและวัตถุประสงค์ในส่วนต่างๆ

เทอร์มินัลมี Command Line Interface (CLI) ไปยังระบบปฏิบัติการ ซึ่งจะช่วยให้คุณมอบวิธีการแบบข้อความโดยตรงให้แก่คอมพิวเตอร์ได้

ในการดําเนินการนี้ เราต้องเริ่มต้นเทอร์มินัลตามระบบที่คุณใช้

เมื่อเริ่มใช้งานเทอร์มินัล เครื่องจะเริ่มไดเรกทอรีแรกในคอมพิวเตอร์ของคุณ (ไม่ว่าคุณจะตั้งชื่อคอมพิวเตอร์เครื่องใดก็ตาม) ไดเรกทอรีหน้าแรกจะแสดงด้วยเครื่องหมาย ~

เมื่อพูดถึงโลกของเราในเทอร์มินัล ไดเรกทอรีจะเหมือนกับโฟลเดอร์ (บางครั้ง เราอาจเรียกว่าไดเรกทอรี)

อุปกรณ์เปลี่ยนไดเรกทอรี

การจัดเฟรมและวัตถุประสงค์ในส่วนต่างๆ

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

เมื่อคุณกําลังไปยังส่วนต่างๆ เครื่องชําระเงิน การรู้ตําแหน่งที่คุณอยู่ก็สําคัญ (ซึ่งแปลตรงสู่ชีวิตจริงด้วยเช่นกัน เช่น ถ้าอยากไปไหน คุณต้องทราบตําแหน่งปัจจุบัน)

# See your current location - abbreviation for 'print working directory'
pwd

แสดงไฟล์และไดเรกทอรีที่ใช้ได้

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

หากต้องการดูว่าไฟล์หรือโฟลเดอร์ใดอยู่ในไดเรกทอรีปัจจุบันของเรา ให้ใช้คําสั่ง ls (ตัวย่อของรายการ) เพื่อดูมุมมองรายการของเนื้อหา

# See files and folders in current location - abbreviation for 'list'
ls

เปลี่ยนไดเรกทอรีการทํางาน

หากต้องการเข้าถึงไฟล์หรือไดเรกทอรีที่ไม่อยู่ในรายการ คุณควรเปลี่ยนไดเรกทอรีการทํางานเพื่อให้เข้าถึงได้ง่ายขึ้น

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

หากไปยังไดเรกทอรีภายในไดเรกทอรีที่คุณอยู่ในขณะนี้ (เช่น โฟลเดอร์ย่อยของไดเรกทอรีการทํางาน) ให้ใช้คําสั่ง cd ตามด้วยชื่อของโฟลเดอร์

# Change your current working directory (current location)
# Abbreviation for 'change directory'
cd Documents

นอกจากนี้ คุณยังไปยังส่วนต่างๆ ได้โดยเริ่มจากไดเรกทอรีหน้าแรก ~

# Add a `~/` to begin from the home directory.
cd ~/Downloads

หากเปลี่ยนไดเรกทอรีแล้วแต่ต้องการเปลี่ยนกลับไปเป็นไดเรกทอรีหน้าแรก ให้นําทางกลับไปยังหน้าแรกโดยใช้ ~ โดยตรงหรือใช้ .. เพื่อเลื่อนขึ้น 1 ระดับ

# Option 1: navigate directly to the home directory
cd ~

# Option 2: navigate back one level
cd ..

โปรดทราบว่า cd .. เพิ่มขึ้นเพียง 1 ระดับเท่านั้น ดังนั้นหากคุณเปลี่ยนไดเรกทอรีมาแล้ว 3 ครั้ง (ลดลง 3 ระดับ) คุณจะต้องใช้ cd .. ซ้ํา 3 ครั้งเพื่อไปที่หน้าแรก แต่ต้องใช้ cd ~ เพียงครั้งเดียวเท่านั้น

ภารกิจย่อย

  • ใช้ ls เพื่อดูสิ่งที่อยู่ภายในไดเรกทอรีปัจจุบัน
  • กลับไปที่ไดเรกทอรีหน้าแรกและใช้ ls เพื่อดูเนื้อหาของโฟลเดอร์หน้าแรก
  • เลือกชื่อโฟลเดอร์ที่อยู่ในโฟลเดอร์ในไดเรกทอรี แล้วไปที่โฟลเดอร์ใหม่นี้
  • ใช้คําสั่งรายการเพื่อดูสิ่งที่อยู่ภายใน

เคล็ดลับ: การเติมข้อความอัตโนมัติกับ tab

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

การเติมข้อความอัตโนมัตินี้ไม่เพียงประหยัดเวลาในการทํางานเท่านั้น แต่ยังให้ข้อมูลที่มีประโยชน์เมื่อทํางานด้วยไม่ได้ หากปุ่ม Tab ไม่ได้เติมข้อความอัตโนมัติ เป็นไปได้ว่าคุณพบปัญหาใดปัญหาหนึ่งใน 3 กรณีต่อไปนี้

  1. ไดเรกทอรีที่คุณต้องการนําทางไม่สามารถเข้าถึงได้จากไดเรกทอรีการทํางานปัจจุบันของคุณ
  2. มีไดเรกทอรีที่มีชื่อเริ่มต้นคล้ายกัน 2 ไดเรกทอรี (เช่น Documents และ Downloads) และคุณให้ข้อมูลไม่เพียงพอสําหรับการเติมข้อความอัตโนมัติเพื่อให้ทราบว่าต้องการไดเรกทอรีใด กด tab อีกครั้งเพื่อดูรายการไดเรกทอรีที่ตรงกับสิ่งที่คุณพิมพ์ จากนั้นพิมพ์เพิ่มอีกเล็กน้อย (พอมีเวลาแค่ 1 ข้อ) แล้วกด tab อีกครั้ง
  3. คุณพิมพ์การพิมพ์ผิดในช่วงครึ่งแรกของคําไปแล้ว

ยิ่งคุณใช้แท็บเติมคําสั่งอัตโนมัติได้เร็วเท่าไร คุณก็ยิ่งมีโอกาสจัดการกับสถานการณ์ที่น่าหงุดหงิดซึ่งคําสั่งของคุณไม่ทํางานได้เร็วขึ้นเท่านั้น

ผู้เผยแพร่โฆษณาระดับบนสุดและรายย่อย

ไดเรกทอรีและไฟล์อาจมีความสัมพันธ์แบบย่อยและหลักกันได้ หาก directory_b อยู่ในdirectory_a ระบบจะเรียก directory_b ว่า child เป็น directory_a ซึ่งเรียกได้ว่า directory_a เป็นระดับบนสุดของ directory_b หากรายการอย่างที่ my_file อยู่ใน directory_b จะถือว่าเป็นรายการย่อยของ directory_b และหลานของ directory_a

ความสัมพันธ์ดังกล่าวมักจะแสดงอยู่ในฟอรัมที่มีแผนภาพข้อความ ดังนี้

directory_a/
  directory_b/
    my_file

โปรดสังเกตว่าชื่อไดเรกทอรีลงท้ายด้วย / ในขณะที่ชื่อไฟล์ไม่มี โดยทั่วไป ลําดับชั้นต่อไปนี้จะเรียกว่าโครงสร้างต้นไม้ของระบบไฟล์

พี่น้อง

หากมีไฟล์หรือโฟลเดอร์หลายรายการในระดับเดียวกัน เราเรียกไฟล์หรือโฟลเดอร์เหล่านั้นว่าพี่น้อง ตัวอย่าง: หาก file_b และ file_c อยู่ใน directory_a พี่น้อง

แผนภาพข้อความนั้นจะมีลักษณะดังนี้

directory_a/
  file_b
  file_c

โปรดทราบว่าเนื่องจาก file_b และ file_c เป็นพี่น้อง และมีการเยื้องให้เท่ากัน

เส้นทางของไฟล์

ต่อไปนี้คือแผนภาพข้อความที่ซับซ้อนมากขึ้น ซึ่งมีทั้งความสัมพันธ์แบบหลักกับย่อย

north_america/
  united_states/
    new_york/
      new_york_city/
        manhattan
        queens
        staten_island
        bronx
        brooklyn
    california/
      mountain_view
      los_angeles
    illinois/
      chicago
  mexico/
    mexico_city

ในตัวอย่างนี้ new_york_city/ เป็นชื่อไดเรกทอรีและยังมี path อีกด้วย ซึ่งจะแสดงรายละเอียดวิธีเข้าถึงดังนี้ ~/north_america/united_states/new_york/new_york_city/

หากต้องการเปลี่ยนไดเรกทอรีเป็น new_york_city/, คุณไปยังขั้นตอนต่างๆ ได้โดยใช้ชื่อ หรือนําทางไปในคําสั่งเดียวโดยใช้เส้นทางก็ได้

# Option 1: in four steps, using directory names.
cd ~ # navigate home, where these folders are located
cd north_america/
cd united_states/
cd new_york/
cd new_york_city/

# Option 2: in one step, using the path.
cd ~/north_america/united_states/new_york/new_york_city/

สรุปคําสั่งการนําทาง

# See your current location - abbreviation for 'print working directory'
pwd

# Change to a new location - abbreviation for 'change directory'
cd ~/Downloads

# Navigates into a child directory called `some_directory`
# Only works if `some_directory` is a child of the current directory
cd some_directory

# Navigates into the parent of the current directory
# `..` is shorthand for parent.
cd ..

# Will take you back home
cd

ภารกิจย่อย

  • ใช้ pwd เพื่อดูโฟลเดอร์ปัจจุบันที่คุณใช้งานอยู่
  • เปลี่ยนเป็นไดเรกทอรีอื่นและยืนยันตําแหน่งใหม่ของคุณ
  • ลองอีกครั้งและย้ายไปยังโฟลเดอร์อื่น ใช้คําสั่งใหม่เพื่อดูตําแหน่งของคุณและดูไฟล์ในไดเรกทอรีนี้ด้วย

การสร้างไฟล์และไดเรกทอรี

การจัดเฟรมและวัตถุประสงค์ในส่วนต่างๆ

ในฐานะนักพัฒนาซอฟต์แวร์ เราจะต้องสร้างไฟล์ที่มีโค้ด หากต้องการจัดระเบียบไฟล์เหล่านั้น เราต้องสร้างโฟลเดอร์ / ไดเรกทอรีเพื่อจัดเก็บไฟล์ไว้

โปรดระวังตําแหน่งของคุณในเทอร์มินัลก่อนที่จะสร้างไฟล์และโฟลเดอร์

# See your current location.
pwd

หากต้องการสร้างไฟล์ ให้ใช้คําสั่ง touch ตามด้วยชื่อไฟล์

# `touch` creates a new file.
touch style.css

เมื่อสร้างไฟล์ ให้เพิ่มนามสกุลไฟล์เพื่อระบุประเภท ตัวอย่างประเภทไฟล์

  • .js สร้างเป็นไฟล์ JavaScript
  • .html สร้างไฟล์ HTML
  • .css สร้างไฟล์ CSS
  • .md สร้างไฟล์มาร์กดาวน์

ชื่อไฟล์ไม่ควรมีเว้นวรรค

# make a file - this will create a file in the current folder
touch my_text_file.txt

# make a file - this will create a file on the desktop
touch ~/Desktop/my_new_style_sheet.css

การสร้างหลายไฟล์

คุณสร้างไฟล์หลายไฟล์พร้อมกันได้โดยใส่เว้นวรรคระหว่างชื่อแต่ละชื่อ

# make multiple files - this will create multiple files in the current folder
touch my_new_js_file.js my_new_html_file.html my_second_html_file.html

การสร้างไดเรกทอรี

ในการสร้างไดเรกทอรี / โฟลเดอร์ ให้ใช้คําสั่ง mkdir เป็นตัวย่อของ "make Directory' - ตามด้วยชื่อของโฟลเดอร์

# make a folder - this will create a directory in the current folder
mkdir my_new_folder

# make a folder - this will create a directory on your desktop
mkdir ~/Desktop/my_new_desktop_folder

การสร้างหลายไดเรกทอรี

คุณสามารถสร้างโฟลเดอร์ได้หลายรายการพร้อมกันด้วยการใส่เว้นวรรคระหว่างชื่อแต่ละชื่อ

# make multiple folders - this will create multiple folders in the current
# directory
mkdir folder_one folder_two folder_three

ภารกิจย่อย

  • สร้างไฟล์ใหม่
  • สร้างไฟล์ 2-3 ไฟล์โดยใช้คําสั่งเดียว
  • สร้างไดเรกทอรีใหม่
  • สร้างไดเรกทอรีใหม่อีกไม่กี่รายการ ใช้คําสั่งเพียงคําสั่งเดียวเพื่อดําเนินการนี้
  • คุณสามารถใช้ Hangouts เพื่อสร้างไดเรกทอรีครอบครัวและสร้างโฟลเดอร์ แล้วสร้าง " Family_tree' ในเดสก์ท็อปโดยใช้ไฟล์และโฟลเดอร์ของคุณ"

การย้ายและถ่ายเอกสาร

การย้ายไฟล์และไดเรกทอรี

การจัดเฟรมและวัตถุประสงค์ในส่วนต่างๆ

เราย้ายไฟล์หรือโฟลเดอร์ในบรรทัดคําสั่งได้ แต่ต้องระบุ 3 สิ่งนี้เสมอ

  1. เราใช้คําสั่ง mv ซึ่งเป็นตัวย่อของย้าย
  2. ทําตามคําสั่งย้ายพร้อมระบุชื่อไฟล์หรือโฟลเดอร์ที่ต้องการย้าย
  3. ติดตามชื่อไฟล์ที่มีปลายทางที่ต้องการย้ายไฟล์

เช่น หากคุณมีโครงสร้างไฟล์เช่นนี้

my_child_folder/
my_parent_folder/

คุณจะดูได้ว่าการจัดระเบียบนี้ไม่เป็นระเบียบอย่างที่ควรจะเป็น เป็นพี่น้องเวลาที่ควรไม่ใช่พ่อแม่และเด็ก ใช้คําสั่งนี้

# move a directory - this will move the folder `my_child_folder` into the
# folder named `my_parent_folder` that is in the current folder
mv my_child_folder/ my_parent_folder/

โครงสร้างที่ได้จะมีลักษณะดังนี้

my_parent_folder/
  my_child_folder/

รูปแบบอื่นๆ ของคําสั่ง mv:

# move a directory - this will move the folder `my_folder` into the file named
# `my_desktop_folder` that is located on the Desktop
mv my_folder ~/Desktop/my_desktop_folder

# move a file - this will move the file `my_file.txt` into the file named
# `my_folder` that is in the current folder
mv my_file.txt my_folder

# move a file - this will move the file `my_file.txt` into the file named
# `my_desktop_folder` that is located on the Desktop
mv my_file.txt ~/Desktop/my_desktop_folder

คําเตือน: mv ยังเป็นคําสั่งให้เปลี่ยนชื่อไฟล์โดยใช้ไวยากรณ์ mv old_name new_name ด้วย ซึ่งหมายความว่าหากคุณย้ายไฟล์ไปยังไดเรกทอรีที่ไม่มีอยู่ หรือสะกดผิดปลายทาง ชื่อไฟล์จะเปลี่ยนชื่อแทนการย้าย

ภารกิจย่อย

  1. สร้างไฟล์ข้อความ (.txt) 5 ไฟล์
  2. สร้างไดเรกทอรีใหม่
  3. ย้ายไฟล์ 5 ไฟล์ที่คุณสร้างไปยังโฟลเดอร์
  4. สร้างโฟลเดอร์และย้ายโฟลเดอร์ใหม่นี้ภายในโฟลเดอร์อื่น

กําลังคัดลอกไฟล์ &ไดเรกทอรี

การจัดเฟรมและวัตถุประสงค์ในส่วนต่างๆ

ในการสร้างเว็บแอป เราอาจต้องการทําสําเนาไฟล์ (หากเรากําลังสร้างหน้าเว็บที่คล้ายกัน 2 หน้า เราอาจต้องเริ่มต้นใหม่ทั้งหมด) และไวยากรณ์สําหรับคําสั่ง cp (สําเนา) จะคล้ายกับไวยากรณ์ของ mv จริงๆ

การคัดลอกไฟล์

คําสั่งคัดลอกมี 3 ส่วนดังนี้

  1. คําสั่ง cp - ตัวย่อของ copy
  2. ชื่อไฟล์ที่จะคัดลอก
  3. ชื่อของสําเนา (หากอยู่ในโฟลเดอร์เดียวกัน) หรือสถานที่ตั้งและชื่อ (หากย้ายไปยังโฟลเดอร์อื่น)
# Copy a file named `my_file.txt` to a file called `my_file_copy.txt`
# The copy will be located in your Documents folder.
cp my_file.txt ~/Documents/my_file_copy.txt

# Copy a file named `my_file.txt` to a file called `my_file_copy.txt`.
# Since no directory was specified, this will occur within the same folder.
cp my_file.txt my_file_copy.txt

หากต้องการให้สําเนาใช้ชื่อเดียวกับต้นฉบับ คุณจะระบุตําแหน่งที่คัดลอกโดยไม่มีชื่อไฟล์ได้

# Copy a file named `my_file.txt` to your Documents folder.
# The destination ends with a directory, so the copy will have the same name.
cp my_file.txt ~/Documents/

การมีไฟล์ที่มีชื่อเดียวกันจํานวนมากมายอาจสร้างความสับสนได้ ดังนั้นควรใช้วิธีนี้เฉพาะเมื่อคุณมั่นใจแล้วว่าตัวเองต้องการ

การคัดลอกไดเรกทอรี

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

  1. คําสั่ง cp -R - ตัวย่อของ recursive - ใช้คํานี้สําหรับทั้งโฟลเดอร์ที่ไม่ว่างเปล่า
  2. ชื่อแหล่งที่มา (โฟลเดอร์หรือไฟล์ที่เราต้องการย้าย)
  3. ชื่อของสําเนา (หากอยู่ในโฟลเดอร์เดียวกัน) หรือสถานที่ตั้งและชื่อ (หากย้ายไปยังโฟลเดอร์อื่น)

คําเตือน: เมื่อระบุชื่อสําหรับสําเนา ระบบจะไม่สร้างไฟล์หรือโฟลเดอร์นั้นไว้ก่อนหน้านี้เมื่อคุณทําสําเนา หากสร้างไฟล์ก่อนเรียกใช้คําสั่งคัดลอก ไฟล์นั้นจะเขียนทับทุกอย่างที่อยู่ก่อนหน้านี้ในไฟล์ ดังนั้นโปรดระมัดระวัง

# copy a directory named `my_folder` from your Desktop folder to a folder
# called `my_folder_copy` in your Documents folder
cp -R ~/Desktop/my_folder ~/Documents/my_folder_copy

# copy a file named `my_file.txt` from your Desktop folder to your Documents
# folder
cp -R my_folder my_folder_copy

หมายเหตุ: คอมโพเนนต์ -R ของ cp -R เรียกว่าแฟล็ก ธงจะเริ่มต้นด้วยเครื่องหมายขีดกลางเสมอ และใช้ร่วมกับคําสั่งเพื่อมอบวิธีดําเนินการที่เป็นคําสั่งที่เฉพาะเจาะจงยิ่งขึ้น

ภารกิจย่อย

  1. สร้างไฟล์ชื่อ my_original.txt
  2. ทําสําเนา my_original.txt ให้ตั้งชื่อใหม่ในโฟลเดอร์เดียวกัน
  3. สร้างไดเรกทอรีใหม่
  4. ทําสําเนาไดเรกทอรีนั้น แต่ตั้งชื่อชื่ออื่น
  5. ทําสําเนาไฟล์ที่คัดลอก (จากขั้นตอนที่ 2) แต่วางลงในไดเรกทอรีที่คัดลอก (จากขั้นตอนที่ 4)

การนํา Files และโฟลเดอร์ออก

การจัดเฟรมและวัตถุประสงค์ในส่วนต่างๆ

เราสามารถลบไฟล์และโฟลเดอร์ในบรรทัดคําสั่งได้ แต่การดําเนินการดังกล่าวจะเกิดขึ้นอย่างถาวร

กําลังนําไฟล์ออก

หากต้องการนําไฟล์ออก เราจะใช้คําสั่ง rm (ตัวย่อของ remove) ตามด้วยชื่อไฟล์

# delete a file in the working directory
rm unwanted_file.txt

# delete a file not in the working directory
rm ~/Desktop/unwanted_file.txt

การนําไดเรกทอรีที่ว่างเปล่าออก

หากต้องการนําไดเรกทอรีว่างออก เราจะใช้คําสั่ง rmdir ซึ่งเป็นตัวย่อของนําไดเรกทอรีออก ตามด้วยชื่อโฟลเดอร์

# delete an empty folder
rmdir empty_directory

# delete an empty folder
rmdir ~/Documents/my_files/empty_directory

การนําไดเรกทอรีที่ไม่ว่างเปล่าออก

หากต้องการนําโฟลเดอร์ที่ไม่ว่างเปล่าออก เราต้องใส่แฟล็ก -R ที่เป็นตัวย่อของการเกิดซ้ํา หลังคําสั่ง rm ที่บอกคอมพิวเตอร์ให้ลบเนื้อหาภายในโฟลเดอร์ เพื่อเป็นทางลัด นักพัฒนาซอฟต์แวร์บางรายใช้แฟล็ก -Rf ซึ่งบังคับให้นําทุกอย่างออก (มิฉะนั้นคุณอาจได้รับข้อความแจ้งเกี่ยวกับการลบไฟล์หรือโฟลเดอร์ย่อยบางรายการ)

# delete a folder which contains other files or folders
rm -R directory_which_isnt_empty

# delete a folder which contains other files or folders
rm -R ~/Downloads/directory_which_isnt_empty

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

ภารกิจย่อย

  1. สร้างไฟล์ 4 รายการ
  2. ลบไฟล์ 2 ไฟล์
  3. สร้างโฟลเดอร์
  4. สร้างโฟลเดอร์อื่นและสร้างไฟล์ในโฟลเดอร์นี้
  5. ลบไดเรกทอรีทั้ง 2 รายการ

คุณค้นหาโค้ดสําหรับห้องทดลองนี้ได้ในโฟลเดอร์ต่อไปนี้ภายในที่เก็บของนักเรียนซึ่งคุณดาวน์โหลดจาก GitHub: command-line/labs/around-the-world

ที่มา

ภาคการศึกษาอื่นในต่างประเทศอยู่ใกล้ๆ แล้วถึงเวลาเริ่มวางแผนการเดินทางในยุโรปแล้ว...

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

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

มู้ด! ด้วยเวทมนตร์ของบรรทัดคําสั่ง คุณจะได้แก้ไขในทันที

งาน

ตรวจสอบว่าทุกเมืองอยู่ในประเทศที่ถูกต้องและโฟลเดอร์เมืองแต่ละเมืองมีอนุสาวรีย์ที่ถูกต้องอยู่ภายใน โปรดใช้ความระมัดระวัง เพราะคุณอาจได้เจอที่หอไอเฟลในอัมสเตอร์ดัม

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

เมื่อแน่ใจว่าทุกอย่างมาถูกที่แล้ว ก็ถึงตาคุณเพื่อรับคําสั่งในอีก 2-3 เดือนข้างหน้าแล้ว ระดมความคิดหาเมือง ประเทศ และอนุสาวรีย์ใหม่ๆ ที่คุณต้องการเพื่อดูและเพิ่มลงในแผนผังไฟล์

ยินดีด้วย คุณได้เรียนรู้การพูดคอมพิวเตอร์อย่างเป็นทางการแล้ว พร้อมก้าวไปอีกขั้นหรือยัง มาคุยกันเรื่องส่วนขยาย...

ส่วนขยาย

  1. รวมไฟล์ทั้งหมดเข้าด้วยกัน แล้วย้ายไปอยู่ในเมืองที่ต้องการ จัดระเบียบไฟล์อีกครั้งโดยอยู่ในเมืองนั้น
  2. ลองเล่นเกมบรรทัดคําสั่งสนุกๆ เกมด้านล่างนี้
    Terอุณหภูมิลบ Game
    เกมขั้นสูง (พร้อม Google)
  3. ถ้าคุณชื่นชอบ Star Wars ตัวยง ลองเรียกใช้ telnet towel.blinkenlights.nl ในบรรทัดคําสั่งและกด Enter.... (โปรดทราบว่าใน MacOS เวอร์ชันล่าสุด คําสั่ง telnet จะไม่ติดตั้งอีกต่อไปโดยค่าเริ่มต้น ในกรณีนี้ คุณจะใช้คําสั่ง nc towel.blinkenlights.nl 23 แทนได้)

คุณค้นหาโค้ดสําหรับห้องทดลองนี้ได้ในโฟลเดอร์ต่อไปนี้ภายในที่เก็บของนักเรียนซึ่งคุณดาวน์โหลดจาก GitHub: command-line/labs/bashing-away-repetition

หากพร้อมที่จะใช้การกล่าวซ้ําๆ สําหรับการใช้บรรทัดคําสั่งรายวันแล้ว เยี่ยมไปเลย

ที่มา

หากมีสิ่งที่โปรแกรมเมอร์ไม่ชอบอยู่ 1 รายการ ก็จะถือเป็นการกล่าวซ้ําๆ ในฐานะนักวิทยาศาสตร์คอมพิวเตอร์ เรามีหน้าที่ทําให้คอมพิวเตอร์ของเราทํางานมากที่สุดเท่าที่จะเป็นไปได้ การเขียนสคริปต์ Bash จะช่วยให้เราใช้บรรทัดคําสั่งได้อย่างมีประสิทธิภาพมากขึ้น

อันดับแรก อะไรคือสคริปต์ Bash

คําถามของ GREAT โชคดีที่ Ryan Chadwick เพื่อนของเราช่วยส่งต่อเรื่องนี้ให้ที่ดีมากในการค้นหาบทแนะนําบรรทัดคําสั่ง

สคริปต์ Bash ช่วยให้เรากําหนดชุดการกระทําที่คอมพิวเตอร์จะทําได้โดยไม่ต้องป้อนคําสั่งเอง สคริปต์อาจเป็นเครื่องมือที่มีประโยชน์หากมีงานที่ต้องทําบ่อยครั้งหรือซ้ํากัน

ไม่มีการกล่าวซ้ํา นี่แหละคือสิ่งที่ฉันพูดถึง

บทแนะนำ

ก่อนอื่น คุณจะต้องเรียกใช้สิทธิ์คอมพิวเตอร์ จึงจะเรียกใช้สคริปต์ได้ ซึ่งทําได้ด้วยการเรียกใช้คําสั่งด้านล่าง

chmod 755 myScript.sh

ได้เลย ได้เวลาเขียนโปรแกรมแรกแล้ว ไปที่ myScript.sh (ดูว่าคุณเปิดไฟล์จากบรรทัดคําสั่งได้หรือไม่) ในตอนท้ายของไฟล์ ให้เพิ่มสิ่งต่อไปนี้

echo "Hello World"

ตอนนี้ให้เรียกใช้แล้ว:

./myScript.sh

ในเทอร์มินัล ** TA DA ** คุณควรเห็น " Hello World" พิมพ์ในเทอร์มินัล

การเฉลิมฉลอง

ทุกอย่างที่คุณเขียนในสคริปต์ Bash จะทํางานเหมือนว่าคุณได้พิมพ์ไปยังเทอร์มินัล มาดูตัวอย่างอีก 1 ตัวอย่างก่อนที่จะเข้าสู่ส่วนขยายกัน ขั้นแรก ให้สร้างไฟล์สําหรับสคริปต์ ซึ่งจะเรียกว่าอะไรก็ได้ที่คุณต้องการ แต่ควรมีนามสกุลไฟล์ .sh ถัดไป โปรดตรวจสอบว่าคุณให้สิทธิ์สคริปต์แล้วโดยพิมพ์ chmod 755 จากนั้นป้อนชื่อสคริปต์ในเทอร์มินัลแล้วกด Enter ทุกครั้งที่เริ่มต้นสคริปต์ Bash ใหม่ คุณควรดําเนินการ 2 ขั้นตอนนี้ให้เสร็จสมบูรณ์

คําท้าเริ่มต้น

คราวนี้ลองเขียนสคริปต์ที่สร้างโฟลเดอร์ใหม่ เราทราบว่าคําสั่งใดสร้างโฟลเดอร์ใหม่ หากคุณกําลังคิดถึงคําที่ขึ้นต้นด้วย m และลงท้ายด้วย kdir แสดงว่าคุณมาถูกทางแล้ว เขียนคําสั่งที่จะสร้างโฟลเดอร์ใหม่และตั้งชื่อให้ไฟล์เจ๋งๆ ในไฟล์ .sh ใหม่ แล้วเรียกใช้ในเทอร์มินัล

หากวิธีดังกล่าวได้ผล ให้ไปยังความท้าทายอื่นๆ ที่ระบุไว้ด้านล่าง หากยังสับสนอยู่เล็กน้อย ให้ลองมองจากห้องทดลองทั่วโลกของคุณ และคิดถึงวิธีสร้างโฟลเดอร์ประเทศและเมืองใหม่

อย่ากลัวที่จะใช้บทแนะนําที่ลิงก์ด้านบน และพร้อมฝึกทักษะ Google ที่ดีที่สุดของคุณ เขียนและเรียกใช้สคริปต์ที่ทําสิ่งต่อไปนี้

งานหลัก

  1. เพิ่มคําสั่งไปยังไฟล์ที่คุณสร้างด้านบนซึ่งนําทางไปยังโฟลเดอร์ที่คุณสร้าง (เราใช้คําสั่งใดเพื่อเปลี่ยนไดเรกทอรี)
  • ประทับตราชื่อโฟลเดอร์ใหม่ของคุณ เช่น โปรแกรมของคุณควรสร้างโฟลเดอร์ชื่อ "2017-12-07my_super_cool_folder"
  1. พิมพ์ "ไดเรกทอรีปัจจุบันของฉันคือ: " ตามด้วยไดเรกทอรีที่ทํางานของคุณ & "นี่คือรายการทุกอย่างในไดเรกทอรีนี้! " ตามด้วยเนื้อหาของไดเรกทอรีปัจจุบันของคุณ
  2. หาวิธีป้อนข้อมูลสคริปต์ Bash แล้วสร้างไฟล์ตามสตริงอินพุตนั้น บทแนะนําที่ลิงก์ไว้ก่อนหน้านี้ในห้องปฏิบัติการมีตัวอย่างที่ดีในส่วนตัวแปรที่น่าลองใช้
  3. ขอชื่อผู้ใช้แล้วพิมพ์ "สวัสดี ยินดีที่ได้รู้จักใส่ชื่อของผู้ใช้ที่นี่"
  • ลองขอข้อมูลเพิ่มเติมจากผู้ใช้และสร้างข้อความที่ปรับแต่งให้เหมาะกับผู้ใช้

บริบท

บรรทัดคําสั่ง (หรือเทอร์มินัล) สร้างการโต้ตอบโดยตรงกับระบบปฏิบัติการคอมพิวเตอร์ (OS) ซึ่งก็คือทุกอย่างที่อินเทอร์เฟซผู้ใช้กราฟิก (GUI) ทําผ่านคําสั่งทางข้อความ ตั้งแต่การนําทางไปจนถึงไฟล์ใหม่ ไปจนถึงการเรียกใช้สคริปต์ ระบบจะใช้บรรทัดคําสั่งเพื่อเปิดไฟล์และเริ่มสภาพแวดล้อมในการพัฒนาซอฟต์แวร์เมื่อใช้ Google App Engine

การทํางานของบรรทัดคําสั่ง

การเข้าถึงเทอร์มินัล

แป้นพิมพ์ลัดของ Mac:

  • เปิด Spotlight ด้วย Command + Space
  • พิมพ์ Terminal ในSpotlight Search
# See your current location - abbreviation for 'print working directory'.
pwd

# Change to a new location - abbreviation for 'change directory'.
cd /Users/jsmith/Downloads

# Navigate into a child directory called `some_directory`. This only works if
# `some_directory` is a child of the current directory.
cd some_directory

# Navigate into the parent of the current directory. `..` is shorthand for parent.
cd ..

# Return home.
cd

# Change directories to a folder called `my_folder` that is within the current
# directory.
cd my_folder ```

#### File Path Shorthand `~`

The `~` is generally short for "home". Home can be configured to mean different
things for different users and across different operating systems, but in the
example above, for a Mac user named "jsmith", the `~` is short for that user's
home directory: `/Users/jsmith`.

This means that `~/Downloads` and `/Users/jsmith/Downloads` are the same for
this user. But starting with a `~` allows us to specify absolute file paths
(agnostic of your current working directory, and starting at the root `/`)
without having to write out a full path each time.

### <a id="view"></a>Viewing the Contents of Folders

```bash
# See files and folders in current location - this is an abbreviation for 'list'.
ls

การสร้าง &โฟลเดอร์

การสร้างไฟล์

# Make a file - this will create a file in the current folder.
touch my_text_file.txt

# Make a file - this will create a file on the Desktop.
touch ~/Desktop/my_new_style_sheet.css

# Make multiple files - this will create multiple files in the current folder.
touch my_new_js_file.js my_new_html_file.html my_second_html_file.html

การสร้างโฟลเดอร์

# Make a folder - this will create a directory in the current folder.
mkdir my_new_folder

# Make a folder - this will create a directory on your Desktop.
mkdir ~/Desktop/my_new_desktop_folder

# Make multiple folders - this will create multiple folders in the current
# directory.
mkdir folder_one folder_two folder_three

การย้ายไฟล์และโฟลเดอร์

การย้ายไฟล์

# Move a file - this will move the file `my_file.txt` into the folder named
# `my_folder` that is in the current folder.
mv my_file.txt my_folder
# Note that this will rename the file instead of moving it if the destination
# folder does not yet exist.  Read below for more details on renaming.

# Move a file - this will move the file `my_file.txt` into the folder named
# `my_desktop_folder` that is located on the Desktop.
mv my_file.txt ~/Desktop/my_desktop_folder

การย้ายโฟลเดอร์

# Move a directory - this will move the folder `my_child_folder` into the
# folder named `my_parent_folder` that is in the current folder.
mv my_child_folder my_parent_folder

# Move a directory - this will move the folder `my_folder` into the folder
# named `my_desktop_folder` that is located on the Desktop.
mv my_folder ~/Desktop/my_desktop_folder

กําลังย้ายเปลี่ยนชื่อ

โปรดทราบว่า mv เป็นคําสั่งเดียวกับที่ใช้เปลี่ยนชื่อไฟล์หรือโฟลเดอร์

# Rename a file from `old_name.txt` to `new_name.txt`.
mv old_name.txt new_name.txt

กําลังคัดลอกไฟล์และโฟลเดอร์

การคัดลอกไฟล์

# Copy a file named `my_file.txt` from your Desktop folder to your Documents
# folder.
cp ~/Desktop/my_file.txt ~/Documents

# Copy a file named `my_file.txt` to a file called `my_file_copy.txt` within
# the same folder.
cp my_file.txt my_file_copy.txt

การคัดลอกโฟลเดอร์

# Copy a directory named `my_folder` (and its contents) from your Desktop
# folder to a folder called `my_folder_copy` in your Documents folder.
cp -r ~/Desktop/my_folder ~/Documents/my_folder_copy

# Copy a directory named `my_folder` (and its contents) from the current
# working directory to a folder called `my_folder_copy` in the current working
# directory.
cp -r my_folder my_folder_copy

การลบไฟล์และโฟลเดอร์

การลบไฟล์

# Delete a file in the current working directory.
rm unwanted_file.txt

# Delete a file using its exact location and name.
rm ~/Desktop/unwanted_file.txt

การลบโฟลเดอร์

# Delete an empty folder.
rmdir empty_directory

# Delete a folder which contains other files or folders.
rm -r directory_which_isnt_empty

เคล็ดลับและคำแนะนำ

  • ฝึกใช้บรรทัดคําสั่ง แม้ว่าคุณจะคิดว่าไม่จําเป็นก็ตาม คุณจะดีขึ้นเรื่อยๆ
  • คีย์ tab จะเติมชื่อไฟล์หรือโฟลเดอร์โดยอัตโนมัติ (คํานึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่)
  • หากมีไฟล์หรือโฟลเดอร์ที่ตรงกันเหลืออยู่ 1 รายการ ระบบจะเติมข้อความอัตโนมัติ
  • หากมีไฟล์หรือโฟลเดอร์ที่ตรงกันหลายรายการ ให้กด Tab 2 ครั้งเพื่อดูรายการการจับคู่ที่เหลือ
  • ลูกศรขึ้น / ลงจะวนประวัติคําสั่งของคุณเพื่อให้คุณไม่ต้องพิมพ์คําสั่งอีกครั้ง
  • ใช้คําสั่ง clear เพื่อล้างหน้าต่างเทอร์มินัล การดําเนินการนี้จะเก็บงานก่อนหน้าทั้งหมดของคุณ เลื่อนขึ้นเพื่อดูงานนั้น
  • ใช้ reset เพื่อรีสตาร์ทเทอร์มินัล วิธีนี้จะไม่นํางานก่อนหน้านี้ของคุณมาแสดงบนหน้าจอ แต่สามารถแก้ไขปัญหาได้หลายอย่างหากเทอร์มินัลเริ่มทํางานในลักษณะที่คาดเดาไม่ได้
  • กด option + arrow เพื่อเลื่อนเคอร์เซอร์ทีละคํา

สรุปแนวทางปฏิบัติแนะนํา

  • ไปยังส่วนต่างๆ ของเทอร์มินัลโดยใช้ cd, cd .. หรือ cd <folder name>
  • ดูเนื้อหาของโฟลเดอร์โดยใช้ ls
  • สร้างไฟล์โดยใช้ touch สร้างโฟลเดอร์โดยใช้ mkdir
  • ย้ายไฟล์และโฟลเดอร์โดยใช้ mv <item to move> <destination>
  • คัดลอกไฟล์และโฟลเดอร์โดยใช้ cp <item to copy> <destination>
  • ลบไฟล์และโฟลเดอร์โดยใช้ rm <item to remove>

คำถามข้อที่ 1

คุณจะใช้ไดเรกทอรีใดเพื่อระบุไดเรกทอรีที่ใช้อยู่ในปัจจุบัน

  1. pwd
  2. ls
  3. cd
  4. mkdir
  5. touch

คำถามข้อที่ 2

คุณจะเลื่อนขึ้น 2 ระดับจากไดเรกทอรีการทํางานปัจจุบันอย่างไร

  1. mv ~
  2. cd ../..
  3. mv up/up
  4. cd ^(2)

คำถามที่ 3

คุณจะใช้คําสั่งใดในการเปลี่ยนชื่อไฟล์

  1. mv
  2. cd
  3. ls
  4. python
  5. rename

คำถามที่ 4

เหตุใดคําสั่ง mv script.py จึงเกิดข้อผิดพลาด

  1. เนื่องจาก "script.py' เป็นชื่อไฟล์ที่ไม่ถูกต้อง
  2. เนื่องจากคําสั่ง mv ติดตามด้วยข้อมูลอื่นๆ ไม่ได้
  3. นี่เป็นคําถามหลอกลวง แต่ไม่ทําให้เกิดข้อผิดพลาด
  4. เนื่องจากการย้ายไฟล์จะต้องมีอาร์กิวเมนต์อย่างน้อย 2 รายการ คือ เป้าหมายและปลายทาง

คำถามที่ 5

คําสั่ง cd ~ ทําอะไรได้บ้าง

  1. เปลี่ยนไดเรกทอรีการทํางานเป็นไดเรกทอรีหน้าแรก
  2. ใช้คําสั่งก่อนหน้าซ้ํา
  3. ใช้อัลกอริทึมเพื่อระบุคําสั่งที่มีประโยชน์มากที่สุดในขณะนี้
  4. มีข้อผิดพลาด

คำถามที่ 6

ข้อใดต่อไปนี้ไม่ใช่เหตุผลที่ควรใช้แท็บเพื่อเติมชื่อไฟล์อัตโนมัติ

  1. เพราะช่วยประหยัดเวลา
  2. เนื่องจากจะช่วยลดข้อผิดพลาดในการสะกด
  3. เนื่องจากต้องใช้กําลังในการประมวลผลน้อยกว่า

คำถามที่ 7

หากนักพัฒนาซอฟต์แวร์รายใหม่พยายามสร้างไฟล์ชื่อ "my script.py" เหตุใดคําสั่ง touch my script.py จึงใช้งานไม่ได้

  1. เนื่องจาก touch สร้างไฟล์ใหม่ไม่ได้
  2. เนื่องจาก .py ไม่ใช่นามสกุลไฟล์ที่ถูกต้อง
  3. เนื่องจากจะสร้างไฟล์ 2 ไฟล์ ไฟล์หนึ่งเรียกว่า "my" และอีกไฟล์หนึ่งเรียกว่า "script.py" แทนที่จะเป็นเพียงไฟล์เดียว
  4. เนื่องจากไม่สามารถสร้างไฟล์ใหม่จากบรรทัดคําสั่ง

คำถามข้อที่ 1

คุณจะใช้ไดเรกทอรีใดเพื่อระบุไดเรกทอรีที่ใช้อยู่ในปัจจุบัน

pwd

คำถามข้อที่ 2

คุณจะเลื่อนขึ้น 2 ระดับจากไดเรกทอรีการทํางานปัจจุบันอย่างไร

cd ../.. จะเลื่อนขึ้น 2 ระดับ (แต่ละ .. แสดงถึงระดับด้านบน 1 ระดับ)

คำถามที่ 3

คุณจะใช้คําสั่งใดในการเปลี่ยนชื่อไฟล์

ระบบใช้ mv เพื่อย้ายไฟล์จากตําแหน่งหนึ่งไปยังอีกตําแหน่งหนึ่ง และใช้เพื่อเปลี่ยนชื่อไฟล์ได้ด้วย

คำถามที่ 4

เหตุใดคําสั่ง mv script.py จึงเกิดข้อผิดพลาด

คําสั่ง mv ต้องใช้อาร์กิวเมนต์ 2 ตัว ไฟล์ต้นฉบับและไฟล์ปลายทาง

คำถามที่ 5

คําสั่ง cd ~ ทําอะไรได้บ้าง

การดําเนินการนี้จะเปลี่ยนไดเรกทอรีการทํางานให้เป็นไดเรกทอรีหน้าแรก สัญลักษณ์พิเศษ ~ ใช้เพื่อระบุไดเรกทอรีหน้าแรกของผู้ใช้ปัจจุบัน ซึ่งสามารถใช้ร่วมกับชื่อผู้ใช้อื่น: ~user2 เพื่อชี้ไปที่โฟลเดอร์หน้าแรก

คำถามที่ 6

ข้อใดต่อไปนี้ไม่ใช่เหตุผลที่ควรใช้แท็บเพื่อเติมชื่อไฟล์อัตโนมัติ

เนื่องจากพลังงานในการประมวลผลน้อยลงจะไม่ถูกต้อง tab ต้องใช้กําลังในการประมวลผล (ไม่สําคัญ) ในการสแกนโฟลเดอร์เพื่อหาชื่อไฟล์เพื่อเติมคําอัตโนมัติ แต่ช่วยประหยัดเวลาและหลีกเลี่ยงการสะกดผิด

คำถามที่ 7

หากนักพัฒนาซอฟต์แวร์รายใหม่พยายามสร้างไฟล์ชื่อ "my script.py" เหตุใดคําสั่ง touch my script.py จึงใช้งานไม่ได้

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

touch "my script.py"

คำถามข้อที่ 1

คําสั่งเทอร์มินัลสําหรับการเปลี่ยนไดเรกทอรีมีดังนี้

  1. move
  2. mkdir
  3. pwd
  4. cd

คำถามข้อที่ 2

คุณจะเรียกใช้คําสั่งใดหากคุณต้องการไปที่โฟลเดอร์ระดับบนสุดของไดเรกทอรีการทํางานปัจจุบัน

  1. cd up
  2. cd .
  3. cd ..
  4. cd ~

คำถามที่ 3

คําสั่งใดที่ใช้ในการสร้างไฟล์

  1. touch
  2. mkdir
  3. create
  4. pwd

คำถามที่ 4

คําสั่งใดต่อไปนี้จะสร้างไฟล์ 2 ไฟล์ชื่อ index.html และ style.css

  1. touch index.html, touch style.css
  2. touch index.html, style.css
  3. touch index.html style.css
  4. touch index.html + style.css

คำถามที่ 5

คุณใช้คําสั่งใดในการเปลี่ยนชื่อไฟล์หรือโฟลเดอร์

  1. rename
  2. move
  3. mv
  4. rm

คำถามที่ 6

การติดธงrm และcp คําสั่งใดจะต้องทํางานในโฟลเดอร์

  1. -f
  2. -r
  3. -x
  4. -d

คำถามที่ 7

หากต้องการย้าย projects ไปยัง ~/Documents และเปลี่ยนชื่อเป็น Projects คําสั่งใดจะต้องเว้นว่างไว้

cd ~
mv projects ~/Documents
# fill in the blank here
mv projects Projects
  1. pwd
  2. cd projects
  3. mv ~ projects
  4. cd ~/Documents
  5. ls

คำถามที่ 8

คําสั่งต่อไปนี้จะดําเนินการอย่างไร

rm -r projects

  1. ลบไฟล์ชื่อ projects
  2. ลบโฟลเดอร์ชื่อ projects
  3. เปลี่ยนชื่อไฟล์ชื่อ projects
  4. ค้นหาเนื้อหาของไดเรกทอรีปัจจุบันสําหรับ projects

คำถามข้อที่ 1

คําสั่งเทอร์มินัลสําหรับการเปลี่ยนไดเรกทอรีมีดังนี้

คําสั่งเทอร์มินัลสําหรับเปลี่ยนไดเรกทอรีคือ cd คําสั่งนี้เป็นตัวย่อสําหรับ "เปลี่ยนไดเรกทอรี"

คำถามข้อที่ 2

คุณจะเรียกใช้คําสั่งใดหากคุณต้องการไปที่โฟลเดอร์ระดับบนสุดของไดเรกทอรีการทํางานปัจจุบัน

คําสั่งไปยังโฟลเดอร์ระดับบนสุดคือ cd ..

คำถามที่ 3

คําสั่งใดที่ใช้ในการสร้างไฟล์

วิธีสร้างไฟล์คือ touch

คำถามที่ 4

คําสั่งใดต่อไปนี้จะสร้างไฟล์ 2 ไฟล์ชื่อ index.html และ style.css

คําสั่ง touch index.html style.css จะสร้างไฟล์ 2 ไฟล์ ไม่จําเป็นต้องใช้เครื่องหมายจุลภาคและสามารถสร้างไฟล์ได้ทุกจํานวนโดยคั่นด้วยการเว้นวรรค

คำถามที่ 5

คุณใช้คําสั่งใดในการเปลี่ยนชื่อไฟล์หรือโฟลเดอร์

แม้ว่าย่อมาจาก "move" และใช้ในการย้ายไฟล์หรือโฟลเดอร์ได้ แต่ mv ยังใช้ในการเปลี่ยนชื่อไฟล์และโฟลเดอร์ได้ด้วย

คำถามที่ 6

การติดธงrm และcp คําสั่งใดจะต้องทํางานในโฟลเดอร์

คําสั่ง rm และ cp ต้องใช้แฟล็ก -r จึงจะทํางานในโฟลเดอร์ได้ เนื่องจากแฟล็ก -r ย่อมาจาก "recursive" และเรียกใช้คําสั่งอีกครั้งสําหรับไฟล์และโฟลเดอร์ที่อยู่ในโฟลเดอร์นั้น

คำถามที่ 7

หากต้องการย้าย projects ไปยัง ~/Documents และเปลี่ยนชื่อเป็น Projects คําสั่งใดจะต้องเว้นว่างไว้

cd ~
mv projects ~/Documents
# fill in the blank here
mv projects Projects

เนื่องจากเราเริ่มต้นในไดเรกทอรีหลัก เราจะต้องเรียกใช้ cd ~/Documents เพื่อให้คําสั่งสุดท้ายสามารถเรียกใช้ในไดเรกทอรีที่ถูกต้อง

คำถามที่ 8

คําสั่งต่อไปนี้จะดําเนินการอย่างไร

rm -r projects

คําสั่งจะลบไฟล์หรือโฟลเดอร์ที่เรียกว่า projects เนื่องจากมีการเรียกด้วย -r หรือธงที่เกิดซ้ํา หากไม่มีแฟล็กนี้ คําสั่งนี้จะลบออกจากไฟล์ที่ใช้ชื่อนั้นเท่านั้น