BASH programiranje

Kopirajte seznam datotek z uporabo skripte Bash

Kopirajte seznam datotek z uporabo skripte Bash
Bash (Bourne Again Shell) je vrsta lupine, ki je namenjena izvrševanju ukazov in skriptov. Bash je bila razvita različica školjke sh. Bash Script je datoteka, v kateri je za izvedbo določene naloge napisanih več ukazov lupine. V tem članku bomo videli, kako lahko kopiramo več datotek s pomočjo skripta bash. Za ta članek uporabljam Ubuntu 20.04 za prikaz primera.

Opomba: - $ USER bo natisnil trenutna uporabniška imena uporabnikov.

Če vas zanima, katera različica lupine bash je nameščena v sistemu, jo lahko preverimo z naslednjim ukazom.

$ bash --verzija

Izhodna različica Bash.

Ustvarjanje in izvajanje bash skripta

Začnimo z ustvarjanjem preproste datoteke z uporabo katerega koli urejevalnika po vaši izbiri. Zame je urejevalnik vi bolj udoben. Če želimo datoteko narediti izvršljivo, moramo dodati shebang (!#) in mesto tolmača bash na začetku skripta. Ustvaril sem besedilo.txt in jo dodajte v direktorij bash_demo v mojem domačem imeniku, ki vsebuje nekaj besedila za predstavitvene namene.

$ touch bash_demo.sh
$ vi bash_demo.sh

Po ustvarjanju datoteke dodajte naslednje vrstice v urejevalnik besedil za vzorčno predstavitev; če niste, bo urejevalnik ustvaril novo datoteko o pisanju in izhodu.

#!/ bin / bash
cp besedilo.txt / tmp /
echo “Datoteka kopirana."

Skript lahko izvedemo z uporabo ./ pred datoteko skripta, ki določa trenutno dir datoteko.

$ ./ bash_demo.sh

Ko zaženemo skript, se v naš terminal prikaže naslednja napaka.

Začetna izvedba datoteke bash.

Ko datoteko privzeto izdelamo, uporabnik nima dovoljenja za izvajanje datoteke. Če želite uporabniku zagotoviti dovoljenje za izvajanje, je treba izvesti naslednji ukaz.

$ chmod + x bash_demo.sh

Izhod po podelitvi dovoljenja.

Kopirajte samo datoteke iz določenega imenika

Za pridobivanje vseh datotek in direktorija z določene poti bomo v skriptu uporabili zanko for, nato pa filtrirali edino datoteko z uporabo pogoja if. V spodnjem primeru izvedemo ukaz cp, izveden le, če je bil iterator datoteka, ki je določena -f zastava.

#!/ bin / bash
dpath = / var / log / nginx / *
za DATOTEKO v $ dpath
naredi
če [[-f $ FILE]]
potem
cp $ FILE / home / $ USER /
drugače
echo »Na dani poti ni datotek."
fi
Končano

Kopirajte vse datoteke določenih končnic

V tem primeru bomo kopirali vse datoteke z .razširitev dnevnika. Dodati moramo *.prijavite se na pot, tako da ponovite edino datoteko z .končnica dnevnika samo za zanko.

#!/ bin / bash
za FILE v / var / log / nginx / *.log
naredi
cp $ FILE / home / $ USER /
Končano

Kopirajte vse datoteke, vključno z imenikom

V tem primeru bomo rekurzivno kopirali vse datoteke, vključno z imeniki. Za to moramo preprosto dodati ukaz -R cp, kjer -R določa rekurzivno pridobivanje imenika.

#!/ bin / bash
za FILE v / var / log / *
naredi
cp -R $ FILE / doma / $ USER /
Končano

Kopirajte datoteke z uporabniško določene poti

V tem primeru bomo kopirali datoteke iz uporabniško določenega direktorija. Za to bomo z ukazom read prebrali pot od uporabnika in nato preverili, ali uporabnik navede pot do dir ali ne, kar v pogoju naredi zastavica -d. Po preverjanju direktorija bomo z zanko for ponovili vse datoteke in dir znotraj dane poti, nato pa še enkrat filtrirali edine datoteke z uporabo pogoja if. Če se pogoj ujema, se izvede naslednji ukaz cp.

#!/ bin / bash
echo “Prosimo, navedite pot do dir."
bralna pot
če [[-d $ pot]]
potem
za DATOTEKO v $ path / *
naredi
če [[-f $ FILE]]
potem
cp $ FILE / home / $ USER /
drugače
echo »Na dani poti ni datotek."
fi
Končano
drugače
odmev "Potrebna je pot do direktorija"
fi

V domačem imeniku imam naslednje datoteke in imenik.

Izhod pri podajanju poti do datoteke.

Izhod pri zagotavljanju poti lokacije dir.

Po izvedbi datoteke skripta lahko preverimo izhod v vnaprej določenem direktoriju v skriptu. V mojem primeru sem kopiral datoteko v svojem domačem imeniku in rezultat je naslednji.

Zaključek

V tem članku izvemo, kako kopirati datoteke z uporabo bash skriptov. Lahko uporabimo številne druge operacije, kot je zanka, če ne, itd. Bash skript je učinkovitejši pri delu z več ukazi za izvajanje določenih nalog. Upam, da vam je všeč ta članek o kopiranju datotek z uporabo bash skripta.

S temi brezplačnimi orodji dodajte gibe miške v sistem Windows 10
V zadnjih letih so se računalniki in operacijski sistemi močno razvili. Včasih so morali uporabniki uporabljati ukaze za krmarjenje po upraviteljih da...
Nadzirajte in upravljajte gibanje miške med več monitorji v sistemu Windows 10
Upravitelj miške z dvojnim zaslonom vam omogoča nadzor in konfiguriranje gibanja miške med več monitorji, tako da upočasni gibanje blizu meje. Windows...
WinMouse vam omogoča prilagajanje in izboljšanje premikanja kazalca miške v računalniku z operacijskim sistemom Windows
Če želite izboljšati privzete funkcije kazalca miške, uporabite brezplačno programsko opremo WinMouse. Dodaja več funkcij, s pomočjo katerih boste kar...