Konačni vodič za Linux kroz naredbenu liniju - Full Bash Vodič

Dobrodošli u naš krajnji vodič za Linux Command Line. Ovaj vodič će vam pokazati neke od ključnih tehnologija Linux naredbenog retka i upoznati vas s skriptnim jezikom Bash.

Što je Bash?

Bash (kratica od Bourne Again SHell) je Unix ljuska i tumač naredbenog jezika. Ljuska je jednostavno makroprocesor koji izvršava naredbe. To je najčešće korištena ljuska pakirana prema zadanim postavkama za većinu distribucija Linuxa i nasljednica je kornske ljuske (ksh) i C ljuske (csh).

Mnogo se stvari koje se mogu učiniti Linux operativnim sustavom može učiniti putem naredbenog retka. Neki primjeri su ...

  • Uređivanje datoteka
  • Prilagođavanje glasnoće operativnog sustava
  • Dohvaćanje web stranica s Interneta
  • Automatizacija posla kojim se svakodnevno bavite

Više o bashu možete pročitati ovdje, putem GNU dokumentacije i putem vodiča tldp.

Korištenje basha na naredbenom retku (Linux, OS X)

Možete početi koristiti bash na većini operativnih sustava Linux i OS X otvaranjem terminala. Razmotrimo jednostavan primjer zdravog svijeta. Otvorite terminal i napišite sljedeći redak (sve nakon znaka $):

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

Kao što vidite, upotrijebili smo naredbu echo za ispis niza "Hello world!" do terminala.

Pisanje bash skripte

Također možete staviti sve svoje bash naredbe u .sh datoteku i pokrenuti ih iz naredbenog retka. Recimo da ste imali bash skriptu sa sljedećim sadržajem:

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

Vrijedno je napomenuti da prvi redak skripte započinje s #!. To je posebna smjernica s kojom se Unix ponaša drugačije.

Zašto smo na početku datoteke skripte koristili #! / Bin / bash?

To je zato što je konvencija da interaktivna ljuska zna kakvu vrstu tumača treba pokrenuti za program koji slijedi. Prvi redak govori Unixu da datoteku treba izvršiti / bin / bash. Ovo je standardno mjesto Bournove ljuske na gotovo svakom Unix sustavu. Dodavanjem #! / Bin / bash kao prvog retka vaše skripte, OS govori da pozove navedenu ljusku da izvrši naredbe koje slijede u skripti. #!često se naziva "hash-bang", "she-bang" ili "sha-bang". Iako se izvršava samo ako skriptu pokrenete kao izvršnu datoteku. Na primjer, kada tipkate ./scriptname.extension, pogledat će gornji redak kako bi saznao tumača, dok se, izvodeći skriptu kao bash scriptname.sh, prvi redak zanemaruje.

Tada biste skriptu mogli pokrenuti ovako: Da biste datoteku učinili izvršnom, ovu naredbu trebate nazvati pod sudo chmod + x “ime datoteke”.

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

Scenarij ima samo dva retka. Prva označava koji će tumač koristiti za pokretanje datoteke (u ovom slučaju bash). Drugi redak je naredba koju želimo koristiti, echo, a zatim slijedi ono što želimo ispisati, a to je "Hello World".

Ponekad se skripta neće izvršiti, a gornja naredba vratit će pogrešku. To je zbog dozvola postavljenih u datoteci. Da biste izbjegli tu upotrebu:

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

A zatim izvršite skriptu.

Linux naredbeni redak: Bash Cat

Cat je jedna od najčešće korištenih naredbi u operacijskim sustavima Unix.

Cat se koristi za sekvencijalno čitanje datoteke i ispis na standardni izlaz. Ime je izvedeno iz njegove funkcije na kon mačka enate datoteka.

Upotreba

cat [options] [file_names]

Najčešće korištene opcije:

  • -b, numeriraju neprazne izlazne linije
  • -n, numeriraj sve izlazne linije
  • -s, iscijedite više susjednih praznih redaka
  • -v, prikazuju neispisane znakove, osim kartica i znaka na kraju retka

Primjer

Ispišite u terminalu sadržaj datoteke.txt:

cat file.txt

Spojite sadržaj dviju datoteka i prikažite rezultat u terminalu:

cat file1.txt file2.txt

Linux naredbeni redak: Bash cd

Promijenite Direktorij na navedenu stazu, na primjercd projects.

Postoji nekoliko vrlo korisnih argumenata koji će tome pomoći:

  • . odnosi se na trenutni direktorij, kao što je ./projects
  • ..može se koristiti za pomicanje prema gore za jednu mapu, koristiti cd ..i može se kombinirati za pomicanje na više razina prema gore../../my_folder
  • /je korijen vašeg sustava doći do osnovne mape, kao što su system, usersitd
  • ~je kućni direktorij, obično put /users/username. Vratite se na mape referencirane u odnosu na ovu stazu tako što ćete je uključiti, na primjer, na početak puta ~/projects.

Linux naredbeni redak: Bash glava

Head se koristi za ispis prvih deset redaka (prema zadanim postavkama) ili bilo koje druge količine određene datoteke ili datoteka. Cat se koristi za sekvencijalno čitanje datoteke i ispis na standardni izlaz.

tj. ispisuje cjelokupni sadržaj cijele datoteke. - to nije uvijek potrebno, možda samo želite provjeriti sadržaj datoteke da biste vidjeli je li ispravna ili provjerite nije li zaista prazna. Naredba head omogućuje vam pregled prvih N redaka datoteke.

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.