คู่มือบรรทัดคำสั่ง Linux ที่ดีที่สุด - บทช่วยสอน Bash แบบเต็ม

ยินดีต้อนรับสู่คำแนะนำที่ดีที่สุดของเราสำหรับ Linux Command Line บทช่วยสอนนี้จะแสดงเทคโนโลยีบรรทัดคำสั่งหลักของ Linux และแนะนำภาษาสคริปต์ Bash

Bash คืออะไร?

Bash (ย่อมาจาก Bourne Again SHell) คือ Unix shell และตัวแปลภาษาคำสั่ง เชลล์เป็นเพียงตัวประมวลผลมาโครที่รันคำสั่ง เป็นเชลล์ที่ใช้กันอย่างแพร่หลายมากที่สุดโดยค่าเริ่มต้นสำหรับการกระจาย Linux ส่วนใหญ่และตัวต่อสำหรับ Korn เชลล์ (ksh) และ C เชลล์ (csh)

หลายสิ่งที่สามารถทำได้ระบบปฏิบัติการ Linux สามารถทำได้ผ่านบรรทัดคำสั่ง ตัวอย่างบางส่วน ได้แก่ ...

  • การแก้ไขไฟล์
  • การปรับระดับเสียงของระบบปฏิบัติการ
  • ดึงหน้าเว็บจากอินเทอร์เน็ต
  • ทำงานอัตโนมัติที่คุณทำทุกวัน

คุณสามารถอ่านเพิ่มเติมเกี่ยวกับ bash ได้ที่นี่ผ่าน GNU Documentation และผ่านคู่มือ tldp

ใช้ bash บนบรรทัดคำสั่ง (Linux, OS X)

คุณสามารถเริ่มใช้ bash บนระบบปฏิบัติการ Linux และ OS X ส่วนใหญ่ได้โดยเปิดเทอร์มินัล ลองพิจารณาตัวอย่างง่ายๆของ hello world เปิดเทอร์มินัลของคุณและเขียนบรรทัดต่อไปนี้ (ทุกอย่างหลังเครื่องหมาย $):

[email protected]:~$ echo "Hello world!" Hello world!

อย่างที่คุณเห็นเราใช้คำสั่ง echo เพื่อพิมพ์สตริง“ Hello world!” ไปยังสถานีปลายทาง

การเขียนสคริปต์ทุบตี

คุณยังสามารถใส่คำสั่ง bash ทั้งหมดลงในไฟล์. sh และเรียกใช้จากบรรทัดคำสั่ง สมมติว่าคุณมีสคริปต์ทุบตีที่มีเนื้อหาต่อไปนี้:

#!/bin/bash echo "Hello world!"

#!มันน่าสังเกตว่าบรรทัดแรกของสคริปต์เริ่มต้นด้วย เป็นคำสั่งพิเศษที่ Unix ปฏิบัติแตกต่างกัน

เหตุใดเราจึงใช้ #! / bin / bash ที่จุดเริ่มต้นของไฟล์สคริปต์

นั่นเป็นเพราะมันเป็นแบบแผนเพื่อให้เชลล์โต้ตอบรู้ว่าตัวแปลชนิดใดที่จะรันสำหรับโปรแกรมที่ตามมา บรรทัดแรกบอก Unix ว่าไฟล์จะถูกเรียกใช้งานโดย / bin / bash นี่คือตำแหน่งมาตรฐานของ Bourne shell บนระบบ Unix ทุกระบบ การเพิ่ม #! / bin / bash เป็นบรรทัดแรกของสคริปต์ของคุณจะบอกให้ OS เรียกใช้เชลล์ที่ระบุเพื่อดำเนินการคำสั่งที่ตามมาในสคริปต์#!มักเรียกกันว่า“ แฮช - ปัง”“ ชีปัง” หรือ“ sha-bang” แม้ว่าจะดำเนินการได้ก็ต่อเมื่อคุณเรียกใช้สคริปต์ของคุณเป็นไฟล์ปฏิบัติการ ตัวอย่างเช่นเมื่อคุณพิมพ์./scriptname.extensionมันจะมองไปที่บรรทัดบนสุดเพื่อค้นหาล่ามในขณะที่การเรียกใช้สคริปต์เป็นbash scriptname.shบรรทัดแรกจะถูกละเว้น

จากนั้นคุณสามารถเรียกใช้สคริปต์ดังนี้: สำหรับการสร้างไฟล์ที่เรียกใช้งานได้คุณควรเรียกคำสั่งนี้ภายใต้ sudo chmod + x“ filename”

[email protected]:~$ ./myBashScript.sh Hello world!

สคริปต์มีเพียงสองบรรทัด ตัวแรกระบุว่าจะใช้ล่ามอะไรในการรันไฟล์ (ในกรณีนี้คือ bash) บรรทัดที่สองคือคำสั่งที่เราต้องการใช้ echo ตามด้วยสิ่งที่เราต้องการพิมพ์ซึ่งก็คือ“ Hello World”

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

[email protected]:~$ chmod u+x myBashScript.sh

จากนั้นเรียกใช้สคริปต์

บรรทัดคำสั่ง Linux: Bash Cat

Cat เป็นหนึ่งในคำสั่งที่ใช้บ่อยที่สุดในระบบปฏิบัติการ Unix

Cat ใช้เพื่ออ่านไฟล์ตามลำดับและพิมพ์ไปยังเอาต์พุตมาตรฐาน ชื่อนี้ได้มาจากฟังก์ชั่นของมันกับไฟล์cat enate

การใช้งาน

cat [options] [file_names]

ตัวเลือกที่ใช้บ่อยที่สุด:

  • -bบรรทัดเอาต์พุตที่ไม่ใช่ตัวเลขว่างเปล่า
  • -nหมายเลขบรรทัดเอาต์พุตทั้งหมด
  • -sบีบเส้นว่างที่อยู่ติดกันหลาย ๆ บรรทัด
  • -vแสดงอักขระที่ไม่พิมพ์ยกเว้นแท็บและอักขระท้ายบรรทัด

ตัวอย่าง

พิมพ์ในเทอร์มินัลเนื้อหาของ file.txt:

cat file.txt

เชื่อมต่อเนื้อหาของสองไฟล์และแสดงผลลัพธ์ในเทอร์มินัล:

cat file1.txt file2.txt

บรรทัดคำสั่ง Linux: Bash cd

เปลี่ยนไดเรกทอรีcd projectsไปยังเส้นทางที่ระบุไว้ตัวอย่างเช่น

มีข้อโต้แย้งที่เป็นประโยชน์บางประการที่จะช่วยในเรื่องนี้:

  • . หมายถึงไดเร็กทอรีปัจจุบันเช่น ./projects
  • ..สามารถใช้เพื่อเลื่อนขึ้นหนึ่งโฟลเดอร์ใช้cd ..และสามารถรวมกันเพื่อเลื่อนขึ้นหลายระดับ../../my_folder
  • /เป็นรากของระบบของคุณในการเข้าถึงโฟลเดอร์หลักเช่นsystem, usersฯลฯ
  • ~/users/usernameเป็นไดเรกทอรีบ้านมักเส้นทาง ~/projectsย้ายกลับไปยังโฟลเดอร์ที่อ้างอิงเทียบกับเส้นทางนี้โดยรวมไว้ที่จุดเริ่มต้นของเส้นทางของคุณตัวอย่างเช่น

บรรทัดคำสั่ง Linux: Bash head

Head ใช้ในการพิมพ์สิบบรรทัดแรก (โดยค่าเริ่มต้น) หรือจำนวนอื่น ๆ ที่ระบุของไฟล์หรือไฟล์ Cat ใช้เพื่ออ่านไฟล์ตามลำดับและพิมพ์ไปยังเอาต์พุตมาตรฐาน

คือพิมพ์เนื้อหาทั้งหมดของไฟล์ทั้งหมด - นั่นไม่จำเป็นเสมอไปบางทีคุณอาจแค่ต้องการตรวจสอบเนื้อหาของไฟล์เพื่อดูว่าเป็นไฟล์ที่ถูกต้องหรือไม่หรือตรวจสอบว่าไฟล์นั้นไม่ว่างเปล่า คำสั่ง head อนุญาตให้คุณดู N บรรทัดแรกของไฟล์

if more than on file is called then the first ten lines of each file is displayed, unless specific number of lines are specified. Choosing to display the file header is optional using the option below

Usage

head [options] [file_name(s)]

Most used options:

  • -n N, prints out the first N lines of the file(s)
  • -q, doesn’t print out the file headers
  • -v, always prints out the file headers

Example

head file.txt

Prints in terminal the first ten lines of file.txt (default)

head -n 7 file.txt

Prints in terminal the first seven lines of file.txt

head -q -n 5 file1.txt file2.txt

Print in terminal the first 5 lines of file1.txt, followed by the first 5 lines of file2.txt

Linux Command Line: Bash ls

ls is a command on Unix-like operating systems to list contents of a directory, for example folder and file names.

Usage

cat [options] [file_names]

Most used options:

  • -a, all files and folders, including ones that are hidden and start with a .
  • -l, List in long format
  • -G, enable colorized output.

Example:

List files in freeCodeCamp/guide/

ls ⚬ master CODE_OF_CONDUCT.md bin package.json utils CONTRIBUTING.md gatsby-browser.js plugins yarn.lock LICENSE.md gatsby-config.js src README.md gatsby-node.js static assets gatsby-ssr.js translations

Linux Command Line: Bash man

Man, the abbreviation of manual, is a bash command used to display on-line reference manuals of the given command.

Man displays the reletive man page (short for manual page) of the given command.

Usage

man [options] [command]

Most used options:

  • -f, print a short description of the given command
  • -a, display, in succession, all of the available intro manual pages contained within the manual

Example

Display the man page of ls:

man ls

Linux Command Line: Bash mv

Moves files and folders.

mv source target mv source ... directory

The first argument is the file you want to move, and the second is the location to move it to.

Commonly used options:

  • -f to force move them and overwrite files without checking with the user.
  • -i to prompt confirmation before overwriting files.

That's all. Go forth and use Linux.