Pagina 1 van 5 12345>
Onderwerp Opties
Stem op dit onderwerp
#802347 - 19/02/2005 06:53 Tips & Trucs voor commandoregel ! ****
BIG JOHN Offline
Sat4all erelid

Geregistreerd: 12/05/2001
Berichten: 4284
Uit: Leuven
De meeste zullen wellicht hun linux computer opstarten in een grafische omgeving.Deze oogt wel mooi, maar is niet steeds de snelste,beste oplossing.Soms is er grafisch gewoon geen oplossing mogelijk, daarom is het ook handig als je toch enigsinds de weg weet op de commandoregel.

Hoe krijg je een commandoregel te zien?
Er zijn verschillende manieren mogelijk.Hier gaan we nu enkel bekijken dat je computer in een grafische omgeving is opgestart en van hieruit roepen we een terminal-venster, ook wel shell genaamd op.De makkelijkste manier (volgens mij) is als je de toetsencombinatie 'Alt-F2' gebruikt.Er verschijnt nu een raampje waarin je een commando kan typen.Voer hier het commando 'gnome-terminal' (fedora) in en druk op 'Enter'. Er wordt nu een shell geopend.Andere distros kunnen enigsinds verschillende uitvoer kennen bvb. 'terminal' of 'konsole' typen om 't zelfde resultaat te hebben.
Je kan ook via 't menu opzoek gaan naar een terminal ...voor fedora core 3 vind je deze als volgt:
Rode hoed-->Systeemgereedschap-->Terminal
Sluiten van de shell doe je door 'exit' te typen aan de prompt...of je klikt op het kruisje rechts bovenaan het scherm.

Nu kan je aan de hand van commando's allerlei zaken door je computer laten uitvoeren.Door aan de prompt van de shell deze commando's in te typen en op enter te drukken.
Het eerste wat je tegenkomt in een niet grafische omgeving, is dus de login prompt.
Maak er geen gewoonte van om daar direct als 'root' in te loggen, omdat deze gebruiker alles mag.
Was je grafisch ingelogt als gewone gebruiker, zal je ook onmiddellijk bij 't oproepen van een terminal naar de home map van die gebruiker gaan.Heb je toch ff permissies van de rootgebruiker nodig, kan je het commando su - gebruiken.su staat voor superuser en maakt je dus gewoon even tijdelijk root.
Je kan vervolgens alles doen wat je als root moet doen.Daarna typ je exit en je bent weer gewoon jezelf ...nogmaals exit sluit je het terminal venster.

De bedoeling van dit draadje is nu, om de basiscommando's,handige commando's,wetenswaardige commando's,vreemde commando's...je ziet maar hier kenbaar te maken.
Doe het wel aan de hand van één of twee commando's tegelijkertijd met een beknopte beschrijving en argumenteer je bevindigen zo goed als mogelijk.

Het is zeker NIET de bedoeling om hier een opsomming neer te zetten met de verschillende commando's zondermeer !

BJ

Omhoog
#802348 - 19/02/2005 11:19 Re: Tips & Trucs voor commandoregel ! [Re: BIG JOHN]
Big fellow Offline
Sat4all Core Member

Geregistreerd: 27/06/2002
Berichten: 2402
Uit: 34.57S, 58.40W
Citaat:

Heb je toch ff permissies van de rootgebruiker nodig, kan je het commando su - gebruiken.su staat voor superuser en maakt je dus gewoon even tijdelijk root.





Hier een kleine kanttekening bij... Als je het "min teken" vergeet dan krijg je de omgeving van de root gebruiker er niet bij.. Met andere woorden dan mag je wel alles, maar dan staat bijvoorbeeld je zoek pad niet goed, dus je kan dan sommige specifieke "root" commando's niet vinden.....

Citaat:


Je kan vervolgens alles doen wat je als root moet doen.Daarna typ je exit en je bent weer gewoon jezelf ...nogmaals exit sluit je het terminal venster.





Een luie *NIX gebruiker gebruikt uiteraard "^D" ( CTRL + D ) ... Een citaat van iemand op de Universiteit Utrecht:
"echte UNIX programmeurs, herkenbaar aan het feit dat ze ook 's-winters sandalen dragen, kunnen alleen met twee vingers typen en houden daarom graag hun commando's zo kort mogelijk."

Nou draag ik helemaal geen sandalen, maar ik houd wel van korte commando's

Big fellow
_________________________
If it ain't broken, don't try to fix it!

Omhoog
#802349 - 19/02/2005 11:25 Re: chown [Re: BIG JOHN]
Big fellow Offline
Sat4all Core Member

Geregistreerd: 27/06/2002
Berichten: 2402
Uit: 34.57S, 58.40W
Eerlijk gestolen van tweakers.net .. Ik had het zelf niet beter kunnen omschrijven!

Citaat:

Hoe verander ik bestands-permissies in Linux?


Eigenaar veranderen: chown eigenaar bestand
Groep veranderen: chgrp groep bestand
Eigenaar en groep tegelijk veranderen: chown eigenaar.groep bestand
Toegangsrechten veranderen doe je zo: chmod [ugoa][+-][rwxX]filenaam
u = user (eigenaar)
g = group
o = others
a = all (user, group en others tegelijk)
+ = aanzetten
- = uitzetten.

Bijvoorbeeld: chmod a+r zooi.txt, dat zorgt ervoor dat iedereen (user, group en others) de file zooi.txt mag lezen.
r, w en x staan uiteraard voor read, write en execute. Naast de gewone 'x' is er nog 'X'. X staat voor "execute-rechten als het om een directory gaat, of als het om een file gaat die al execute-rechten heeft
voor user of group of other".

"chmod a+X blaat" geeft iedereen dus execute-rechten als blaat een directory
is, en doet effectief niks als het een file zonder execute-rechten is. De X
flag is handig om meerdere directories en files tegelijk te wijzigen, waarbij
je alleen de directories execute-rechten wilt geven (iets wat in de praktijk vrij vaak voorkomt, omdat je van directories zonder execute rechten niet de listing kunt opvragen!)

Voor extra 1337-punten is er nog de kortere "octale" notatie. Daarbij geldt voor elk rwx-groepje:
r+w+x
-----
4+2+1

Zo staat een 6 voor r+w (4+2), een 5 voor r+x (4+1) etc. Door de cijfers achter elkaar te zetten geef je 'per groepje' aan wat de rechten zijn voor owner, group en others. 777 is dus eigenlijk rwxrwxrwx en 00
0 is ---------:

'chmod 754 zooi.txt' geeft dus de owner 'alle' rechten, de group r+x rechten, en de rest leesrechten.

Zie verder: man chmod en chown.




Big fellow
_________________________
If it ain't broken, don't try to fix it!

Omhoog
#802350 - 19/02/2005 12:02 dir & cd & copy & move & del & help [Re: BIG JOHN]
Big fellow Offline
Sat4all Core Member

Geregistreerd: 27/06/2002
Berichten: 2402
Uit: 34.57S, 58.40W
Ik hoop niet dat BJ het erg vind dat ik er een paar in een keer doe want ze zijn te simpel om allemaal apart te doen;

- Directory inhoud opvragen:

ls <opties> . Alleen "ls" geeft alleen de bestanden / directories weer in het formaat wat je kent van het DOS commando "dir /w" . *NIX is anders dan DOS. Het geeft je alleen waar je om vraagt! Wil je meer informatie over de bestanden / directories, dan kan je "ls -l" geven. Dit commando heeft ongeveer hetzelfde resultaat als het DOS commando "dir". Wil je ook de verborgen bestanden / directories zien geef dan het commando "ls -al" . Verborgen bestanden kenmerken zich doordat ze beginnen met een "." ( puntje dus )

Een uitvoer van "ls -al" :
Code:
tijdelijk@flux:~$ ls -al

total 67116
drwxr-x--- 2 tijdelij users 4096 Nov 1 21:19 .
drwxr-xr-x 8 root root 4096 Jul 16 2004 ..
-rw------- 1 tijdelij users 26 Dec 1 19:58 .bash_history
-rw-r--r-- 1 tijdelij users 509 Apr 22 2004 .bash_profile
-rw-r--r-- 1 tijdelij users 1093 Apr 22 2004 .bashrc
-rw-r--r-- 1 tijdelij users 6214208 Nov 1 20:15 Cats.zip
-rw-r--r-- 1 tijdelij users 7624183 Nov 1 21:44 House.zip
-rw-r--r-- 1 tijdelij users 6960854 Nov 1 19:14 bike.zip
-rw-r--r-- 1 tijdelij users 22177120 Nov 1 20:03 car.zip
-rw-r--r-- 1 tijdelij users 17118961 Nov 1 20:55 friends.zip
-rw-r--r-- 1 tijdelij users 8488679 Nov 1 21:18 heli.zip


Hier zie je dus een aantal verschillende dingen; De eerste regel verteld je hoeveel ruimte er op het file system in gebruik is voor de inhoud van deze directory. Daarna twee directories, te weten "." wat gelijk is aan je huidige directory, ".." dit is de bovenliggende directory. Daarna 3 bestanden die beginnen met een ".", dus verborgen bestanden. In dit geval zijn het bestanden met instellingen van de shell ( bash ) . En daarna een aantal "normale" bestanden. Zie het stukje over "chown" voor uitleg over de rechten. De rechten staan in volgorde user group everyone . Dus het bestand ".bash_history" mag alleen gelezen en beschreven worden door de user. Niemand anders mag er wat mee ( behalve de root gebruiker.. Die mag alles )

- Veranderen van directory:
Hetzelfde commando als DOS, namelijk "cd". Echter het is heel belangrijk dat er een spatie achter "cd" komt. ( Dit is belangrijk voor alle commando's in *NIX ). Dus "cd.." is niet hetzelfde als "cd ..". De eerste versie zonder spatie refereert naar een commando genaamd "cd..", welke normaal gesproken niet bestaat, en dus niet werkt!
Er is een snelle manier om te refereren aan je home directory. Je home directory wordt afgekort tot "~" . Sta je dus ergens op je file system en je home directory is "/home/jan" en je wilt naar "/home/jan/public_html" dan type je "cd ~/public_html" . Als je alleen "cd" typt dan ga je direct terug naar je home directory.

- Kopieeren van bestanden:
cp <bron> <doel> : Dus hetzelfde als DOS alleen schrijf je "cp" in plaats van "copy" ( *NIX is goed voor luie gebruikers! ) Ook hier werkt de "~" om te refereren aan je home directory.

- Verplaatsen van bestanden:
mv <bron> <doel> : Dus hetzelfde als DOS alleen schrijf je "mv" in plaats van "move" .. Ook hier werkt de "~" om te refereren aan je home directory.

- Verwijderen van bestanden:
rm <bestand> : Dit commando is een krachtig commando, en daarom voor de beginner wel een "gevaarlijk" commando. Met "rm" kan je alleen bestanden weghalen waar je de eigenaar van bent, of lid bent van de juiste groep waartoe ook het bestand behoort. Als je geen schrijfrechten hebt op het bestand dan vraagt het systeem je of je de verwijdering wilt bevestigen.
Een snelle manier om een directory met de volledige inhoud weg te gooien is "rm -r -f <directory>" . De optie "-r" geeft de opdracht het verwijderen recursief te doen, met andere woorden alles wat in die directory, en de optie "-f" geeft de opdracht verwijdering te forceren. Je kan de opties ook combineren tot "-rf".. PAS OP MET DIT COMMANDO. Als je bijvoorbeeld "rm -rf .*" geeft dan heb je kans dat je eindigt met een leeg filesystem. ".*" geeft namelijk ook aan dat de directory ".." moet worden verwijdert. De directory ".." is de bovenliggende directory, en dit zal resulteren in een leeg filesystem. Huidige *NIX'es zijn hier meestal tegen beschermd door een aangepaste versie van het commando "rm", maar pas toch op!
Als je "rm" gebruikt als root gebruiker dan mag je ten alle tijde alles weg gooien, dus opletten!

- Als laatste voor dit stukkie de "help" van een *NIX:

man <commando> : Dit commando laat de manual page zien van het commando. Mocht je het commando niet weten dan kan je zoeken op keyword met het commando "man -k <keyword>".

Dat was het voor nu ;-)

Big fellow
_________________________
If it ain't broken, don't try to fix it!

Omhoog
#802351 - 19/02/2005 12:21 Wat basis dingen [Re: BIG JOHN]
Big fellow Offline
Sat4all Core Member

Geregistreerd: 27/06/2002
Berichten: 2402
Uit: 34.57S, 58.40W
Hier dan nog even wat basis dingen;

Een *NIX ( ik schrijf steeds *NIX omdat wat ik schrijf werkt onder nagenoeg alle Unix varianten ) is gevoelig voor HOOFD en kleine letters. Dus het commando "cd" brengt je terug naar je home directory en het commando "CD" of "Cd" of "cD" zal niet werken, tenzij er een commando met die naam bestaat ergens op het filesystem.
Het systeem maakt het dus mogelijk om een bestand "jan" en "Jan" en "JAN" in een directory te hebben. Daarom is het verstandig om voor je zelf een standaard aan te meten.. 99.9% van de *NIX gebruikers gebruikt alleen kleine letters voor bestandsnamen...

Een programma kan alleen worden opgestart als het de "x" vlag heeft. Als je niet de eigenaar bent van het bestand dan moet het programma een "x" vlag hebben voor de groep of iedereen. Als het alleen voor de groep een "x" vlag heeft dan moet je wel lid zijn van dezelfde groep...

Meestal heeft een *NIX installatie de huidige directory NIET in het zoekpad staan. Mocht je een programma willen opstarten in je huidige directory, dan moet je meestal "./" voor de programma naam typen. Dus als je "test" wilt opstarten wat in de huidige directory staat, dan type je "./test" .

Big fellow
_________________________
If it ain't broken, don't try to fix it!

Omhoog
#802352 - 19/02/2005 12:40 vi .... [Re: BIG JOHN]
Big fellow Offline
Sat4all Core Member

Geregistreerd: 27/06/2002
Berichten: 2402
Uit: 34.57S, 58.40W
Sommige mensen zien vi als een moderne manier van SM.. Maar als je eenmaal met vi om kan gaan dan kan je op ieder *NIX systeem uit de voeten. ( En dan kom je er achter dat vi erg krachtig is )

Deze keer eerlijk gestolen van de Universiteit Utrecht ..
Citaat:


'vi' is een standaard editor die op alle UNIX systemen te vinden is. Het is daarom nuttig om er iets vanaf te weten. Met vi kan heel veel en wie het eenmaal beheerst heeft een krachtig stuk gereedschap. Vi is echter zeer eigenzinnig (het stamt uit de 70er jaren) en er zijn alternatieven die even krachtig zijn en gemakkelijker om te leren.
Met vi kun je een bestaand bestand openen of een nieuwe aanmaken. Nadat het is opgestart kun je echter niet zomaar tekst intypen. Vi heeft namelijk twee standen: een 'command mode' en een 'input mode'. Als je het opstart zit je in de 'command mode', waarbij je gebruik maakt van gewone letters om de cursor te verplaatsen en tekst te editten. Door op de 'i' of de 'a' te drukken kom je terecht in de 'input mode', waarbij je gewoon tekst intypen. Een druk op de esc-toets te drukke brengt je weer in de 'commando mode' terecht.

Een aantal van de belangrijkste vi commando's:
opdracht
stoppen, zonder te bewaren :q!
bewaren en stoppen :wq
bewaren :w
tekst invoegen i
idem, maar na de cursor (einde regel) a
pagina vooruit ^f of Page Down
pagina terug ^b of End
begin regel 0
einde regel $
teken verwijderen x
volgend woord verwijderen dw
vorige woord verwijderen db
regel verwijderen dd
laatste verwijdering terughalen p
zoeken /tekst
zoeken (achteruit) ?tekst
volgende zoeken n
De pijltjestoetsen kunnen normaal worden gebruikt binnen vi. In 'command-mode' kun je ook h, j, k, en l gebruiken voor respectievelijk links, omlaag, omhoog en rechts. Probeer het eens een keer, heb je later wat om aan je kleinkinderen te vertellen. Met vi kan nog veel meer, maar het gaat hier echter alleen om de belangrijkste commando's. Meer informatie over 'vi' is te vinden in handboeken over UNIX.





Big fellow
_________________________
If it ain't broken, don't try to fix it!

Omhoog
#802353 - 19/02/2005 14:33 Re: vi .... [Re: Big fellow]
BIG JOHN Offline
Sat4all erelid

Geregistreerd: 12/05/2001
Berichten: 4284
Uit: Leuven
Zoeken en vinden van bestanden.

De meest eenvoudige manier van zoeken naar bestanden is het gebruik van locate

locate mijnbestand.txt
Dit geeft alle padnamen waarin de string 'mijnbestand.txt' voor komt.
Als er heel veel output gegenereerd wordt kun je deze ook doorsturen naar 'less', zodat je wat heen en weer kunt bladeren.
locate W | less
Dit zoekt naar alle bestandsnamen met daarin de letter W en de hele lange lijst die dan volgt kan dan rustig bekeken worden met less.
Dat zorgt erop zijn beurt voor, dat je het venster voor venster kunt bekijken.
Met locate wordt gezocht in een database die is samengesteld door middel van het commando: updatedb
Het enige nadeel van deze methode is, dat de database regelmatig moet bijgewerkt worden om alle nieuwe bestanden tevens te kunnen terugvinden.
man locate -->om alle opties te kennen.

Een andere methode om te zoeken is find

Deze zoekt alle actuele bestanden af, zonder gebruik te maken van een database.
De meest simpele form is:
find
Dit laat een lijst zien van alle bestanden in de huidige directory en ondergelegen directories.Ook deze kan je doorsturen naar 'less' zodat er weer door de lijst gebladerd kan worden.
Je kunt met find ook zoeken naar een bestand met een specifieke naam:
find -name mijnbestand
Dit vindt alle bestanden en directories waarin de string 'mijnbestand' in voor komt.
man find -->om alle opties te kennen.

Als u wilt weten waar programma's en alle bestanden daarvan op uw machine staan, zoekt u met het commando whereis

whereis time
Dit geeft als output, afhankelijk van jouw systeem:
time: /usr/bin/time /usr/include/time.h /usr/share/man/man1/time.1.gz
Je kan zien dat het binaire bestand 'time' staat in /usr/bin/time ; het pad van het header-bestand is /usr/include/time.h.
man whereis -->om de andere opties te kennen.

ps.Als je aan 't experimenteren gaat in een terminal moet je volgende basisregels voor ogen houden:

Terminal schoonvegen doe je met het commando: clear
Terug naar de basisprompt na het doorsturen van gegevens ...druk je op: q
terminal verlaten kan met: exit

BJ

Omhoog
#802354 - 20/02/2005 08:46 Re: Tips & Trucs voor commandoregel ! [Re: BIG JOHN]
BIG JOHN Offline
Sat4all erelid

Geregistreerd: 12/05/2001
Berichten: 4284
Uit: Leuven
De commando history :

Eénmaal een commando is ingegeven in een terminal wordt deze bijgehouden in een 'history-map'...een reeds eerder gebruikt commando terug op roepen kan nu zonder het terug te moeten intypen.
Het volstaat door het 'pijltje omhoog' te klikken op het klavier...telkens deze knop wordt geaktiveerd zal een al eerder/vroeger ingegeven commando weer naar boven komen.Kom je bij een gewenst commando doe je 'Enter' en oeps deze wordt weer uitgevoerd.
Een overzicht van al reeds ingegeven commando's krijg je door history in te typen in een terminal.

Je zult zien dat er voor de commando's een getal staat.Met dit nummer kun je eenvoudig een commando weer oproepen met behulp van het uitroepteken:

!2 ...Nu wordt het tweede commando uit de lijst herhaald.
Ook kan je een lang ingewikkeld commando waarvan je enkel het begin achter het uitroepteken zet, laten opsporen en de terminal zet er de rest bij, zodat jij dat niet steeds hoeft in te typen.

!echo ...Zal het commando dat begint met echo en al eerder werd ingegeven terug te voorschijn halen.

history -c ...wis je alle reeds ingevoerde commando's

Wil je een foutief ingegeven commando uit de 'history-lijst' gaan wissen wel dat kan:
Je opent in een terminal vi:
su - vi /home/john/.bash_history ...hier verander je 'john' natuurlijk door je eigen naam.
even je root paswoord ingegeven...en je kan de lijst gaan bewerken.

Voor hen die met Ubuntu werken is het:
sudo vi /home/john/.bash_history...hier gevolgt door het userpaswoord.


Tip: Met de linkermuisknop ingedrukt kan je tekst selecteren, die je dan door 't aktiveren van de middenste muisknop ergens anders kunt gaan invoegen.

Hier kan je leren werken met Vi.


BJ

Omhoog
#802355 - 21/02/2005 19:17 Re: Tips & Trucs voor commandoregel ! [Re: BIG JOHN]
BIG JOHN Offline
Sat4all erelid

Geregistreerd: 12/05/2001
Berichten: 4284
Uit: Leuven
Een paar leuke commando's:

Vlug een aktuele kalender nodig typ je gewoon:

cal een kalender van deze maand zal verschijnen.
cal 10 2001 hiermee roep je een kalender op van oktober 2001
Meer info: man cal

Moet je vlug iets uitrekenen typ je:
bc
Nu kan je de terminal gebruiken als eenvoudig rekenmachien.
Meer info: man bc
_________________________
| AMD Athlon 64 3200+|Fedora8|CentOS4.5|VectorLinux5.8|

Omhoog
#802356 - 21/02/2005 21:23 Re: grep [Re: BIG JOHN]
Big fellow Offline
Sat4all Core Member

Geregistreerd: 27/06/2002
Berichten: 2402
Uit: 34.57S, 58.40W
Bij grep wil ik wel toevoegen dat het een zeer krachtig stuk gereedschap is wat niet te vatten is in een pagina'tje. Er zijn boeken vol geschreven over "regular expressions" ( O'Reilly heeft er een goed boek over... Mastering Regular Expressions, 2nd Edition , en is maar 484 pagina's dik )
Zie hieronder een korte introductie van grep.

Origineel is hier te vinden.
Citaat:

Grep is een afkorting voor General Regular Expression Parser. Het is een programma dat met behulp van regular expressions ergens naar kan zoeken. Met regular expressions kun je zoekpatronen maken om naar bepaalde stukken tekst te zoeken. (Maar er zijn wel dingen te bedenken die gewoon onmogelijk zijn om in een regexp te formuleren.) Naast grep kunnen regexps ook in een aantal andere programma's gebruikt worden, maar vaak zijn niet precies dezelfde regexps te gebruiken als in grep. Er zijn vaak kleine variaties. Een tweetal erg simpele voorbeelden van het gebruik van grep:

grep -i foo file.txt
ps aux | grep mozilla

Met het eerste commando wordt naar de string foo gezocht in het bestand file.txt. De optie -i zorgt ervoor dat er niet op hoofd- en kleine letters gelet wordt (ignore case). Met het tweede commando wordt in de output van ps gezocht naar het woord mozilla.

In grep kun je de volgende regular expressions gebruiken. Er wordt telkens aangegen waar een expressie mee zal matchen.

^ begin van de regel
$ eind van de regel
\< begin van een woord
\> eind van een woord
. elk enkel karakter
[str] elk karakter in de string str
[^str] elk karakter dat niet in de string str voorkomt
[a-b] elk karakter tussen a en b
\ heft speciale betekenis van het teken erna op
* 0 of meer herhalingen van het vorige item

Als je grep -E of egrep gebruikt kun je zelfs nog meer speciale expressies vormen:

+ 1 of meer herhalingen van het vorige item
? 0 of 1 herhaling van het vorige item
{j} exact j herhalingen van het vorige item
{j,} j of meer herhalingen van het vorige item
{,k} maximaal k herhalingen van het vorige item
{j,k} j tot k herhalingen van het vorige item
s$\vert$t s of t
(exp) behandel exp als een enkel item




Een goede ( completere ) beschrijving is hier te vinden...

Voor meer opties: man grep

Big fellow
_________________________
If it ain't broken, don't try to fix it!

Omhoog
Pagina 1 van 5 12345>


Moderator:  Puch 
Ga naar:
Google Ads
Forum Statistieken
16779 Leden
49 Forums
253281 Onderwerpen
1592382 Berichten
672 berichten in de afgelopen 24 uur
Max Online: 353 @ 23/08/2008 17:37
Top Auteurs ;)
28535
Ome Merde
19245
Toxic[Q]
18873
Tonskidutch
15314
Feedhunter Rini
14179
AlanS
Wie zijn er Online
70 geregistreerde (dahli, flats, Visser1000, hvdh, antonlamers, Tisnix, 6 onzichtbaar) en 47 anonieme bezoekers online.
Nieuwste Leden
Phaedrus, pvr600pvr, 156klaas, jokoi, bosom
16779 Geregistreerde Leden
Verjaardagen
Gefeliciteerd hamfield (51), Claes (41), Toxic (33), XtremeNooB (32).
Google ads