บรรทัดคําสั่งเป็นวิธีควบคุมคอมพิวเตอร์ที่ไม่มี 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 คําสั่งเหล่านี้เป็นตัวย่อหรือตัวย่อของคําภาษาอังกฤษ
ไดเรกทอรีงานพิมพ์ (pwd
)
เมื่อคุณกําลังไปยังส่วนต่างๆ เครื่องชําระเงิน การรู้ตําแหน่งที่คุณอยู่ก็สําคัญ (ซึ่งแปลตรงสู่ชีวิตจริงด้วยเช่นกัน เช่น ถ้าอยากไปไหน คุณต้องทราบตําแหน่งปัจจุบัน)
# 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 กรณีต่อไปนี้
- ไดเรกทอรีที่คุณต้องการนําทางไม่สามารถเข้าถึงได้จากไดเรกทอรีการทํางานปัจจุบันของคุณ
- มีไดเรกทอรีที่มีชื่อเริ่มต้นคล้ายกัน 2 ไดเรกทอรี (เช่น
Documents
และDownloads
) และคุณให้ข้อมูลไม่เพียงพอสําหรับการเติมข้อความอัตโนมัติเพื่อให้ทราบว่าต้องการไดเรกทอรีใด กดtab
อีกครั้งเพื่อดูรายการไดเรกทอรีที่ตรงกับสิ่งที่คุณพิมพ์ จากนั้นพิมพ์เพิ่มอีกเล็กน้อย (พอมีเวลาแค่ 1 ข้อ) แล้วกดtab
อีกครั้ง - คุณพิมพ์การพิมพ์ผิดในช่วงครึ่งแรกของคําไปแล้ว
ยิ่งคุณใช้แท็บเติมคําสั่งอัตโนมัติได้เร็วเท่าไร คุณก็ยิ่งมีโอกาสจัดการกับสถานการณ์ที่น่าหงุดหงิดซึ่งคําสั่งของคุณไม่ทํางานได้เร็วขึ้นเท่านั้น
ผู้เผยแพร่โฆษณาระดับบนสุดและรายย่อย
ไดเรกทอรีและไฟล์อาจมีความสัมพันธ์แบบย่อยและหลักกันได้ หาก 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 สิ่งนี้เสมอ
- เราใช้คําสั่ง
mv
ซึ่งเป็นตัวย่อของย้าย - ทําตามคําสั่งย้ายพร้อมระบุชื่อไฟล์หรือโฟลเดอร์ที่ต้องการย้าย
- ติดตามชื่อไฟล์ที่มีปลายทางที่ต้องการย้ายไฟล์
เช่น หากคุณมีโครงสร้างไฟล์เช่นนี้
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
ด้วย ซึ่งหมายความว่าหากคุณย้ายไฟล์ไปยังไดเรกทอรีที่ไม่มีอยู่ หรือสะกดผิดปลายทาง ชื่อไฟล์จะเปลี่ยนชื่อแทนการย้าย
ภารกิจย่อย
- สร้างไฟล์ข้อความ (.txt) 5 ไฟล์
- สร้างไดเรกทอรีใหม่
- ย้ายไฟล์ 5 ไฟล์ที่คุณสร้างไปยังโฟลเดอร์
- สร้างโฟลเดอร์และย้ายโฟลเดอร์ใหม่นี้ภายในโฟลเดอร์อื่น
กําลังคัดลอกไฟล์ &ไดเรกทอรี
การจัดเฟรมและวัตถุประสงค์ในส่วนต่างๆ
ในการสร้างเว็บแอป เราอาจต้องการทําสําเนาไฟล์ (หากเรากําลังสร้างหน้าเว็บที่คล้ายกัน 2 หน้า เราอาจต้องเริ่มต้นใหม่ทั้งหมด) และไวยากรณ์สําหรับคําสั่ง cp
(สําเนา) จะคล้ายกับไวยากรณ์ของ mv
จริงๆ
การคัดลอกไฟล์
คําสั่งคัดลอกมี 3 ส่วนดังนี้
- คําสั่ง
cp
- ตัวย่อของ copy - ชื่อไฟล์ที่จะคัดลอก
- ชื่อของสําเนา (หากอยู่ในโฟลเดอร์เดียวกัน) หรือสถานที่ตั้งและชื่อ (หากย้ายไปยังโฟลเดอร์อื่น)
# 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/
การมีไฟล์ที่มีชื่อเดียวกันจํานวนมากมายอาจสร้างความสับสนได้ ดังนั้นควรใช้วิธีนี้เฉพาะเมื่อคุณมั่นใจแล้วว่าตัวเองต้องการ
การคัดลอกไดเรกทอรี
การคัดลอกโฟลเดอร์หรือไดเรกทอรีจะซับซ้อนขึ้นเล็กน้อย เพราะคุณอาจต้องคัดลอกเฉพาะโฟลเดอร์ รวมทั้งโฟลเดอร์อื่นๆ ภายในด้วย
- คําสั่ง
cp -R
- ตัวย่อของ recursive - ใช้คํานี้สําหรับทั้งโฟลเดอร์ที่ไม่ว่างเปล่า - ชื่อแหล่งที่มา (โฟลเดอร์หรือไฟล์ที่เราต้องการย้าย)
- ชื่อของสําเนา (หากอยู่ในโฟลเดอร์เดียวกัน) หรือสถานที่ตั้งและชื่อ (หากย้ายไปยังโฟลเดอร์อื่น)
คําเตือน: เมื่อระบุชื่อสําหรับสําเนา ระบบจะไม่สร้างไฟล์หรือโฟลเดอร์นั้นไว้ก่อนหน้านี้เมื่อคุณทําสําเนา หากสร้างไฟล์ก่อนเรียกใช้คําสั่งคัดลอก ไฟล์นั้นจะเขียนทับทุกอย่างที่อยู่ก่อนหน้านี้ในไฟล์ ดังนั้นโปรดระมัดระวัง
# 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
เรียกว่าแฟล็ก ธงจะเริ่มต้นด้วยเครื่องหมายขีดกลางเสมอ และใช้ร่วมกับคําสั่งเพื่อมอบวิธีดําเนินการที่เป็นคําสั่งที่เฉพาะเจาะจงยิ่งขึ้น
ภารกิจย่อย
- สร้างไฟล์ชื่อ
my_original.txt
- ทําสําเนา
my_original.txt
ให้ตั้งชื่อใหม่ในโฟลเดอร์เดียวกัน - สร้างไดเรกทอรีใหม่
- ทําสําเนาไดเรกทอรีนั้น แต่ตั้งชื่อชื่ออื่น
- ทําสําเนาไฟล์ที่คัดลอก (จากขั้นตอนที่ 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
ไม่เหมือนกับถังขยะรีไซเคิลหรือส่วนที่ลบไปแล้วของอีเมล ซึ่งไฟล์เหล่านี้จะไม่สามารถกู้คืนได้อย่างง่ายดาย โปรดใช้ความระมัดระวังเมื่อลบไฟล์ด้วยวิธีนี้
ภารกิจย่อย
- สร้างไฟล์ 4 รายการ
- ลบไฟล์ 2 ไฟล์
- สร้างโฟลเดอร์
- สร้างโฟลเดอร์อื่นและสร้างไฟล์ในโฟลเดอร์นี้
- ลบไดเรกทอรีทั้ง 2 รายการ
คุณค้นหาโค้ดสําหรับห้องทดลองนี้ได้ในโฟลเดอร์ต่อไปนี้ภายในที่เก็บของนักเรียนซึ่งคุณดาวน์โหลดจาก GitHub: command-line/labs/around-the-world
ที่มา
ภาคการศึกษาอื่นในต่างประเทศอยู่ใกล้ๆ แล้วถึงเวลาเริ่มวางแผนการเดินทางในยุโรปแล้ว...
ในอนาคตอันใกล้ การใช้ชีวิตที่จริงจังเป็นเวลา 3 เดือน คุณจึงมั่นใจได้ว่าคุณจะได้รับประโยชน์สูงสุดจากการเดินทางทุกสุดสัปดาห์
โชคดีที่คุณไม่ได้เริ่มต้นใหม่ทั้งหมดและเพื่อนของคุณได้เสนอกิจกรรมโปรดของพวกเขาจากภาคการศึกษาในต่างประเทศ ขออภัย ไฟล์บางไฟล์ปะปนกัน...
มู้ด! ด้วยเวทมนตร์ของบรรทัดคําสั่ง คุณจะได้แก้ไขในทันที
งาน
ตรวจสอบว่าทุกเมืองอยู่ในประเทศที่ถูกต้องและโฟลเดอร์เมืองแต่ละเมืองมีอนุสาวรีย์ที่ถูกต้องอยู่ภายใน โปรดใช้ความระมัดระวัง เพราะคุณอาจได้เจอที่หอไอเฟลในอัมสเตอร์ดัม
หากคุณมั่นใจจริงๆ ว่ามั่นใจเรื่องนี้แล้ว ให้ซ่อน GUI และเผชิญกับความท้าทายนี้จากบรรทัดคําสั่งโดยตรง คุณควรอยู่ในโฟลเดอร์ทั่วไปทั่วโลกขณะที่คุณดําเนินการทั้งหมด ซึ่งหมายถึงการใช้เส้นทางสัมบูรณ์เมื่ออ้างอิงโฟลเดอร์และไฟล์
เมื่อแน่ใจว่าทุกอย่างมาถูกที่แล้ว ก็ถึงตาคุณเพื่อรับคําสั่งในอีก 2-3 เดือนข้างหน้าแล้ว ระดมความคิดหาเมือง ประเทศ และอนุสาวรีย์ใหม่ๆ ที่คุณต้องการเพื่อดูและเพิ่มลงในแผนผังไฟล์
ยินดีด้วย คุณได้เรียนรู้การพูดคอมพิวเตอร์อย่างเป็นทางการแล้ว พร้อมก้าวไปอีกขั้นหรือยัง มาคุยกันเรื่องส่วนขยาย...
ส่วนขยาย
- รวมไฟล์ทั้งหมดเข้าด้วยกัน แล้วย้ายไปอยู่ในเมืองที่ต้องการ จัดระเบียบไฟล์อีกครั้งโดยอยู่ในเมืองนั้น
- ลองเล่นเกมบรรทัดคําสั่งสนุกๆ เกมด้านล่างนี้
Terอุณหภูมิลบ Game
เกมขั้นสูง (พร้อม Google) - ถ้าคุณชื่นชอบ 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 ที่ดีที่สุดของคุณ เขียนและเรียกใช้สคริปต์ที่ทําสิ่งต่อไปนี้
งานหลัก
- เพิ่มคําสั่งไปยังไฟล์ที่คุณสร้างด้านบนซึ่งนําทางไปยังโฟลเดอร์ที่คุณสร้าง (เราใช้คําสั่งใดเพื่อเปลี่ยนไดเรกทอรี)
- ประทับตราชื่อโฟลเดอร์ใหม่ของคุณ เช่น โปรแกรมของคุณควรสร้างโฟลเดอร์ชื่อ "
2017-12-07my_super_cool_folder
"
- พิมพ์ "ไดเรกทอรีปัจจุบันของฉันคือ: " ตามด้วยไดเรกทอรีที่ทํางานของคุณ & "นี่คือรายการทุกอย่างในไดเรกทอรีนี้! " ตามด้วยเนื้อหาของไดเรกทอรีปัจจุบันของคุณ
- หาวิธีป้อนข้อมูลสคริปต์ Bash แล้วสร้างไฟล์ตามสตริงอินพุตนั้น บทแนะนําที่ลิงก์ไว้ก่อนหน้านี้ในห้องปฏิบัติการมีตัวอย่างที่ดีในส่วนตัวแปรที่น่าลองใช้
- ขอชื่อผู้ใช้แล้วพิมพ์ "สวัสดี ยินดีที่ได้รู้จักใส่ชื่อของผู้ใช้ที่นี่"
- ลองขอข้อมูลเพิ่มเติมจากผู้ใช้และสร้างข้อความที่ปรับแต่งให้เหมาะกับผู้ใช้
บริบท
บรรทัดคําสั่ง (หรือเทอร์มินัล) สร้างการโต้ตอบโดยตรงกับระบบปฏิบัติการคอมพิวเตอร์ (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
คุณจะใช้ไดเรกทอรีใดเพื่อระบุไดเรกทอรีที่ใช้อยู่ในปัจจุบัน
pwd
ls
cd
mkdir
touch
คำถามข้อที่ 2
คุณจะเลื่อนขึ้น 2 ระดับจากไดเรกทอรีการทํางานปัจจุบันอย่างไร
mv ~
cd ../..
mv up/up
cd ^(2)
คำถามที่ 3
คุณจะใช้คําสั่งใดในการเปลี่ยนชื่อไฟล์
mv
cd
ls
python
rename
คำถามที่ 4
เหตุใดคําสั่ง mv script.py
จึงเกิดข้อผิดพลาด
- เนื่องจาก "
script.py
' เป็นชื่อไฟล์ที่ไม่ถูกต้อง - เนื่องจากคําสั่ง
mv
ติดตามด้วยข้อมูลอื่นๆ ไม่ได้ - นี่เป็นคําถามหลอกลวง แต่ไม่ทําให้เกิดข้อผิดพลาด
- เนื่องจากการย้ายไฟล์จะต้องมีอาร์กิวเมนต์อย่างน้อย 2 รายการ คือ เป้าหมายและปลายทาง
คำถามที่ 5
คําสั่ง cd ~
ทําอะไรได้บ้าง
- เปลี่ยนไดเรกทอรีการทํางานเป็นไดเรกทอรีหน้าแรก
- ใช้คําสั่งก่อนหน้าซ้ํา
- ใช้อัลกอริทึมเพื่อระบุคําสั่งที่มีประโยชน์มากที่สุดในขณะนี้
- มีข้อผิดพลาด
คำถามที่ 6
ข้อใดต่อไปนี้ไม่ใช่เหตุผลที่ควรใช้แท็บเพื่อเติมชื่อไฟล์อัตโนมัติ
- เพราะช่วยประหยัดเวลา
- เนื่องจากจะช่วยลดข้อผิดพลาดในการสะกด
- เนื่องจากต้องใช้กําลังในการประมวลผลน้อยกว่า
คำถามที่ 7
หากนักพัฒนาซอฟต์แวร์รายใหม่พยายามสร้างไฟล์ชื่อ "my script.py
" เหตุใดคําสั่ง touch my script.py
จึงใช้งานไม่ได้
- เนื่องจาก
touch
สร้างไฟล์ใหม่ไม่ได้ - เนื่องจาก
.py
ไม่ใช่นามสกุลไฟล์ที่ถูกต้อง - เนื่องจากจะสร้างไฟล์ 2 ไฟล์ ไฟล์หนึ่งเรียกว่า "
my
" และอีกไฟล์หนึ่งเรียกว่า "script.py
" แทนที่จะเป็นเพียงไฟล์เดียว - เนื่องจากไม่สามารถสร้างไฟล์ใหม่จากบรรทัดคําสั่ง
คำถามข้อที่ 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
คําสั่งเทอร์มินัลสําหรับการเปลี่ยนไดเรกทอรีมีดังนี้
move
mkdir
pwd
cd
คำถามข้อที่ 2
คุณจะเรียกใช้คําสั่งใดหากคุณต้องการไปที่โฟลเดอร์ระดับบนสุดของไดเรกทอรีการทํางานปัจจุบัน
cd up
cd .
cd ..
cd ~
คำถามที่ 3
คําสั่งใดที่ใช้ในการสร้างไฟล์
touch
mkdir
create
pwd
คำถามที่ 4
คําสั่งใดต่อไปนี้จะสร้างไฟล์ 2 ไฟล์ชื่อ index.html
และ style.css
touch index.html, touch style.css
touch index.html, style.css
touch index.html style.css
touch index.html + style.css
คำถามที่ 5
คุณใช้คําสั่งใดในการเปลี่ยนชื่อไฟล์หรือโฟลเดอร์
rename
move
mv
rm
คำถามที่ 6
การติดธงrm
และcp
คําสั่งใดจะต้องทํางานในโฟลเดอร์
-f
-r
-x
-d
คำถามที่ 7
หากต้องการย้าย projects
ไปยัง ~/Documents
และเปลี่ยนชื่อเป็น Projects
คําสั่งใดจะต้องเว้นว่างไว้
cd ~
mv projects ~/Documents
# fill in the blank here
mv projects Projects
pwd
cd projects
mv ~ projects
cd ~/Documents
ls
คำถามที่ 8
คําสั่งต่อไปนี้จะดําเนินการอย่างไร
rm -r projects
- ลบไฟล์ชื่อ
projects
- ลบโฟลเดอร์ชื่อ
projects
- เปลี่ยนชื่อไฟล์ชื่อ
projects
- ค้นหาเนื้อหาของไดเรกทอรีปัจจุบันสําหรับ
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
หรือธงที่เกิดซ้ํา หากไม่มีแฟล็กนี้ คําสั่งนี้จะลบออกจากไฟล์ที่ใช้ชื่อนั้นเท่านั้น