Kaikki merkit eivät ole samanarvoisia Bashissa. Jotkut niistä suorittavat erikoistoimintoja, säätävät komentoja ja auttavat meitä käsittelemään tietoja. Siksi olemme koonneet seuraavan luettelon tärkeimmistä Bash-erikoismerkeistä. Lue eteenpäin saadaksesi selville, kuinka niitä käytetään ja kuinka ne voivat helpottaa päivittäistä Bash-elämääsi.
Kansion polun erotin (/)
Bashissa kenoviiva (/)erottelee polun osat, alikansiot kansioiden sisällä. Sinun on käytettävä komentoa, jotta pääset kotikansiosi sisällä olevaan ”kuvat” -nimiseen kansioon cd kuten:
cd /home/USERNAME/pictures
Kaikki vinoviivan jälkeen yllä olevassa esimerkissä on vinoviivaa edeltävän sisällä.
Kotihakemisto (~)
Sen sijaan, että kirjoittaisit kotikansiosi koko nimen Bash-päätteeseesi, voit käyttää tilde-merkkiä (~). Jos haluat esimerkiksi siirtyä kotikansioosi, käytä:
cd ~
Voit myös sisällyttää sen monimutkaisempiin polkuihin. Jos haluat esimerkiksi muokata kotihakemistosi Henkilökohtainen-kansiossa olevaa tiedostoa nimeltä ”mydata.txt”, käytä:
nano ~/Personal/mydata.txt
Nykyinen / yllä oleva kansio (.)
Voit käyttää yhtä (.) tai kaksoispiste (..)määrittääksesi, suoritetaanko toiminto nykyisen hakemiston sisällä vai yllä olevassa hakemistossa. Yksi piste (.) liittyy nykyiseen kansioon, kun taas kaksoispiste (..) sen yläpuolella olevaan kansioon.
Oletetaan, että olet kansiossa ”/home/KÄYTTÄJÄNIMI/kuvat” ja haluat suorittaa komentosarjan nimeltä ”transform_images.sh” samassa hakemistossa. Kirjoita tässä tapauksessa:
sh ./transform_images.sh
Jos haluat palata komentosarjan suorittamisen jälkeen nykyisen kansion yläpuolelle, kirjoita:
cd ..
Tämä palauttaa sinut kansiosta ”/home/USERNAME/pictures” kansioon ”/home/USERNAME”.
Kommentit ja peruutukset (#)
Hash-symboli (#) on hyödyllisempi Bash-skriptejä kirjoitettaessa, koska sen avulla voit lisätä niihin kommentteja myöhempää käyttöä varten. Bash jättää huomioimatta kaiken, joka seuraa hash-symbolia.
Seuraavassa komentosarjassa ensimmäinen rivi määrittää sen Bash-komentosarjan, toinen on huomiotta jätettävä kommentti ja kolmas on tyypillinen kopiointikomento:
#!/bin/bash # This is a comment - you can type anything you want here cp file1.txt /home/USERNAME/scripts/file2.txt
Tiivisteet ovat hyödyllisiä, vaikka et kirjoittaisi komentosarjaa, koska niiden avulla voit peruuttaa komennon osia. Jos haluat nähdä sen toiminnassa, kokeile seuraavaa suoraviivaista komentoa:
echo I am YOUR_NAME
Kokeile sen sijaan seuraavaa:
echo I am #YOUR_NAME
Näet vain ”I am” palautetun toisessa versiossa, koska hash on peruuttanut kaiken sen jälkeen seuranneen.
Alueet ([])
Voit määrittää merkkialueet sulkemalla ne suluissa ([]). Jos haluat nähdä sen toiminnassa, oletetaan, että haluat etsiä kansioiden nimiä, jotka alkavat joko D:llä tai M:llä. Kirjoita:
ls [DM]*

Ehkä olet sen sijaan kansiossa, joka on täynnä kunkin vuoden mukaan nimettyjä alikansioita. Kopioi edellisen viiden vuoden kansiot kohteeseen /home/USERNAME/backup, käytä:
cp -r 201[56789] /home/USERNAME/backup
Voit jopa yksinkertaistaa niitä entisestään viivalla (-):
cp 201[5-9] /home/USERNAME/backup
Bash toistaa numeroita 5–9 sisällyttääkseen numerot niiden väliin.
Uudelleenohjaus (<>)
Kulmasulkujen käyttäminen (<>), voit ohjata komennon syötteen tai lähdön uudelleen. Esimerkiksi seuraava komento:
ls >> list.txt
ohjaa ulostulon uudelleen ls ja tallenna se ”list.txt”-tiedostoon.
Huomaa, että kaksinkertainen suorakulmasulku (>>) liittää komennon tulos tiedostoon. Jos suoritat saman komennon uudelleen, se lisää tulostensa olemassa olevan sisällön loppuun. Vastaanottaja korvata sen sisältöä uusilla tuloksilla, käytä yhtä suorakulmasulkua (>):
ls > list.txt
Putket (|)
Voit yhdistää eri komennot suuremmaksi kokonaisuudeksi saavuttaaksesi monimutkaisempia tuloksia käyttämällä putkia (|). Ne muistuttavat jossain määrin uudelleenohjausta (lisää niiden yhtäläisyyksistä ja eroista täällä).
Oletetaan, että sinulla on valtava tiedosto, jossa on tuhansia merkintöjä ja haluat paikantaa nimesi siitä. Sen sijaan, että etsit sitä tekstieditorissa, toimi seuraavasti:
cat entries.txt | grep 'YourName'

Tässä tapauksessa ”entries.txt”-tuloste johdetaan tiedostoon grep komento.
Komentoerotin (;)
Bash antaa sinun antaa useita komentoja kerralla erottamalla ne puolipisteillä (;). Esimerkiksi kahden kansion kopioiminen kahteen eri kohteeseen yhdellä komennolla:
cp folder1 destination1; cp folder2 destination2
Puolipiste erottaa nämä kaksi komentoa ja käskee Bashia suorittamaan ne peräkkäin. Huomaa, että voit halutessasi käyttää useampaa kuin kahta komentoa.
Jokerimerkit
*Olet luultavasti jo käyttänyt tähteä (
cp /home/USERNAME/folder1/*.jpg /home/USERNAME/folder2/
) joissakin komennoissa. Se vastaa mitä tahansa merkkijonoa ja mahdollistaa toiminnot, kuten kaikkien JPG-tiedostojen kopioimisen kansiosta toiseen:?kysymysmerkki (
cp /home/USERNAME/201?/*.jpg /home/USERNAME/folder2/
) on myös jokerimerkki Bashissa, mutta vastaa vain yhtä merkkiä. Esimerkiksi:
Yllä oleva komento kopioi kaikki jpg-tiedostot kansioihin, jotka alkavat ”201”. Koska jokerimerkki tarkoittaa mitä tahansa aakkosnumeerista merkkiä, ei vain numeroita, yllä oleva komento kopioi myös minkä tahansa kansion, jonka nimi voi olla ”201A” tai ”201z”.
Käynnistä taustalla (&)&Voit suorittaa komentoja taustaprosesseina vain lisäämällä komennon et-merkillä (
cp /home/USERNAME/Downloads/huge_file.zip /home/USERNAME/backups &
): fg Yllä oleva alkaa kopioida tiedostoa huge_file.zip ja siirtyy välittömästi taustalle, jolloin voit jatkaa päätteen käyttöä. Komento poistuu automaattisesti, kun se on valmis. Jos haluat tuoda sen uudelleen eteenpäin, voit tehdä sen kirjoittamalla
sen jälkeen Enter.
Muuttujat ($)$Dollarin merkki (
myname=YOUR_NAME myage=YOUR_AGE echo "I'm $myname and I'm $myage years old"

Bash Special Chars Echo Variable
Huomaa, että arvoja määritettäessä muuttujille ei ole dollarimerkkiä.
Pakomerkit () ja lainausmerkit ()Jos haluat käyttää mitä tahansa erikoismerkkejä sellaisina kuin se on komennossa, sinun on vältettävä sitä. Voit tehdä sen kirjoittamalla erikoismerkin eteen kenoviiva ( ! ). Jos sinulla on esimerkiksi tiedosto, jonka nimi sisältää huutomerkin, sinun on kirjoitettava
Sen sijaan Bash tulkitsee sen huutomerkiksi eikä erikoismerkiksi.''Toinen tapa olisi käyttää jompaakumpaa yksittäistä ("") tai lainausmerkit (
). Kun merkkijono sisällytetään lainausmerkkeihin, sen sisältämiä erikoismerkkejä käsitellään varsinaisina merkkinä. Yksi- ja kaksoislainausmerkkien välillä on myös ero. Yksittäiset lainausmerkit arvioivat suljetun merkkijonon tekstiksi, kun taas kaksoislainausmerkkien avulla voit käyttää muuttujia ($) suljetussa merkkijonossa.
Käärimistä
Yllä olevat eivät ole Bashin ainoita erikoishahmoja, mutta ne ovat mielestämme hyödyllisimpiä päivittäisissä seikkailuissamme terminaalissa. Älä unohda tarkistaa nämä pikanäppäimet liikkuaksesi nopeasti Bashissa. Kerro meille alla olevassa kommenttiosiossa, jos olemme unohtaneet tärkeän erikoishahmon.
Tue työtämme ❤️
Jos pidit tästä artikkelista, harkitse tipin antamista, jotta voimme jatkaa laadukkaan sisällön julkaisemista.




















