Bash aliakset et voi elää ilman

0 Comments

Bash alias on menetelmä täydentämisestä tai ylivoimainen Bash komentoja uusia. Bash-peitenimet tekevät käyttäjien helpoksi muokata kokemustaan POSIX-päätteessä. Ne määritellään usein $HOME/.bashrc tai $HOME / bash_aliases (joka on ladattu $HOME/.bashrc).

useimmat voitonjaot lisäävät ainakin joitakin suosittuja peitenimiä oletukseen .uuden käyttäjätilin bashrc-tiedosto. Nämä ovat yksinkertaisia osoittaa syntaksi Bash alias:

alias ls="ls -F"
alias ll="ls -lh"

Ei kaikki jakaumat aluksen valmiiksi asutuilla peitenimet, vaikka., Jos haluat lisätä aliaksia manuaalisesti, sinun täytyy ladata niitä omalle nykyinen Bash istunto:

$ source ~/.bashrc

Muuten, voit sulkea puhelimesi ja käynnistä se uudelleen niin, että se lataa sen asetustiedosto.

näiden aliakset määritellään teidän Bash script alustus, voit sitten tyyppi ll ja saada tulokset ls-l, ja kun kirjoitat ls saat, sen sijaan, että lähtö tavallinen vanha ls.

nuo peitenimet ovat hienoja olla, mutta ne vain raapivat pintaa siitä, mikä on mahdollista. Tässä ovat top 10 Bash aliaksia, että, kun yrität niitä, et voi elää ilman.,

Aseta ensin

ennen alkua, Luo tiedosto nimeltä~/.bash_aliases:

$ touch ~/.bash_aliases

varmista Sitten, että tämä koodi näkyy ~/.bashrc tiedosto:

if ; then
source $HOME/.bash_aliases
fi

Jos haluat kokeilla mitään aliakset tässä artikkelissa itsellesi, kirjoita ne osaksi oman .bash_aliases tiedosto, ja sitten ladata ne Bash istunto lähde~/.bashrc: n komentokeskus.,

Lajittele tiedoston koko

Jos olet aloittanut tietokoneen elämää GUI tiedosto johtajat kuten Nautilus GNOME, Finder on purettu MacOS: ssä, tai Explorer Windows, niin olet luultavasti tottunut lajittelu luettelon tiedostoja niiden kokoa. Voit tehdä sen myös terminaalissa, mutta se ei ole kovin ytimekästä.

Lisää tämä alias teidän kokoonpano on GNU-järjestelmä:

alias lt="ls --human-readable --size -1 -S --classify"

Tähän alias korvaa lt ls-komento, joka näyttää koko kunkin kohteen, ja sitten lajittelee sen koon, yksi sarake, jossa on merkintä ilmaisee, millainen tiedosto., Aseta uusi alias, ja sitten kokeilla sitä:

MacOS-tai BSD -, ls-komento ei ole samoja vaihtoehtoja, joten tämä alias toimii sen sijaan:

alias lt="du -sh * | sort -h"

tulokset tämä versio on hieman erilainen:

$ du -sh * | sort -h
0 compile
0 COPYING
0 install-sh
0 missing
4.0K configure.ac
4.0K dot-gitlab.ci.yml
4.0K flatpak.path.patch
4.0K git-portal.spec
4.0K info.slackermedia.Git-portal.json
4.0K Makefile.am
8.0K README.md
12K config.log
16K bin
24K Makefile
24K Makefile.in
32K config.status
36K LICENSE
44K aclocal.m4
60K share
140K configure
476K autom4te.cache

Itse asiassa, jopa Linux, että komento on hyödyllinen, koska käyttämällä ls listaa hakemistojen ja symboliset linkit on 0-koko, joka voi olla tietoa todella haluat. Se on sinun valintasi.

Kiitos Brad Alexanderille tästä alias-ideasta.

Näytä vain asennetut asemat

asennuskomento oli ennen niin yksinkertainen., Vain yhden komennon, voit saada luettelo kaikista asennetut tiedostojärjestelmät tietokoneeseen, ja se oli usein käyttää yleiskuvan siitä, mitä asemia oli liitetty työasema. Se oli vaikuttavaa nähdä enemmän kuin kolme tai neljä riviä koska useimmissa tietokoneissa ei ole paljon muuta USB-portit, kuin että, joten tulokset olivat hallittavissa.,

Tietokoneet ovat hieman monimutkaisempi nyt, ja välillä LVM, fyysiset asemat, verkkoasemia, ja virtuaalisten tiedostojärjestelmien, tulokset mount voi olla vaikea jäsentää:

Voit ratkaista ongelman, kokeile alias, kuten tämä:

alias mnt="mount | awk -F" " "{ printf \"%s\t%s\n\",\$1,\$3; }" | column -t | egrep ^/dev/ | sort"

Tähän alias käyttää awk jäsentää lähtö mount sarakkeen, vähentää lähtö, mitä olet todennäköisesti etsimässä (mitä kiintolevyt, ja ei tiedostojärjestelmät, on asennettu):

MacOS, mount-komento ei tarjoa hirveän tulosteen, joten alias voi olla ylimitoitettu., Kuitenkin, jos haluat ytimekäs raportti, kokeile tätä:

alias mnt="mount | grep -E ^/dev | column -t"

tulokset:

Etsi komento grep historia

Joskus voit selvittää, miten tehdä jotain, terminaali, ja luvata itsellesi, että et koskaan unohda, mitä olet juuri oppinut. Sitten menee tunti, ja olet unohtanut, mitä teit.

Bash-historian läpikäyminen on jotain, mitä jokaisen on aika ajoin tehtävä., Jos tiedät tarkalleen, mitä olet etsimässä, voit käyttää Ctrl+R voit tehdä käänteisen haun kautta historian, mutta joskus en muista tarkkaa komento, jonka haluat löytää.

Tässä on alias tehdä, että tehtävän hieman helpompaa:

alias gh="history|grep"

Tässä on esimerkki siitä, miten voit käyttää sitä:

$ gh bash
482 cat ~/.bashrc | grep _alias
498 emacs ~/.bashrc
530 emacs ~/.bash_aliases
531 source ~/.bashrc

Lajittele muutoksen aikaa

Se tapahtuu joka maanantai: saat työskennellä, istua alas tietokone, avaa terminaali, ja huomaat, että olet unohtanut, mitä teit viime perjantaina., Tarvitset peitenimen listataksesi viimeisimmät muokatut tiedostot.

Voit käyttää ls komento luoda alias auttaa sinua löytämään, mihin jäit:

alias left="ls -t -1"

lähtö on yksinkertainen, mutta voit pidentää sen kanssa-pitkä vaihtoehto, jos haluat., Alias, kuten mainittu, näyttää tältä:

$ left
demo.jpeg
demo.xcf
design-proposal.md
rejects.txt
brainstorm.txt
query-letter.xml

Count-tiedostot

Jos haluat tietää, kuinka monta tiedostoa on hakemistossa, ratkaisu on yksi klassisia esimerkkejä UNIX-komento rakentaminen: lista tiedostoja ls-komento -, valvonta-sen tuotannon olevan vain yksi sarake -1 vaihtoehto, ja sitten putki, että lähtö wc (word count) komento laskea, kuinka monta riviä yksittäisiä tiedostoja on olemassa.

se on loistava osoitus siitä, miten UNIX-filosofia antaa käyttäjille mahdollisuuden rakentaa omia ratkaisujaan pienillä järjestelmäkomponenteilla., Tämä komento yhdistelmä on myös paljon kirjoittaa jos satut tehdä se useita kertoja päivässä, ja se ei oikein toimi hakemisto hakemistoja ilman käyttää -R-optiota, joka esittelee uusia rivejä lähtö ja tekee harjoituksen hyödytön.

sen Sijaan, tämä alias tekee prosessista helppoa:

alias count="find . -type f | wc -l"

Tämä laskee tiedostoja, välittämättä hakemistoja, mutta ei sisällön hakemistoja. Jos sinulla on projektikansio, jossa on kaksi hakemistoa, joista jokainen sisältää kaksi tiedostoa, peitenimi palauttaa Neljä, koska koko projektissa on neljä tiedostoa.,

$ ls
foo bar
$ count
4

Luo Python virtuaalinen ympäristö

ethän koodi Python?

koodaatko Pythonissa paljon?

Jos et, niin tiedät, että luoda Python virtuaalinen ympäristö vaatii, ainakin, 53 painalluksia.
, Joka on 49 liikaa, mutta se on helposti kiertää kaksi uutta aliakset kutsutaan ve ja va:

alias ve="python3 -m venv ./venv"
alias va="source ./venv/bin/activate"

Käynnissä ve luo uusi hakemisto, nimeltään venv, joka sisältää tavallista virtuaalinen ympäristö tiedostojärjestelmä Python3., Va alias aktivoi ympäristön nykyinen kuori:

$ cd my-project
$ ve
$ va
(venv) $

Lisää kopio etenemispalkki

Kaikki pokes hauskaa edistystä baareja, koska he linjaa epätarkkoja. Ja silti, syvällä sisimmässämme, me kaikki tuntuu haluavan niitä. UNIX cp-komennossa ei ole progress-palkkia, mutta siinä on a-v-vaihtoehto verbositeetille, mikä tarkoittaa, että se toistaa jokaisen päätelaitteeseen kopioitavan tiedoston nimen. Se on melko hyvä hakata, mutta se ei toimi niin hyvin, kun kopioit yksi iso tiedosto ja haluat joitakin viitteitä siitä, kuinka paljon tiedosto on vielä siirrettävä.,

pv-komento tarjoaa edistymispalkin kopion aikana, mutta se ei ole yleinen oletussovelluksena. Toisaalta, rsync komento sisältyy oletus asennus lähes joka POSIX järjestelmä käytettävissä, ja se on laajalti tunnustettu yksi älykkäin tapoja kopioida tiedostoja sekä etänä ja paikallisesti.

Better yet, it has a built-in progress bar.,

alias cpv="rsync -ah --info=progress2"

Käyttämällä tätä alias on sama kuin käytettäessä cp-komento:

$ cpv bigfile.flac /run/media/seth/audio/
3.83M 6% 213.15MB/s 0:00:00 (xfr#4, to-chk=0/4)

mielenkiintoinen sivuvaikutus käyttämällä tätä komentoa on, että rsync kopioi molemmat tiedostot ja hakemistot ilman -r lippu, että cp olisi toisin vaadi.

suojaa itsesi tiedostojen poistoonnettomuuksilta

älä käytä rm-komentoa. Rm manuaalinen edes sanoo niin:

Varoitus: Jos käytät rm poistaa tiedoston, se on yleensä mahdollista palauttaa sisältöä kyseisen tiedoston., Jos haluat lisää varmuutta siitä, että sisältö on todella vakava, voit käyttää ’silppua’.

Jos haluat poistaa tiedoston, sinun pitäisi siirtää tiedoston Roskakoriin, aivan kuten teet, kun käytät työpöydälle.

POSIX tekee tämän helpoksi, koska roskat ovat tiedostojärjestelmässäsi helposti saavutettava, todellinen paikka. Tämä paikka voi muuttua, riippuen alustan: FreeDesktop, roskat sijaitsee~/.local/share / Trash, kun taas MacOS se on~/.,Roskaa, mutta joka tapauksessa, se on vain hakemisto, johon sijoittaa tiedostoja, jotka haluat pois näkyvistä, kunnes olet valmis poistamaan ne ikuisesti.

Tämä yksinkertainen alias tarjoaa tapa nakata tiedostoja Roskakoriin teidän terminaali:

alias tcn="mv --force -t ~/.local/share/Trash "

Tähän alias käyttää vähän tunnettu mv-lippu, jonka avulla voit tarjota tiedosto, jonka haluat siirtää kuin lopullinen argumentti, välittämättä tavallinen vaatimus, että tiedosto on luettelossa ensimmäisenä., Nyt voit käyttää uuden komennon siirtää tiedostoja ja kansioita järjestelmän Roskakoriin:

$ ls
foo bar
$ tcn foo
$ ls
bar

Nyt tiedosto on ”mennyt”, mutta vain siihen asti, kunnes huomaat, kylmä hiki, että tarvitset silti sitä. Siinä vaiheessa, voit pelastaa tiedoston järjestelmän roskakoriin; muista kärki Bash ja mv Kehittäjät matkalla ulos.

Huomaa: Jos tarvitset tukevamman Trash-komennon, jossa on parempi FreeDesktop-vaatimustenmukaisuus, katso Trashy.

yksinkertaistaa git-työnkulkua

jokaisella on ainutlaatuinen työnkulku, mutta yleensä toistuvia tehtäviä on mitä tahansa., Jos työskentelet git säännöllisesti, niin siellä on luultavasti joitakin sekvenssi huomaat toistaa melko usein. Ehkä löydät itsesi menossa takaisin master-haaran ja vetää viimeisimmät muutokset uudestaan ja uudestaan päivän aikana, tai ehkä löytää itsesi luoda tunnisteita ja sitten työntää ne kauko, tai ehkä se on jotain aivan muuta.

riippumatta siitä, mitä git-loitsua olet kyllästynyt kirjoittamaan, saatat pystyä lievittämään jonkin verran kipua bash-peitenimellä., Pitkälti kiitos sen kyky välittää argumentteja koukut, Git on rikas joukko sisäänpäin komentoja, joka säästää saamasta tehdä hämmästyttävän urotekoja Bash.

esimerkiksi, kun et voi taistelu löytää, Bash, on projektin ylimmän tason hakemisto (joka, niin pitkälle kuin Bash on huolissaan, on täysin mielivaltainen nimeäminen, koska absoluuttinen ylin tietokoneeseen on root directory), Git tietää sen ylin yksinkertainen kysely., Jos voit opiskella jopa Git-hooks, löydät itsesi voi löytää kaikenlaista tietoa, että Bash tiedä mitään, mutta voit hyödyntää sitä tietoa Bash alias.,

Tässä on alias löytää huipputason Git hankkeen, ei väliä missä, että projekti olet tällä hetkellä työskentelee, ja sitten muuttaa hakemistoa, muutos master haara, ja suorittaa Git pull:

alias startgit="cd `git rev-parse --show-toplevel` && git checkout master && git pull"

tällainen alias ei suinkaan yleismaailmallisesti hyödyllisiä alias, mutta se osoittaa, kuinka suhteellisen yksinkertainen alias voi poistaa paljon työlästä navigointi, komennot, ja odottaa ohjeita.

yksinkertaisempi ja luultavasti universaalimpi alias palauttaa sinut git-projektin huipputasolle., Tämä alias on hyödyllinen, koska kun työskentelet projektin, että projekti enemmän tai vähemmän tulee ”väliaikainen koti” Hakemisto. Se pitäisi olla niin helppo mennä ”kotiin”, koska se on mennä teidän todellinen koti, ja täällä on peitenimi tehdä se:

alias cg="cd `git rev-parse --show-toplevel`"

Nyt komento cg vie sinut alkuun oman Git hankkeen, ei väliä kuinka syvälle sen hakemiston rakenne on laskeutunut.,

Muuttaa hakemistoja ja tarkastella sisältöä samaan aikaan

– Se oli kerran (väitetysti) ehdottama johtava tutkija, että voisimme ratkaista monia maapallon energia-ongelmia hyödyntämällä käyttämä energia geeks kirjoittamalla cd-seuraa ls.
se on yleinen kuvio, koska yleensä hakemistoja vaihdettaessa on impulssi tai tarve nähdä, mitä ympärillä on.

mutta ”kävellen” tietokoneen hakemistopuun ei tarvitse olla start-and-stop-prosessi.

Tämä on pettämistä, koska se ei ole peitenimi ollenkaan, mutta se on loistava tekosyy tutkia Bash-toimintoja., Vaikka peitenimet ovat hyviä nopeasti korvaavia, Bash voit lisätä paikallisia toimintoja omassa .bashrc-tiedosto (tai erillinen funktiotiedosto, johon lataat.bashrc, aivan kuten teet peitenimet tiedosto).

pitää asiat modulaarisina, Luo uusi tiedosto nimeltä~/.bash_functions ja sitten on sinun .,bashrc ladata se:

if ; then
source $HOME/.bash_functions
fi

toiminnot-tiedoston, lisää tämä koodi:

Load toiminto oman Bash istunto ja sitten kokeilla sitä:

$ source ~/.bash_functions
$ cl Documents
foo bar baz
$ pwd
/home/seth/Documents
$ cl ..
Desktop Documents Downloads

$ pwd
/home/seth

Toiminnot ovat paljon joustavampia kuin peitenimet, mutta, että joustavuutta tulee vastuu varmistaa, että koodi on järkevää ja mitä voit odottaa. Peitenimien on tarkoitus olla yksinkertaisia, joten pidä ne helppoina, mutta hyödyllisinä. Vakavia muutoksia siihen, miten Bash käyttäytyy, käyttää toimintoja tai mukautettuja shell skriptejä tallennettu paikkaan polku.,

tiedoksi, on olemassa joitakin fiksu hakata toteuttaa cd ja ls järjestyksessä kuin alias, joten jos olet tarpeeksi kärsivällinen, niin vain taivas on rajana, jopa käyttämällä nöyrä aliaksia.

Aloita aliasointi ja toiminta


Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *