Bash naredbe: Bash ls, Bash head, Bash mv i Bash cat Objašnjeno primjerima

Bash ls

ls je naredba na operacijskim sustavima sličnim Unixu za popis sadržaja direktorija, na primjer imena mapa i datoteka.

Upotreba

cat [options] [file_names]

Najčešće korištene opcije:

  • -a, sve datoteke i mape, uključujući one koje su skrivene i počinju s .
  • -l, popis svih datoteka u dugom formatu
  • -G, omogući obojeni izlaz

Primjer:

Popis datoteka u freeCodeCamp/guide/

Nakon kloniranja glavnog repo-a freeCodeCamp, evo rezultata nakon pokretanja lsu freeCodeCampdirektoriju:

api-server docker-compose.yml public change_volumes_owner.sh Dockerfile.tests README.md client docs sample.env CODE_OF_CONDUCT.md HoF.md search-indexing config lerna.json SECURITY.md CONTRIBUTING.md LICENSE.md server curriculum node_modules tools docker-compose-shared.yml package.json utils docker-compose.tests.yml package-lock.json

Još bash naredbi

Bash Glava

headkoristi se za ispis prvih deset redaka (prema zadanim postavkama) ili bilo koje druge količine određene datoteke ili datoteka. cat, s druge strane, koristi se za sekvencijalno čitanje datoteke i ispis na standardni izlaz (odnosno ispisuje cjelokupni sadržaj datoteke).

To ipak nije uvijek potrebno - možda samo želite provjeriti sadržaj datoteke da biste vidjeli je li ispravna ili provjerite nije li zaista prazna. headNaredba omogućuje pregled prvih n redaka datoteke.

Ako se pozove više od datoteke, prikazuje se prvih deset redaka svake datoteke, osim ako nije naveden određeni broj redaka. Odabir prikaza zaglavlja datoteke nije obavezan pomoću donje opcije.

Upotreba

head [options] [file_name(s)]

Najčešće korištene opcije:

  • -n N, ispisuje prvih N redaka datoteke
  • -q, ne ispisuje zaglavlja datoteka
  • -v, uvijek ispisuje zaglavlja datoteka

Primjer

head file.txt

Ispisuje prvih deset redaka file.txt (zadano)

head -n 7 file.txt

Ispisuje prvih sedam redaka file.txt

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

Ispisuje prvih 5 redaka file1.txt, nakon čega slijedi prvih 5 redaka file2.txt

Bash mv

Ova bash naredba premješta datoteke i mape.

mv source target mv source ... directory

Prvi argument je datoteka koju želite premjestiti, a drugi je mjesto na koje je želite premjestiti.

Uobičajene opcije:

  • -f prisilno ih premjestiti i prepisati datoteke bez provjere kod korisnika.
  • -i za brzu potvrdu prije prepisivanja datoteka.

Bash Mačka

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

catkoristi se za sekvencijalno čitanje datoteke i ispis na standardni izlaz. Naziv potječe od načina na koji može con cat donijeti datoteke.

Upotreba

cat [options] [file_names]

Najčešće korištene opcije:

  • -b, broj praznih izlaznih redaka
  • -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 sadržaj datoteke.txt:

cat file.txt

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

cat file1.txt file2.txt

Više informacija o Bashu:

Š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 u GUI-u Linux operativnog sustava 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 imate bash skriptu sa sljedećim sadržajem:

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

Ova skripta 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 upotrijebiti, a echozatim slijedi ono što želimo ispisati, ovdje "Hello world!"

It’s worth noting that first line of the script starts with #!. It is a special directive which Unix treats differently.

Why did we use #!/bin/bash at the beginning of the script file?

That is because it is a convention to let the interactive shell know what kind of interpreter to run for the program that follows.

The first line tells the operating system that the file should be executed by the program at /bin/bash, the standard location of the Bourne shell on almost every Unix or Unix-like system. By adding #!/bin/bash at the beginning of the script, it tells the OS to use the shell at that specific path to execute all the following commands in the script.

#! goes by many names such as "hash-bang", "she-bang", "sha-bang", or "crunch-bang". Note that this first line is only considered if the script is an executable.

For example, if myBashScript.sh is executable, the command ./myBashScript.sh will cause the OS will look at the first line figure out which interpreter to use. In this case it would be #!/bin/bash.

On the other hand, if you run bash myBashScript.sh, then the first line is ignored since the OS already knows to use bash.

To make myBashScript.sh executable, simply run sudo chmod +x myBashScript.sh. Then run the following command to execute the script:

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

Sometimes the script won’t be executed, and the above command will return an error. It is due to the permissions set on the file. To avoid that, use:

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

And then execute the script.