Tehokkaat bash-merkit Linuxissa

Tehokkaat bash-yleismerkit - 2.0

Ilman näitä viileitä pieniä asioita, joita kutsutaan shell-merkkeiksi, työskentely Linux-komentorivillä on melko tuskallista. Joten varmista, että käytät merkkejä hyvään käyttöön.

Mitä ovat shell-merkit >

Jokerimerkit ovat kuoriominaisuus, joka tekee komentorivistä paljon tehokkaamman kuin mikään GUI-tiedostonhallinta. Jos haluat valita suuren joukon tiedostoja graafisessa tiedostojenhallinnassa, sinun on yleensä valittava ne hiirellä. Tämä saattaa tuntua yksinkertaiselta, mutta joissakin tapauksissa se voi olla hyvin turhauttavaa. Oletetaan esimerkiksi, että sinulla on hakemisto, jossa on valtava määrä kaikenlaisia ​​tiedostoja ja alihakemistoja, ja päätät siirtää kaikki HTML-tiedostot, joissa on sana "linux" jonnekin keskellä nimiä, suuresta hakemistosta toiseen hakemistoon. Mikä on yksinkertainen tapa tehdä tämä? Jos hakemistossa on valtava määrä eri nimisiä HTML-tiedostoja, tehtäväsi on kaikkea muuta kuin yksinkertaista!

Linux CLI: ssä tämä tehtävä on yhtä helppo suorittaa kuin vain yhden HTML-tiedoston siirtäminen, ja se on niin helppoa shell-merkit. Jokerimerkit ovat erikoismerkkejä, joiden avulla voit valita tiedostonimet, jotka vastaavat tiettyjä merkkimalleja. Tämä auttaa sinua valitsemaan jopa suuren tiedostoryhmän kirjoittamalla vain muutaman merkin, ja useimmissa tapauksissa se on helpompaa kuin tiedostojen valitseminen hiirellä.

Tässä on luettelo yleisimmin käytetyistä yleismerkeistä bashissa:

Jokeri Tulitikut
* nolla tai enemmän merkkiä
? täsmälleen yksi merkki
[Abcde] täsmälleen yksi merkki
[Ae] täsmälleen yksi merkki annetulla alueella
[! Abcde] mikä tahansa merkki, jota ei ole luettelossa
[! Ae] mikä tahansa merkki, joka ei ole annetulla alueella
{Debian, Linux} täsmälleen yksi sana annetuista vaihtoehdoista

Voit käyttää ylämerkkejä millä tahansa komennolla, joka hyväksyy tiedostojen nimet argumenteina.

 

Wildcard-esimerkkejä >

Otetaan muutama esimerkki. Luultavasti * merkki on jo tuttu sinulle, koska sitä käytetään laajalti myös monissa muissa paikoissa, ei vain Linuxissa. Esimerkiksi seuraava poistaa kaikki tiedostot nykyisestä hakemistosta:
rm *

Seuraava komento siirtää kaikki HTML-tiedostot, joiden nimissä on sana ”linux”, työhakemistosta hakemistoon nimeltä dir1:
mv *linux*.html dir1

Katso, kerroin, että useiden tiedostojen siirtäminen voi olla yhtä helppoa kuin vain yhden tiedoston siirtäminen!

Seuraavassa näytetään kaikki alkavat tiedostot d ja lopeta .txt:
less d*.txt

Seuraava komento poistaa kaikki tiedostot, joiden nimet alkavat junk., jota seuraa täsmälleen kolme merkkiä:
rm junk.???

Tällä komennolla luet kaikki tiedostot tai hakemistot, joiden nimet alkavat hda, jota seuraa täsmälleen yksi numero:
ls hda[0-9]

Tässä luetellaan kaikki tiedostot tai hakemistot, jotka alkavat hda, jota seuraa täsmälleen kaksi numeroa:
ls hda[0-9][0-9]

Seuraavassa luetellaan kaikki tiedostot tai hakemistot, joiden nimi alkaa joko hd or sd, jota seuraa jokin yksittäinen merkki a ja c:
ls {hd,sd}[a-c]

Tämä komento kopioi kaikki suuret kirjaimet alkavat tiedostot hakemistoon dir2:
cp [A-Z]* dir2

Tämä poistaa kaikki tiedostot, jotka eivät pääty ceh or g:
rm *[!cehg]

Voisin jatkaa ja jatkaa näitä esimerkkejä, mutta saat ajatuksen. Voit käyttää yksinkertaisia ​​kuvioita tai yhdistää erilaisia ​​merkkejä ja rakentaa hyvin monimutkaisia ​​kuvioita, ja kuten aiemmin sanoin, voit käyttää niitä millä tahansa komennolla, joka hyväksyy tiedostonimet argumenteina.