מדריך שורת הפקודה האולטימטיבית - לימוד Bash מלא

ברוך הבא למדריך האולטימטיבי שלנו לשורת הפקודה של לינוקס. הדרכה זו תציג בפניכם כמה מטכנולוגיות שורת הפקודה המרכזיות של לינוקס ותציג בפניכם את שפת התסריט של Bash.

מה זה בש?

Bash (קיצור של Bourne Again SHell) הוא קליפת יוניקס ומתורגמן לשפת פקודה. מעטפת היא פשוט מעבד מאקרו שמבצע פקודות. זהו המעטפת הנפוצה ביותר שנארזה כברירת מחדל עבור מרבית הפצות לינוקס, ויורשת עבור מעטפת Korn (ksh) ו- shell C (csh).

דברים רבים שניתן לעשות מערכת הפעלה לינוקס ניתן לעשות באמצעות שורת פקודה. חלק מהדוגמאות הן…

  • עריכת קבצים
  • התאמת עוצמת הקול של מערכת ההפעלה
  • אחזור דפי אינטרנט מהאינטרנט
  • אוטומציה של עבודה שאתה עושה כל יום

אתה יכול לקרוא עוד על bash כאן, דרך תיעוד GNU, דרך המדריך tldp.

שימוש ב- bash בשורת הפקודה (Linux, OS X)

אתה יכול להתחיל להשתמש ב- bash ברוב מערכות ההפעלה Linux ו- OS X על ידי פתיחת מסוף. הבה נבחן דוגמה פשוטה שלום עולמית. פתח את המסוף שלך וכתב את השורה הבאה (הכל אחרי הסימן $):

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

כפי שאתה יכול לראות, השתמשנו בפקודת הד כדי להדפיס את המחרוזת "שלום עולם!" לטרמינל.

כתיבת תסריט bash

אתה יכול גם להכניס את כל פקודות ה- bash שלך לקובץ .sh ולהפעיל אותן משורת הפקודה. נניח שהיה לך סקריפט bash עם התוכן הבא:

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

ראוי לציין ששורה ראשונה בתסריט מתחילה ב #!. זו הנחיה מיוחדת אשר יוניקס מתייחסת אליה אחרת.

מדוע השתמשנו ב- #! / Bin / bash בתחילת קובץ הסקריפט?

הסיבה לכך היא כי זו מוסכמה ליידע את הקליפה האינטראקטיבית איזה מתורגמן לרוץ לתוכנית שאחריה. השורה הראשונה אומרת ל- Unix שהקובץ אמור להתבצע על ידי / bin / bash. זהו המיקום הסטנדרטי של פגז בורן כמעט בכל מערכת יוניקס. הוספת #! / Bin / bash כשורה הראשונה בתסריט שלך, אומרת למערכת ההפעלה להפעיל את הקליפה שצוינה כדי לבצע את הפקודות הבאות בסקריפט. #!מכונה לעתים קרובות "has-bang", "she-bang" או "sha-bang". אם כי זה מבוצע רק אם אתה מריץ את הסקריפט שלך כהפעלה. לדוגמא, כשאתה מקליד ./scriptname.extension, הוא יסתכל בשורה העליונה כדי לגלות את המתורגמן, ואילו bash scriptname.shמתעלמים מהפעלת הסקריפט כ- שורה ראשונה

אז אתה יכול להריץ את התסריט כך: כדי להפוך את הקובץ להפעלה, עליך לקרוא לפקודה זו תחת sudo chmod + x "שם קובץ".

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

לתסריט יש רק שתי שורות. הראשון מציין באיזה מתורגמן להשתמש להפעלת הקובץ (במקרה זה, bash). השורה השנייה היא הפקודה בה אנו רוצים להשתמש, הד, ואחריה מה אנו רוצים להדפיס שהוא "שלום עולם".

לפעמים הסקריפט לא יבוצע, והפקודה לעיל תחזיר שגיאה. זה נובע מההרשאות שהוגדרו בקובץ. כדי להימנע משימוש זה:

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

ואז לבצע את התסריט.

שורת הפקודה של לינוקס: Bash Cat

Cat היא אחת הפקודות הנפוצות ביותר במערכות הפעלה של יוניקס.

Cat משמש לקריאת קובץ ברצף ולהדפסתו לפלט הסטנדרטי. השם נגזר תפקידו כדי con חתול קבצי enate.

נוֹהָג

cat [options] [file_names]

האפשרויות הנפוצות ביותר:

  • -b, מספר שורות פלט שאינן ריקות
  • -n, מספר את כל קווי הפלט
  • -sלחץ על מספר שורות ריקות סמוכות
  • -v, להציג תווים שאינם מודפסים, למעט כרטיסיות וסוף השורה

דוגמא

הדפס במסוף את התוכן של file.txt:

cat file.txt

לשרשר את התוכן של שני הקבצים ולהציג את התוצאה במסוף:

cat file1.txt file2.txt

שורת הפקודה של לינוקס: תקליטור בש

שנה את הספרייה לנתיב שצוין, למשלcd projects.

יש כמה טיעונים מועילים באמת לסייע לכך:

  • . מתייחס לספריה הנוכחית, כגון ./projects
  • ..ניתן להשתמש כדי להעלות תיקייה אחת, להשתמש cd .., וניתן לשלב אותה כדי לעלות מספר רב של רמות../../my_folder
  • /הוא השורש של המערכת להגיע תיקיות הליבה, כגון system, users, וכו '
  • ~הוא המדריך הביתי, בדרך כלל הנתיב /users/username. חזור לתיקיות שהוזכרו יחסית לנתיב זה על ידי הכללתו בתחילת הנתיב שלך, למשל ~/projects.

שורת הפקודה של לינוקס: ראש בש

Head משמש להדפסת עשר השורות הראשונות (כברירת מחדל) או כל כמות אחרת שצוינה של קובץ או קבצים. Cat משמש לקריאת קובץ ברצף ולהדפסתו לפלט הסטנדרטי.

כלומר מדפיס את כל תוכן הקובץ כולו. - זה לא תמיד הכרחי, אולי אתה רק רוצה לבדוק את תוכן הקובץ כדי לראות אם הוא נכון, או לבדוק שהוא אכן אינו ריק. פקודת הראש מאפשרת לך להציג את שורות ה- 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.