Gå till innehåll
Just nu i M3-nätverket

Alias i Terminal


xeric

Rekommendera Poster

"En liten miniguide till: Alias"

 

 

En del av er kanske har lagt in egna "alias" som man sen kan köra i terminal. För er som inte gjort det eller vet vad ett alias är - så kortfattat är det ett eget kortkommando/namn man angett som kanske kör ett litet kommando, eller något kort för någonting som är längre.

 

 

Göra ett alias

 

Öppna Terminal och skriv:

open ~/.bash_profile

Då öppnas den filen i TextEdit. Där finns överst en rad med "export PATH: ...." osv.

 

Syntax för alias är:

alias <namn>='<vad den skall göra>'

Gå ner till sista raden, gör ett par mellanslag och skriv t ex in:

# Mitt "test-alias"
alias foo='open ~/Desktop'

 

För att sitt "alias" att fungera. Spara filen (såklart). Sen starta om Terminalen, eller skriv:

. ~/.bash_profile

"." i börjar är samma sak som "source"

 

Med det exemplet. Skriver du foo i terminalen öppnas nu Skrivbordet.

 

Sen är det bara att fylla på med fler alias vartefter man hittar/kommer på bra saker man kan ha nytta av.

 

 

Egen fil

 

Eftersom filen ".bash_profile" kan användas och används till mycket annat, så kan man med fördel göra en egen fil för sina alias. På så sätt blir det mindre kluttrigt och enklare att hålla koll på.

 

Så, för att göra en ny fil. Antingen öppna ett nytt fönster i Textredigeraren och spar den som ".bash_aliases" i hemfoldern, eller direkt i Terminal:

touch ~/.bash_aliases

Sen öppna båda filerna med:

open ~/.bash_profile ~/.bash_aliases

 

Om du redan har en del alias i ".bash_profile" - kopiera över de till ".bash_aliases".

 

I ".bash_profile" gå till slutet på filen - lägg till ett par tomrader och klistra in:

# Ladda in: .bash_aliases
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi

 

Spar filen (⌘S) och stäng.

 

Den koden gör att filen med aliases "inkluderas då bash_profile körs. Först kollar den att filen finns.

 

 

I ".bash_aliases" kan man nu lägga sina "alias" och ha de på eget ställe nu. Lämpligt är kanske att skiva ngt överst i filen.

##
# Fil för egna alias till Terminal.app
##

## Mitt alias 1
alias foo='bla bla bla'

## Mitt alias 2
alias bar='bla bla bla'

 

 

För att det skall fungera. Antingen starta om Terminal el skriv:

. ~/.bash_profile
. ~/.bash_aliases

 

 

- - -

 

Nu kanske det är lite överkurs att ha en egen fil för "alias" om man ändå bara har en rad (PATH) i ".bash_profile". Då kanske man inte har så stor nytta av det. Det här var mest "hur" & "att" man kan göra det. Men sen kan det hamna fler saker i den filen som gör att det kan bli lite plottrigt.

 

Jag har t ex en rad som gör om hur jag syns i terminal:

# Bash name
PS1="\u: \D{%a %b %e, %Y [%T]}: \W\$ "

 

Som gör att det står: MittNamn: Sat Dec 1, 2012 [18:29:48]: ~$, på varje ny rad i Terminalen. Andra kanske har andra saker osv...

 

Och olika alias... Ja, jag har tex ett 10-tal olika som hjälper att göra saker enklare. Så om det kasn vara till ngn hjälp för ngn, här är några.

 

 

Google Chrome

Min internet uppkoppling är så slö/långsam (0.5) sså att ha automatisk uppdatering på i Chrome är inte bra för mig då den kan ta upp min bandbredd för att upppdatera när jag kanske behöver den till ngt annat just då.

 

# Uppdatera Google manuellt
alias GoogleUpdate='~/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Resources/CheckForUpdatesNow.command'

 

 

DNS

Ibland kanske man vill/behöver rensa sin DNS. Finns 2 olika kommandon. Det ena fär för Snow Leopard och det andra för Lion och nyare. Båda fungerar i Lion el nyare (fast på olika sätt).

# Kill/Flush (DNS)cache
alias killDNS='sudo killall -HUP mDNSResponder'
alias flushDNS='sudo dscacheutil -flushcache'

 

 

Nerladdningshistoriken

Apple spar en nerladdningshistorik, även om man tömmer sina listor i sina webläsare. Det kan vara bra om man är mån om att historiken skall vara ren, att köra lite då och då.

## Rensa den gömda nerladdningshistoriken
alias cleanDL="sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV* 'delete from LSQuarantineEvent'"

 

[!] Där körde jag med "dubbel-quote":

"

...eftersom kommandot har singel-quote's i sig. Annars får man en konflikt.

 

Sen har jag några som går till sh-filer.

 

 

För varje alias man lagt till. För att få de att fungera är det precis som innan. Starta om Terminalen, eller skriv:

. ~/.bash_profile

 

 

- - -

 

En smart grejj är att kunna kombinera alias med workflows i "Automator.app". Man kanske gör ett workflow där man kör något i terminal. Är suveränt att kunna använda sina alias då. :yeahbaby:

Länk till kommentar
Dela på andra webbplatser

Nerladdningshistoriken

Apple spar en nerladdningshistorik, även om man tömmer sina listor i sina webläsare. Det kan vara bra om man är mån om att historiken skall vara ren, att köra lite då och då.

## Rensa den gömda nerladdningshistoriken
alias cleanDL="sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV* 'delete from LSQuarantineEvent'"

 

Såg på OSXDaily, motsvarigheten till att rensa listan... dvs läsa den.

 

sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV* 'select LSQuarantineDataURLString from LSQuarantineEvent' |more

 

Kan ju vara spännande att se. Har inte rensa själv på ett tag så jag körde den på kul för att se vad som dyker upp ...och det är ALLT! Har du laddat ner en bild, film, program osv osv... ALLT!

 

Först listar den upp X antal rader och sista raden får ett ":" (kolon). Klicka bara på retur så matar den fram fler resultat tills det är slut.

 

 

Så det kan ju vara läge att ha ett alias för den med. Jag kör med "readDL" eftersom den andra hette "cleanDL"

 

## Läs den gömda nerladdningshistoriken
#
alias readDL="sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV* 'select LSQuarantineDataURLString from LSQuarantineEvent' |more"

 

För att få det att fungera är det precis som innan. Starta om Terminalen, eller skriv:

. ~/.bash_profile

 

:crossfingers::yeahbaby:

Länk till kommentar
Dela på andra webbplatser

  • 2 weeks later...

En annans som kan vara bra att kunna köra med ett alias:

# Rensa Dropbox cachefolder (= mer utrymme).
alias dropboxCache='rm -rf ~/Dropbox/.dropbox.cache/*'

Förutsätter att Dropbox ligger på den förvalda destinationen, dvs i hemfoldern.

 

Hamnar en hel del där som man kan få bort, och få mer utrymme. Köllade häromdagen lite snabbt... var väl några hundra MB man fick loss, och då var det ändå inte allt för länge sen jag tömde den förra gången.

Länk till kommentar
Dela på andra webbplatser

  • 2 weeks later...

Nerladdningshistoriken

Apple spar en nerladdningshistorik, även om man tömmer sina listor i sina webläsare. Det kan vara bra om man är mån om att historiken skall vara ren, att köra lite då och då.

## Rensa den gömda nerladdningshistoriken
alias cleanDL="sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV* 'delete from LSQuarantineEvent'"

Uppdaterar den texten med att även om man använder "Privat surfning", så sparas all nerladdning där. Så, inte så privat kanske. Och man undrar ju lite varför den sparas överhuvudtaget.

 

 

- - -

 

 

Här är 2 alias till. Eg kanske man borde göra ett eget inlägg om det, men LaunchPad...

 

Om man vill kan man rensa ur innehållet där eller nollställa/återställa det. Kan ju vara bra om det är mkt där inne, eller om man vill ha bort det för att man inte använder LaunchPad (som jag).

 

# Töm LaunchPad
alias cleanLPad="cd ~/Library/Application\ Support/Dock/; for i in *.db; do cp $i{,.bak}; done; sqlite3 ~/Library/Application\ Support/Dock/*.db \"DELETE from apps; DELETE from groups WHERE title <> ''; DELETE from items WHERE rowid > 2;\"; killall Dock"

# Återställ LaunchPad
alias resetLPad='rm ~/Library/Application\ Support/Dock/*.db && killall Dock'

 

Den första gör en backupfil, och sen rensar. Och den andra tar bort db-filen helt. Då skapas en ny automatiskt - dvs med alla förvalda grejjer osv. :crossfingers::yeahbaby:

Länk till kommentar
Dela på andra webbplatser

  • 7 months later...

Här är ett par bra till...

 

 

Att snabbt kunna kolla sin IPadress via Terminalen.

# My IP
alias myIP='dig +short myip.opendns.com @resolver1.opendns.com'
Fixa menyn: "Öppna med", när den visar dubletter av program.

# Fixa "öppna med"...
alias fixOW='/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user'
Sen en till som kan vara bra, fast jag har bara haft anv för den någ gång el 2... Om man stänger ner datorn, men den gör inte det. Då är det förmodligen nåt som fortf går, och med denna kan man se vad som hindrar att datorn stängs av.

# Datorn stängs inte av..?
alias whatsOpen='pmset -g assertions'

:crossfingers:pclaugh.gif

Länk till kommentar
Dela på andra webbplatser

  • 2 weeks later...

När man skickar till andra datorer så hänger det med lite "dot-filer".

.DS_Store

._filmnamn

 

Kan vara bra att ha ett alias för att kunna rensa dem innan man skickar, eller då man upptäcker att de kom med.

# .DS_Store och ._filer (universell UNIXlösning)
#alias rmDS=find ./ "-name" ".DS_Store" -exec rm {} \;'
#alias rmDF='find ./ "-name" "._*" -exec rm {} \;'
OS X har en egen "-delete"-handler så man kan köra med den istället.

 

# .DS_Store och ._filer (OS X)
alias rmDS='find ./ -name ".DS_Store" -delete'
alias rmDF='find ./ -name "._*" -delete'
./ = att den söker från mappen man står i, och framåt.

/ = hela datorn.

Länk till kommentar
Dela på andra webbplatser

  • 1 year later...

DNS

Ibland kanske man vill/behöver rensa sin DNS. Finns 2 olika kommandon. Det ena fär för Snow Leopard och det andra för Lion och nyare. Båda fungerar i Lion el nyare (fast på olika sätt).

# Kill/Flush (DNS)cache
alias killDNS='sudo killall -HUP mDNSResponder'
alias flushDNS='sudo dscacheutil -flushcache'

I Yosemite finns ett nytt sätt hur man rensar DNS-cachen. Det nya programmet heter “discoveryutil”. (det gamla sättet verkar funka om man föredrar det)

 

Motsvarande alias (som ovan) blir:

# Clear MDNS Cache
alias flushMDSN='sudo discoveryutil mdnsflushcache'

# Clear UDNS Cache
alias flushUDSN='sudo discoveryutil udnsflushcaches'

Till de programmet kan man även kika på statusen.

sudo discoveryutil udnscachestats
sudo discoveryutil mdnscachestats

OSXDaily har en bra sida om det, för den som vill läsa mer.

http://osxdaily.com/2014/11/20/flush-dns-cache-mac-os-x/

 

- - -

 

Hittade ett annat bra alias som man har användning för (lite väl ofta).

 

Om man glömmer bort att skriva “sudo” innan då det behövdes, istället för att skriva om alltt, kan man svära lite bara. ;)Fuck!

# glömt sudo?
alias fuck='sudo $(history -p \!\!)'

Tar det senaste kommandot och kör det med sudo.

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.



×
×
  • Skapa nytt...