Kul för nybörjare med bash i terminalen

Mjukstarta här!
Kategoriregler
Läs följande innan du postar: http://ubuntu-se.org/phpBB3/viewtopic.php?f=208&t=44692
Du får hjälp att komma igång med Ubuntu genom att välja en personlig fadder här: http://ubuntu-se.org/phpBB3/viewtopic.php?f=110&t=8767
Användarvisningsbild
anth
Inlägg: 511
Blev medlem: 22 aug 2019, 15:35
OS: Ubuntu
Utgåva: 23.04 Lunar Lobster

Re: Kul för nybörjare med bash i terminalen

Inlägg av anth »

Lite mer spel

###

Jag vet inte vad ni tycker om roguelike games, men spelutvecklare verkar älska dem.

sudo apt install boohu
boohu

Roguelike, avsluta med Q.

sudo apt install cataclysm-dda-curses
cataclysm

Roguelike, i en pstapokalyptisk värld

sudo apt install crawl
crawl

Roguelike, avsluta med ctrl+q.

sudo apt install gearhead
gearhead

Roguelike, i en framtid med mechas, avsluta med Q.

sudo apt install gearhead2
gearhead2

Roguelike, i en framtid med mechas, avsluta med Q.

###

sudo apt install bombardier
bombardier

En helikopter flyger över en stad.
Efter varje överflygning flyger man lite lägre.
Släpp bomber på de högsta husen så du inte flyger in i dem.
Mellanslag för att släppa bomber, avsluta med q.

sudo apt install cavezofphear
phear

En boulder dash klon (som var ett av mina favoritspel för 30 år sedan).
Z är du
:: är väggar
# är jord
O är stenar
* är ädelstenar
Gräv dig igenom jorden med piltangenterna, släpp en bomb med b, detonera en bomb med t, Du kan knuffa stenar framför dig, får du en sten i huvudet dör du, klara av en bana genom att ta alla ädelstenarna.
Avsluta med q.

sudo apt install gnuchess
gnuchess
sudo apt install gnugo
gnugo
sudo apt install gnushogi
gnushogi

Jag klumpar ihop Chess, Go och Shogi.
Man förväntas kunna reglerna för spelen, man avslutar med ctrl+c.

sudo apt install nbsdgames
Precis som bsdgames är detta ett paket med spel:
nbbattleship
nbcheckers
nbdarrt
nbfiteen
nbfisher
nbjewels
nbmemoblocks
nbmiketron
nbmines
nbmuncher
nbpipes
nbrabbithole
nbsquare
nbreversi
nbsnakeduel
nbsos
nbsudoku
nbtugow


sudo apt install nsnake
nsnake

Det klassiska snake-spelet, men snyggare än worm i bsdgames.
Styr med piltangenterna, ät $, bli längre, kör inte in i något. Avsluta med q.

sudo apt install open-adventure
advent

Det här är samma spel som adventure i bsdgames och colossal caves, men nyare/uppdaterat från 1995.
Själva programfilen heter advent för att inte krocka med någon av de andra installationerna.
Man skriver vad man vill göra, så man skriver quit för att avsluta.

sudo apt install robotfindskitten
robotfindskitten

Du är en robot, # på kartan. Det finns massor med andra föremål, tecken på kartan.
Gå med piltangenterna till de andra föremålen. Hittar du kattungen har du vunnit.
Avsluta med q.
Användarvisningsbild
anth
Inlägg: 511
Blev medlem: 22 aug 2019, 15:35
OS: Ubuntu
Utgåva: 23.04 Lunar Lobster

Re: Kul för nybörjare med bash i terminalen

Inlägg av anth »

Har ni någongång sett ASCII-art och undrat hur de gör bilderna... eh, texten så den ser ut som en bild?
https://en.wikipedia.org/wiki/ASCII_art

Ett sätt (det finns fler) är att använda programmet jp2a:
sudo apt install jp2a

Det klarar av att göra om både jpg- och png-bilder till text
Det är bara att skriva jp2a och sökvägen till bilden. Och det kan vara sökväg både lokalt på hårddisken, eller till en bild på nätet.
Jag har lärt mig att man får bäst resultat om man arbetar med enkla bilder som inte är så "grötiga" om man använder det här programmet.
Jag använder Linux maskot Tux i de här exemplen.
https://en.wikipedia.org/wiki/Tux_(mascot)
https://upload.wikimedia.org/wikipedia/ ... af/Tux.png

Antingen med url:
jp2a https://upload.wikimedia.org/wikipedia/ ... af/Tux.png

Har ni programmet wget installerat är det bara att skriva:
wget https://upload.wikimedia.org/wikipedia/ ... af/Tux.png
så laddas bilden ner till hårddisken:
jp2a Tux.png

Det hade varit roligare i färg:
jp2a --color Tux.png

Man kan göra massor med saker, se:
man jp2a

Man kan skapa html-kod för en hemsida:
jp2a --color --html Tux.png

Och man kan skapa en fil med html-kod:
jp2a --color --html Tux.png --output=tux.html

Men hur gör vi för att titta på filen?
Vi kan öpnna den med less tux.html eller nano tux.html, men att läsa html-kod är inte så kul.
Html-filer är web-sidor, så vi borde kunna öppna upp den i en webbläsare, som Firefox.
Få se, filen är sparad i min hemkatalog, anth, så sökvägen är /home/anth/tux.html.
Men hur surfar vi till hårddisken?

Adresser till hemsidor börjar med http, så vad händer om man skriver:
(ni måste givetvis ändra anth till vad er hemkatalog heter)
http:///home/anth/tux.html

Det gick inte för http betyder att hemsidan ligger på en webserver, vilket vi inte har.
Prova att ändra början till file istället:
file:///home/anth/tux.html
Användarvisningsbild
anth
Inlägg: 511
Blev medlem: 22 aug 2019, 15:35
OS: Ubuntu
Utgåva: 23.04 Lunar Lobster

Re: Kul för nybörjare med bash i terminalen

Inlägg av anth »

Vi har skapat hemsidan tux.html i vår hemkatalog, men vi måste använda file istället för http för att titta på filen i en webbläsare, för vi har ingen webserver.
Så hur sätter man upp en webserver?
Det finns flera sätt, här förklarar jag två: först en lite mer komplicertat, sedan ett enkelt sätt.

Har man ett webhotell kan man ladda upp filen där och sedan surfa dit.
Men nu vill vi hålla oss lokalt och titta på filen på hårddisken.

Nu är det förhållandevis "lätt" att sätta upp en webserver för att se html-sidor lokalt.
Det krångliga är php, MySQL och att säkra servern - men sånt behöver man inte installera bara för att titta på en enkel hemsida.
sudo apt install apache2

Kör man Fedora istället för Ubuntu installerar man httpd istället. Det är samma sak, programmet heter Apache2 httpd.

Sedan vill man se om ens webserver är startad:
systemctl status apache2

Om allting fungerar ska det stå enabled i grönt på första raden och active i grönt på andra raden.
Systemctl är kontrollen för systemd, som i sin tur kontrollerar allt annat i datorn.
Kör man top eller htop har systemd processnummer (PID) 1.

Enabled betyder att systemd startar apache2 när datorn startas.
Man kan använda kommandona:
sudo systemctl enable apache2
sudo systemctl disable apache2

beroende på om man vill att webservern ska starta automatiskt när datorn slås på eller ej.

Active betyder att apache2 körs.
Man kan använda kommandona:
sudo systemctl start apache2
sudo systemctl stop apache2

beroende på om man vill starta eller stanna webservern manuellt.

Det finns fler saker man kan göra med med systemctl, men det här räcker just nu. Läs mer:
man systemctl

Så webservern är aktiv och körs - hur surfar man dit?
Nu ska man egentligen ta reda på vad datorn har för ip-adress, hostname och börja konfigurera apache2 - men vi vill bara se en hemsida, så vi struntar i sånt.
Alla datorer kallar sig själva för 127.0.0.1, så öppna Firefox och surfa dit:
http://127.0.0.1

Observera att det INTE ska stå https, utan bara http i början, för vi har inte säkrat sidan.
Om allt fungerar som det ska ska man komma till Apaches startsida.

Men nu vill vi inte titta på Apaches startsida, utan på vår egen html-sida.
Var ligger föresten Apaches startsida? Här:
/var/www/html/index.html

Kopiera vår sida:
sudo cp tux.html /var/www/html/

Surfa till sidan:
http://127.0.0.1/tux.html

Ska du inte använda webservern efter detta, kör disable och stop, eller avinstallera apache2. En webserver som inte är konfigurerad korrekt kan vara en säkerhetsrisk om den körs.

###

Men jag lovade att det fanns ett enklare sätt.
Gå till din hemkatalog där html-filen ligger
En modern linux-distro borde ha Python 3 installerat. Vi kontrollerar för säkerhets skull:
python3 -V

Om inte kan vi även kontrollera Python2:
python -V

Om du har Python 3:
python3 -m http.server 8888

Om du har python 2
python -m SimpleHTTPServer 8888

8888 är ett portnummer. En vanlig webserver använder port 80 för http och port 443 för https.
Om man sätter upp en lokal webserver brukar man ändra porten på den till något annat än 80, för att det inte ska "krocka" med ens vanliga surf.
Vanligtvis brukar man använda 8000, 8080, eller 8888 för lokala webservrar.

Surfa till:
http://127.0.0.1:8888/tux.html

Jag påminner igen för säkerhets skull: det ska inte stå https, utan bara http i början på sökvägen.

När man är färdig stänger man webserven med ctrl+c.
Användarvisningsbild
anth
Inlägg: 511
Blev medlem: 22 aug 2019, 15:35
OS: Ubuntu
Utgåva: 23.04 Lunar Lobster

Re: Kul för nybörjare med bash i terminalen

Inlägg av anth »

anth skrev:Alla som sett filmen Matrix kommer ihåg de gröna bokstäverna som faller nedåt på skärmen i början.
[... cmatrix ...]
Det ska byta ut de latinska bokstäverna mot japanska precis som i filmen.
Det enda man ska behöva göra är att installera rätt japanskt typsnitt - tyvärr verkar ingen på nätet veta vilket typsnitt man ska installera. :(
Ingen verkar veta hur man gör för att få japanska tecken.
Det kan bero på att programmet cmatrix är nästan lika gammalt som filmen, d.v.s. mer än två årtionden.

Men man kan gå runt problemet och använda ett annat program som har japanska från början, unimatrix:
https://github.com/will8211/unimatrix

Så... unimatrix finns alltså inte i Ubuntus förråd. Vi kan inte använda apt för att installera, som vi brukar göra.
Låt oss gå igenom några andra metoder som är användbara på sajter som gitlab och github.
git, wget och curl.
Dessa tre är kraftfulla verktyg och jag förklarar bara grunderna.

Först: se till att de tre programmen är installerade.
Jag har för mig att wget är installerat från början och man måste installera curl och git (grejen är att jag alltid ser till att alla tre fungerar när jag gör en nyinstallation av linux och jag kommer inte ihåg vad jag gjorde sist jag installerade linux.
Man kan kolla med kommandon som man, which, eller whereis för att se vilka som är installerade, sedan installera de överiga.
sudo apt install git wget curl

Kuriosa: wget uttalas w-get och curl uttalas c-url.

GIT
Git skapades av Linus Torvalds och är nästan lika känt som det där andra han skapade, ni vet... linux.
Förenklat: git används av många utvecklare över hela världen och är ett system för att hålla reda på olika versioner av ett projekt (som flera utvecklare arbetar på samtidigt).
Sedan har det dykt upp sajter som gitlab och github där man kan lägga upp sina projekt.
Kuriosa: github ägs numera av Microsoft.
Faktum är att gitlab och github även har börjat användas av vanliga användare för att lägga upp saker de vill dela med sig av; som användbara installationsskript och konfigfiler för kända distros och program - och även vanliga saker som matrecept och liknande.

Även om git har massor av funktioner ska vi bara titta på en av dem: hur man klonar ett git-projekt, d.v.s. hur man får en kopia av hela projektet på sin lokala hårddisk.
Gå till huvudsidan för projektet:
Githubexempel: https://github.com/will8211/unimatrix
Gitlabexempel: https://gitlab.com/volian/nala
Till höger, ovanför listan med filer, finns en knapp; på Github heter den Code och på Gitlab heter den Clone.
Klicka på knappen och du ser en länk som slutar med projektnamn.git.
Kopiera länken.
Öppna terminalen och skriv:
git clone länk
Och datorn skapar en ny katalog med projektets namn. Vill du inte att den skapas i din hemkatalog får du flytta dig dit du vill ha katalogen.
Om allt gått rätt till finns det nu en katalog som heter unimatrix och i den katalogen finns det en grön (körbar) fil som heter unimatrix.py.
ls
cd unimatrix
ls
./unimatrix.py


Tryck q för att avsluta programmet.

Observera att unimatrix.py bara är en enda fil så det finns ingen man unimatrix, däremot kan man skriva ./unimatrix.py --help.

Om man tycker att det är jobbigt att skriva ./unimatrix.py, se instruktionerna för wget och curl, för att det ska kännas som ett riktigt program.

WGET
Wget kan användas för att kopiera hela sajter på en gång, men här använder vi bara funktionen spara filer från nätet.
Man skriver bara wget och sökvägen till filen man vill ladda ner.
Man kan ändra namnet på filen med -O.
Vi hade tidigare bilden på linux maskot Tux från Wikipedia:
https://upload.wikimedia.org/wikipedia/ ... af/Tux.png
Säg att vi vill spara den i vår Pictures-katalog som pingvin.png:

Kod: Markera allt

wget -O Pictures/pingvin.png https://upload.wikimedia.org/wikipedia/commons/a/af/Tux.png
Ett smidigt sätt att använda wget är att kopiera en nedladdningslänk, t.ex. för Kubuntu:
https://kubuntu.org/getkubuntu/
Högerklicka på Download, välj "kopiera länk", skriv sedan wget i terminalen och klistra in länken.

Men nu UniMatrix. Sidan säger att vi ska skriva:

Kod: Markera allt

sudo wget https://raw.githubusercontent.com/will8211/unimatrix/master/unimatrix.py -O /usr/local/bin/unimatrix

sudo chmod a+rx /usr/local/bin/unimatrix
Först spar vi unimatrix.py som unimatrix i katalogen /usr/local/bin/.
Det gör att vi slipper skriva ./unimatrix för att starta unimatrix, eftersom linux letar efter kommandon i bin-katalogen.
Sedan gör vi unimatrix körbar med chmod (filnamnets färg ändras från vit till grön).

CURL
Även om curl inte kan kopiera hela sajter som wget, klarar den av betydligt fler internetprotokoll än wget.
Nu ska vi dock bara använda curl till att ladda ner filer.
Vanligtvis fungerar curl som cat, den skriver ut textfiler på skärmen.
Hur se koden ut för googles hemsida?
curl https://www.google.se/

Och brecis som cat kan man spara till fil med >.
curl https://www.google.se/ > index.html
cat index.html


Eller så använder man -o för att skriva filnamnet direkt i curl:
curl -o index.html https://www.google.se/

Ytterligare en växel (som används i koden nedan) är -L som talar om för curl att följa eventuell redirect-länk om filer har flyttat på nätet.

Och nu till UniMatrix:

Kod: Markera allt

sudo curl -L https://raw.githubusercontent.com/will8211/unimatrix/master/unimatrix.py -o /usr/local/bin/unimatrix

sudo chmod a+rx /usr/local/bin/unimatrix
Det gör exakt samma sak som wget: sparar unimatrix.py som unimatrix och gör filen körbar.

###

Vad ska man använda: git, wget, eller curl?
Det är en ren smaksak, jag använder alla tre.
Jag använder ofta wget för det finns till både linux, windows och mac.
Men är man på gitlab eller github är det smidigt med git.
Användarvisningsbild
anth
Inlägg: 511
Blev medlem: 22 aug 2019, 15:35
OS: Ubuntu
Utgåva: 23.04 Lunar Lobster

Re: Kul för nybörjare med bash i terminalen

Inlägg av anth »

Ett kul litet program är asciiquarium - ett akvarium med fiskar i terminalen.
Ett enkelt sätt att installera det i ubuntu är med hjälp av en PPA, d.v.s. ett repo/förråd som en privatperson ansvarar för.

sudo add-apt-repository ppa:ytvwld/asciiquarium
sudo apt-get update && sudo apt-get install asciiquarium
asciiquarium

Avsluta genom att trycka q.
Användarvisningsbild
Osprey
Inlägg: 6310
Blev medlem: 06 apr 2008, 00:09
OS: Ubuntu
Ort: Göteborg/Mölndal/Falkenberg
Kontakt:

Re: Kul för nybörjare med bash i terminalen

Inlägg av Osprey »

Du missade det underbara spelet "nethack".... :)
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
Användarvisningsbild
anth
Inlägg: 511
Blev medlem: 22 aug 2019, 15:35
OS: Ubuntu
Utgåva: 23.04 Lunar Lobster

Re: Kul för nybörjare med bash i terminalen

Inlägg av anth »

Osprey skrev:Du missade det underbara spelet "nethack".... :)
Nej du, det finns med. :)

Det kanske var fel av mig att lista så många spel på en gång, för enskilda spel drunknar i all text.

För den som inte orkar leta rätt på det så heter paketet man installerar
nethack-console
Men man ska spela skriver man bara
nethack
Användarvisningsbild
anth
Inlägg: 511
Blev medlem: 22 aug 2019, 15:35
OS: Ubuntu
Utgåva: 23.04 Lunar Lobster

Re: Kul för nybörjare med bash i terminalen

Inlägg av anth »

De flesta vet att man kan skriva --help efter ett kommando för att få upp en hjälpsida.
Och man kan skriva man före ett kommando för att få upp manualen.
nu finns ett tredje sätt: tldr

Kod: Markera allt

sudo apt install tldr
TL;DR är en akronym för "Too loong; didn't read", d.v.s. en kort sammanfattning av kommandot.

Testa själva och se om ni tycker om det. Vill man t.ex. veta hur terminaleditorn nano fungerar kan man skriva:

Kod: Markera allt

nano --help
man nano
tldr nano
Användarvisningsbild
Dexter8242
Inlägg: 1
Blev medlem: 24 nov 2022, 10:02
OS: Lubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Västerås

Re: Kul för nybörjare med bash i terminalen

Inlägg av Dexter8242 »

Wow vilken bra tråd! Som Osprey skrev, kul att du gör det enklare för nyböjare att komma ihång med terminalen! :)
Tycker specifikt unimatrix var verkligen en förbättring över normala cmatrix, hade aldrig hört talas om den tidigare.

En sak jag inte såg att någon har nämnt tidigare utöver dom "cd" tips som redan fanns, var att man kan använda:

Kod: Markera allt

cd -
För att enkelt komma tillbaka till förgående katalog:

Exempel:

Kod: Markera allt

dexter@dator:~$ cd mapp1
dexter@dator:~/mapp1$ cd /var/log
dexter@dator:/var/log$ cd -
dexter@dator:~/mapp1$
Som ni ser så byter jag först plats till "mapp1", och sedan "/var/log".
Genom "cd -" kan man sedan komma tillbaka till "mapp1" i detta fall, utan att behöva skriva hela sökvägen eller något liknande.

Inget super advancerande, men tycker det är en ganska smidig sak!
Yesterday’s the past, tomorrow’s the future, but today is a gift. That’s why it’s called the present.

Kontakta mig via:
PGP - 2CD4 BF42 38FC 241A 0304 E79D 07DC 39A6 3832 5B89
Session - 05be9c993ba7ff1edbfd0f18fe35c26461ba5cfb0cdd3b205b6479a530dec12956
Email (Bifoga din PGP nyckel i brevet) - personal@contacting.slmail.me
Användarvisningsbild
anth
Inlägg: 511
Blev medlem: 22 aug 2019, 15:35
OS: Ubuntu
Utgåva: 23.04 Lunar Lobster

Re: Kul för nybörjare med bash i terminalen

Inlägg av anth »

Dexter8242 skrev:En sak jag inte såg att någon har nämnt tidigare utöver dom "cd" tips som redan fanns, var att man kan använda:

Kod: Markera allt

cd -
För att enkelt komma tillbaka till förgående katalog
Det stämmer nog att jag missat att nämna - och det är definitivt en av sakerna som ska finnas med här. :)
Användarvisningsbild
Osprey
Inlägg: 6310
Blev medlem: 06 apr 2008, 00:09
OS: Ubuntu
Ort: Göteborg/Mölndal/Falkenberg
Kontakt:

Re: Kul för nybörjare med bash i terminalen

Inlägg av Osprey »

Om man vill ha ännu mer funktionalitet kring det där med att återvända till tidigare katalog, eller kataloger, så är "pushd", "popd" och "dirs" väldigt bra.

De är "builtins" i bash, så de har ingen egen man-page, men man kan läsa mer om dem med "man bash".
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
Användarvisningsbild
anth
Inlägg: 511
Blev medlem: 22 aug 2019, 15:35
OS: Ubuntu
Utgåva: 23.04 Lunar Lobster

Re: Kul för nybörjare med bash i terminalen

Inlägg av anth »

curl wttr.in

Först: kontrollera att du har "geolocation" påslaget.
Det är geolocation som gör att en hemsida vet var du är. Om du t.ex. surfar till https://www.smhi.se/ så visar sidan vädret där du är.
Om SMHI inte visar vädret där du är, gå till Settings > Privacy > "Location Services" och slå på funktionen med knappen uppe till höger.
Du behöver inte ha geolocation påslaget, men då måste du skriva vilken plats du vill ha info om.

Sedan kontrollera att du har curl och/eller wget installerat.
Det kan man gör med kommandona whereis och/eller which, t.ex:

Kod: Markera allt

whereis curl
which wget
Om de inte är installerade, så installerar du:

Kod: Markera allt

sudo apt install curl wget
Det räcker med det ena av de två, men bägge är användbara.
På alla ställen där jag skriver curl kan man istället skriva wget -O- -q.

Vad använder man curl (eller wget -O- -q) till?
För att visa hemsidor i terminalen.

Surfa till den här sidan:
https://manpages.ubuntu.com/manpages/ki ... apt.8.html
Det är Ubuntus online-manual för kommandot apt.
Det visar samma sak som om man skriver följande i terminalen:

Kod: Markera allt

man apt
Men man kan också skriva:

Kod: Markera allt

curl https://manpages.ubuntu.com/manpages/kinetic/man8/apt.8.html
Det är inte så kul att läsa HTML-kod i terminalen, men ni borde förstå vad kommandot gör: visar all kod för en hemsida.
Låt oss göra något roligare:

Kod: Markera allt

curl wttr.in
Med lite tur ska man nu se en väderprogrons i terminalen för där man är.

Hur kommer det sig att wttr.in ser bra ut i terminalen, när andra sidor inte gör det?
För att wttr.in är gjord för att visas i terminalen.
Surfa till https://wttr.in/ med en vanlig webbläsare så förstår ni varför.

Men man kan göra mycket mer, här är hjälpsidan:

Kod: Markera allt

curl wttr.in/:help
Det går givetvis utmärkt att surfa till hjälpsidan med en vanlig webbläsare: https://wttr.in/:help

Vad kan man göra med wttr.in?

Vädret i Stockholm:

Kod: Markera allt

curl wttr.in/Stockholm
Det ser ju trevligt ut, men jag vill ha vindhastighet i m/s istället för km/h.
Den har tre olika format:
?u är amerikanska mått, som Farenheit och miles per hour, vilket är standard om man befinner sig i USA.
?m är metersystemet, som är standard om man inte är i USA.
?M är metersystemet, men med m/s istället för km/h.

Kod: Markera allt

curl wttr.in/stockholm?M
Om man skrollar längst ner på hjälpsidan finns en lista över alla språk som stödjs; finns svenska med?
Ja, men det har statusen "in progress". Jag tycker dock att det fungerar bra:

Kod: Markera allt

curl wttr.in/stockholm?lang=sv
Och nu vill vi givetvis ha både m/s och svenska.
Det var lite krångligare. det borde vara wttr.in/stockholm?M&lang=sv
Men jag får det inte att fungera. Istället fick jag det här att fungera:

Kod: Markera allt

curl sv.wttr.in/stockholm?M
Vilka platser klarar den av?
- Den verkar inte bry sig om stora/små bokstäver.
- Den klarar både kommuner och lite större tätorter inom kommuner.
- Den klarar åäö.

Kod: Markera allt

curl sv.wttr.in/österåker?M

Kod: Markera allt

curl sv.wttr.in/åkersberga?M
- Den klarar av "kända" platser om man skriver tilde (~) framför:

Kod: Markera allt

curl sv.wttr.in/~globen?M
curl sv.wttr.in/~treriksröset?M
- Den klarar särskrivna ord, som "New York, om man skriver '+' emellan: new+york.
- Den verkar klara av alternativa namn som åbo/turku.
- Den klarar av både "tour eiffel" och "eiffel tower", men inte eiffeltornet:

Kod: Markera allt

curl sv.wttr.in/~tour+eiffel
curl sv.wttr.in/~eiffel+tower
Det går även att spara väderprognosen som en bild, men då måste man använda wget istället för curl:

Kod: Markera allt

wget wttr.in/stockholm.png
###

Killen som gjort wttr.in har en githubsida där han har flera projekt (som använder curl).
https://github.com/chubin

Bl.a. har han en sida för Cheat Sheets.
Om ni inte vet vad det är, googla "linux cheat sheet".
Det är lite samma sak som tldr-kommandot jag skrev om ovan, ex:

Kod: Markera allt

curl cht.sh/:help
curl cht.sh/:intro
curl cht.sh/:list
Det är mycket text så det kan hända att ni vill visa det i less:

Kod: Markera allt

curl cht.sh/:list | less
Det finns info om det mesta, t.ex.

Kod: Markera allt

curl cht.sh/ls
curl cht.sh/apt
curl cht.sh/apt-moo
Användarvisningsbild
anth
Inlägg: 511
Blev medlem: 22 aug 2019, 15:35
OS: Ubuntu
Utgåva: 23.04 Lunar Lobster

Re: Kul för nybörjare med bash i terminalen

Inlägg av anth »

Ett kommando jag använder ofta är lsblk.
Det står för "list block devices".
Block devices är alla lagringsenheter i linux.
Man ser hårddiskar (sda, sdb,...) och partitioner (sda1, sda2,...) och stoppar man i ett usb-minne i datorn kan man se det med lsblk.

Men i Ubuntu dyker det upp massor med "loops" som gör det svårt att se infon man vill se.
Man kan beskriva "loops" som små virtuella filsystem.
Man kan ta en fil och skapa en loop till den. Den körs då i en "sandlåda" och har ingen åtkomst till resten av hårddisken (och kan inte göra någon skada).
Snap använder detta trick för att vara säkrare. Det är därför man inte längre kan installera GNOME Extensions direkt från Firefox, för i Ubuntu är Firefox en snap, som inte har rätt att ändra saker på hårddisken.

Om man tittar på utskriften från lsblk ser man att de första kolumnerna är NAME MAJ:MIN.
(även den sista kolumnen, MOUNTPOINTS, kan vara intressant)
MAJ:MIN står för major:minor och är alltid ett sifferpar, som 7:1, 8:2 o.s.v.
Den första siffran talar om vilken sorts enhet det är, loop är 7, hårddiskar/partitioner är 8 o.s.v. Den andra siffran talar om vilken enhet, som första, andra,...

För att slippa se loops, som har major 7, skriver man:

Kod: Markera allt

lsblk -e7
Ni kan säkert själva räkna ut vad som händer om man skriver -e8 istället för -e7.
Användarvisningsbild
anth
Inlägg: 511
Blev medlem: 22 aug 2019, 15:35
OS: Ubuntu
Utgåva: 23.04 Lunar Lobster

Re: Kul för nybörjare med bash i terminalen

Inlägg av anth »

anth skrev: 20 aug 2022, 12:38 Ett kul litet program är asciiquarium - ett akvarium med fiskar i terminalen.
Ett enkelt sätt att installera det i ubuntu är med hjälp av en PPA, d.v.s. ett repo/förråd som en privatperson ansvarar för.

sudo add-apt-repository ppa:ytvwld/asciiquarium
sudo apt-get update && sudo apt-get install asciiquarium
asciiquarium

Avsluta genom att trycka q.
Asciiquarium finns numera som snap, så nuräcker det med:

Kod: Markera allt

sudo snap install asciiquarium
Användarvisningsbild
anth
Inlägg: 511
Blev medlem: 22 aug 2019, 15:35
OS: Ubuntu
Utgåva: 23.04 Lunar Lobster

Re: Kul för nybörjare med bash i terminalen

Inlägg av anth »

Jag tänkte att vi kunde snygga till terminalen litegrann, eller iallafall terminalprompten.

Innan man ändrar terminalprompten bör man ta backup på ens nuvarande bashinställningar om något går fel.
De finns i den dold fil, .bashrc, som är dold i ens hemkatalog.

Kod: Markera allt

cp .bashrc .bashrc.bak
Sedan kan vi behöva lite program, git och curl, som du kanske redan installerat.
Och två fonter: powerline som är en "grafisk" font med bilder och hack som är en font för kodare, som passar i terminalen.

Kod: Markera allt

sudo apt install fonts-powerline fonts-hack git curl
Andra roliga fonter att använda i terminalen eller när man kodar är nerd fonts:
https://www.nerdfonts.com/
https://github.com/ryanoasis/nerd-fonts

Jag har hittat tre olika skript som gör ungefär samma sak:

Synth Shell
https://github.com/andresgongora/synth-shell

Oh My Bash
https://github.com/ohmybash/oh-my-bash

Starship
https://starship.rs/

I nedanstående exempel installerar vi Synth Shell:

Kod: Markera allt

git clone --recursive https://github.com/andresgongora/synth-shell.git
cd synth-shell
./setup.sh
När skriptet körs får man svara på flera frågor.
Första frågan är om man vill installera, eller avinstallera Synth Shell. Är ni inte nöjda efter installationen är det bara att köra skriptet igen och avinstallera.
Nästa fråga är om det bara är för dig som användare, eller alla användare på datorn. Jag föreslår bara dig.
Nästa fråga är om du vill ha en Greeter, d.v.s. lite text som visas varje gång man startar terminalen.
Nästa fråga är om du vill ändra prompten - vilket är anledningen till att vi kör skriptet, så ja.
Sedan tre frågor om du vill ha better-ls, alias och better-history.
Better-ls gör om ls till ls -la.
Alias gör om grep, tree, dmesg, free, sudo, så de blir lite snyggare.
Better-history gör om history-kommandot.

När skriptet är färdigt kan vi passa på att ändra terminalfonten från Monospace till Hack.
Klicka på hamburgarmenyn uppe till höger (de tre strecken), välj Preferenser, klicka på Unnamed under Profiler, bocka för Custom Fonts och Ändra monospace till Hack.

Starta om terminalen.

EDIT
Hittade en fjärde.
Oh My Posh
https://ohmyposh.dev/
Skriv svar

Återgå till "För nybörjaren"