Speed ​​opp din Terminal arbeidsflyt med Command aliaser og .profile

Speed ​​Up Your Terminal arbeidsflyt med Command aliaser og .profile
Dette innlegget er en del av en serie som heter Taming The Terminal.Quick Tips: Organisere Dock Med SpacersQuick Tips: Lightning Fast File Creation med Terminal

Hva er de mystiske ".profile" og "Bash_profile" filer du har hørt om? Hvordan du går om å legge noe til PATH, som mange programmer ber deg om å gjøre (men ingen forklare hvordan)? Hva er aliaser og hvordan kan de hjelpe din arbeidsflyt? Lær alt dette og mye mer i denne artikkelen om å ta dypere kontroll av OS X.




Lære å bruke .profile å sette opp aliaser

Hvis du ' har gjort noe annet enn surfe sosiale nettverk og se filmer på din Mac, vet du det er noen mystiske ting som skjer under panseret. Kanskje du har installert et program som Homebrew pakkebehandleren som ba deg om å gjøre noe obskurt som "Legg til /usr /local /sbin til banen", eller kanskje du har hørt ordet "alias kommandoen" nevnt eller hadde en søknad fortelle deg å "legge X profilen din".

de aliaser som presenteres i denne artikkelen vil få fart på arbeidsflyten.

Gjennom denne artikkelen, er det min intensjon å dekke grunnleggende disse tilsynelatende svart magi handlinger og for å få deg introdusert til den fantastiske verden av aliaser. Mens sette opp aliaser i måten som er beskrevet i denne artikkelen vil være uvurderlig for programvareutviklere, vil tilfeldige brukere får bruk for dem også.

Hva er aliaser?

aliaser er snarveier til kommandoer . For eksempel (og en død enkel en på det), hvis du bruker Terminal for å gjøre noe, som å gå inn i /Users /[brukernavn] /nettsteder /mappe, har du sannsynligvis bruke
$ cd /Users /[brukernavn] /nettsteder

eller
$ cd ~ /nettsteder

en gang i det, trenger du sannsynligvis å angi et bestemt prosjekt, (for eksempel "mittprosjekt") og du gjør dette ved å skrive
$ cd mittprosjekt

mens du skriver det ut i en kommando, som så:
$ cd ~ /nettsteder /mittprosjekt

er ikke veldig tidkrevende, kan det bli kjedelig, særlig i dypt nestede mapper, eller hvis du trenger å bytte mapper ofte.

med aliaser, kan du gjøre det raskere

aliaser hjelpe deg å forkorte lange kommandoer eller kommandokjeder

Prøv å åpne Terminal (ved å gå til Programmer - >.. Utilities - > Terminal) og skrive
$ alias goto_web = "cd ~ /Sites"

Sørg for at en mappe som heter nettsteder finnes i hjem-mappen, og skape en mittprosjekt mappe inni den. Deretter utføre følgende kommando i terminal:
$ alias goto_myP = "goto_web; cd mittprosjekt"

Nå skriver "goto_myP" og se magien skje når du trykker Enter. Det gikk automatisk inn ~ /nettsteder /mittprosjekt, uansett hvor du var da du skrev den ut. Fordelene er todelt:.


    Du kan skrive goto_ og trykk TAB for å få en liste over mulige goto aliaser du har definert så langt

    Hvis rotmappen på web prosjekter noensinne endres (f.eks nettsteder til MySites), er alt du trenger å gjøre endre hoved goto_web alias, og endringer kaskade til alle de andre som bruker det.
    Sette opp aliaser manuelt
    Trouble in Paradise

    Det er et problem, skjønt. Så snart vi logge ut, er aliasene vi definert på denne måten borte. De er ikke lagret noe sted, og operativsystemet ble ikke bedt om å sette dem opp igjen når vi logger tilbake igjen. Så hvordan skal vi håndtere dette problemet? Den .profile filen.

    Så snart brukeren logger ut, terminaldefinerte aliaser forsvinne.

    La oss starte med det grunnleggende.

    Hva er .profile?

    Hvis en fil er navnet starter med "." (Dot) karakter, er at filen gjemt

    "." (Dot) foran visse filnavn betyr at filen er "skjult". Denne notasjonen er vanligvis det for systemfiler som ikke skal være synlig som standard, og ville heller bare komme i veien med å være irriterende eller ved å være volatil ettersom at deres endring kan påvirke systemet på en uønsket måte.

    .DS_Store filer, for eksempel, hører hjemme i kategorien "irriterende" og er opprettet av programmet "Finder" i hver mappe du åpner med den. Hvis du krysser mapper gjennom terminalen ved hjelp av "cd mappenavn", vil .DS_Store filene ikke opprettes. Men Finder lagrer litt informasjon i dem som la den holde orden på filsystemet og forbedre surfing og søkbarhet.

    På et beslektet notat, er den nevnte .profile filen en skjult fil. Det er en valgfri fil som forteller systemet hvilke kommandoer som skal kjøres når brukeren som profilfilen det er loggene i. For eksempel, hvis mitt brukernavn er Bruno, og det er en .profile fil i /Users /Bruno /, alt innholdet vil bli utført i løpet av innloggingsprosedyre.

    du kan se hvor vi kommer med dette, kan du ikke? Vi bruker .profile filen for å redde våre alias kommandoer fra oven, for å utføre dem på hver innlogging, slik at disse aliasene blir vedvarende.

    Innholdet i en .profile filen blir utført på hver log i av eieren av filen

    Hva er Bash_profile da? Det er nøyaktig det samme, men under et annet navn. Den unix shell du logger inn, i dette tilfellet OS X, ser for etc /profile og laster det hvis det finnes. Deretter ser det for ~ /.bash_profile, ~ /.bash_login og endelig ~ /.profile, og laster den første av disse blir funnet.

    Jeg bruker .profile men hvis du foretrekker eller har noen av de andre seg, gjerne endre navn /sette dem sammen til ett, gjøre hva du vil med dem. Deres syntaksen er identisk - bare husk bare en er lastet, og OS ser for dem i den rekkefølgen som er nevnt ovenfor. Mer informasjon om disse filene finner du her.

    Finne .profile

    Men hvis det er skjult, hvordan vi ser det? Hvordan kan vi redigere en fil vi ikke skal se? Som den store kommandør Hannibal vil si - "vi vil enten finne en [.profile fil], eller lage en". Ok, sa han "vei", men hovedpunkt er den samme. Dette er de to mest vanlige måter å vise skjulte filer:

    Den første er å gjøre dem synlige for deg, men likevel skjult. På denne måten er ikke anbefalt for tilfeldige brukere. Skriv inn følgende kommando i Terminal:
    defaults write com.apple.finder AppleShowAllFiles TRUE

    Følg denne opp med et Finder omstart:
    $ killall Finder

    Dette fortalte Finder til å slutte å ignorere skjulte filer i mappene det åpnes, og deretter tvunget til å starte på nytt og å erkjenne de nye innstillingene. Hvis du åpner en mappe i Finder nå, bør du se en .DS_Store fil inni den, og kanskje til og med noen andre skjulte mapper og filer som i mitt eget hjem mappen nedenfor.
    Etter å ha gjort metode en, vil du være i stand til å se skjulte filer og mapper i Finder

    den andre metoden er å se bare for de filene du trenger, gjennom Terminal. Begynn terminal, og gå til Hjem-mappen ved å skrive følgende:
    $ cd ~ /

    . Tips: Du kan også gå til Hjem-mappen ved bare å skrive cd og følge den opp med et mellomrom

    Når du er der, skriver dette:
    $ ls -a

    denne lister (LS) innholdet i mappen du er i, og -a
    parameter vi lagt forteller det vise "alle" filer -. inkludert skjulte seg
    Ved å bruke metoden to, skjulte filer og mapper vil bli avslørt i Terminal

    Bruk en av de to metodene over for å finne ut hvilke skjulte filer hjem-mappen inneholder, og sørge for en .profile eller Bash_profile filen er der. Hvis noen av dem finnes, stor. Hvis de ikke er til stede, opprette .profile filen ved hjelp av Terminal, som så:
    $ preg ~ /.profile

    En eller annen måte, er vi nå bestemt at .profile filen finnes. Nå la oss legge til noen kommandoer til det!

    Fylle den .profile File

    Vi må først åpne filen for redigering. Siden det er enklere å redigere en fil i et tekstbehandlingsprogram med en faktisk GUI, vil vi ikke være redigerings gjennom terminalen, men gjennom TextEdit. Skriv inn følgende:
    $ åpen -e ~ /.profile

    Eller bare dobbeltklikke på filen hvis du brukte metoden en for å vise skjulte filer og plukke TextEdit fra programvalg vinduet. Den "åpne" kommandoen åpner en fil ved hjelp av standardprogrammet hvis det kan finne ut hva det er: -e
    forteller det å bruke standard tekstredigeringsprogram for gjeldende OS, og den siste delen er filen vi ønsker å åpne

    Når filen er åpen, kan vi legge til følgende linjer:
    alias goto_web = "cd ~ /steder" alias goto_myP = "goto_web; cd mittprosjekt" alias reload_profile = ".. ~ /.profile "

    nå lagre og avslutte. De to første aliaser er allerede blitt forklart ovenfor. Som for den tredje -. Hvis du noen gang endre .profile filen mid-session som vi gjorde, det må lastes inn på nytt for å få virkning

    Du vil vanligvis gjøre dette manuelt ved å skrive
    $ source ~ /.profile

    eller bare
    $. ~ /.profile

    Men vi kan like godt gjøre livet enklere rett utenfor balltre og definere et alias for det også. Men vi kan ikke bruke det ennå fordi .profile har faktisk ikke blitt lastet, så for å forhindre dette catch 22 fra smeltende hjernen vår, utføre en av kommandoene ovenfor (manuell reload).

    Hvis du noen gang endre .profile filen mid-session, det må lastes inn på nytt for å få effekt.

    Når dette er gjort, gi det et forsøk. Skriv "goto_web" og se om det fungerer. Når du starter eller logg ut og logg inn igjen, bør alias fortsatt være i live og skal fortsatt fungere. Den "reload_profile" alias vil nå arbeide også.

    Det er alt som skal til! Du kan nå legge til dine egne aliaser. Føler ikke begrenset til bare goto aliaser enten (merk: de ikke egentlig trenger å bli kalt goto_ *, jeg bare kalle dem det for gruppering formål), leke seg og experment med favoritt Terminal kommandoer. Her er en del av min egen fil med inline kommentarer for enkelhets skyld:


    # Se http://www.shellperson.net/using-sudo-with-an-alias/alias sudo = 'sudo' # Dette hjelper meg å redigere filer som min brukeren er ikke eieren ofalias edit = 'SUDO_EDITOR = "åpen -FWne" sudo -e' # aliaset som tar meg her - for å redigere disse svært aliasesalias edit_profile = "åpen -e ~ /.profile '# jeg gjør mye av webutvikling, så jeg trenger å redigere disse ikke eide filer ganske oftenalias edit_hosts =' redigere /etc /hosts'alias edit_httpd = 'rediger /etc/apache2/httpd.conf'alias edit_php = rediger /etc/php.ini'alias edit_vhosts = rediger /etc/apache2/extra/httpd-vhosts.conf'# Noen av mine goto kommandoer, inkludert en for å åpne php forlengelse mappe for når jeg trenger å installere tilpassede extensionsalias goto_mw = 'goto_web; cd mindworks'alias goto_web = 'cd ~ /Sites'alias goto_phpext =' sudo open /usr /lib /php /extensions /nei-debug-ikke-zts-20100525 "# Dette alias rekursivt ødelegger alle .DS_Store filer i mappen jeg er for tiden inalias killDS = 'finne. -name * .DS_Store -type f -Slett '# Et alias for å starte min tilpasset MySQL installasjon i stedet for standard onealias mysql =' /usr /local /mysql-5.5.25-osx10.6-x86_64 /bin /mysql -u root '# dette alias laster dette filealias reload_profile ='. ~ /.profile '# Mac seg fast svært ofte og er svært treg og ustabil på driftsstans. Dette tvinger en shutdown.alias poweroff = 'sudo /sbin /shutdown-h nå' # innstilling for den nye UTF-8 terminal støtte i Lion /Mountain Lionexport LC_CTYPE = en_US.UTF-8export LC_ALL = en_US.UTF-8 # Legger alle disse veier til PATH-variabelen. Den kolon (:) er banen separator. # Når du trenger å "legge noe til banen" du skal legge banen til sin kjørbare filen til denne listen over baner, atskilt med en colon.export PATH="/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin"
    Conclusion

    Whether din bruk av Terminal er tilfeldig eller tung, den .profile filen kan gjøre livet ditt uendelig lettere. Å ha de mest brukte kommandoene alt på ett sted der du ikke bare kan se dem når du glemme noen av dem, men også automatisk laste dem inn på hver log-in kan enkelt barbere timer av en arbeidsuke.

    Hva er best de fleste av kommandoene er * nix kompatible, så kan du ikke bare ta filen med deg til et annet OS X-maskin, kan du også inkludere den i Linux-maskiner hvis du bruker noen. Med .profile filen er hastigheten oppgradering av arbeidsflyten som finnes i en enkelt fil du enkelt kan ta med deg.

    Lek litt med det, gjøre opp noen flere aliaser som kan være nyttig (som vis /skjul skjulte filer med en enkel kommando - jeg skal la deg finne ut av på egen hånd), og gi din arbeidsflyt speed et nivå opp
    .