Vad är de mystiska ".profile" och ".bash_profile" -filerna du hört om? Hur går du om att lägga till något till PATH, vilket många applikationer ber dig att göra (men ingen förklara hur)? Vad är aliaser och hur kan de hjälpa ditt arbetsflöde? Lär dig allt detta och mycket mer i den här artikeln om att ta djupare kontroll över OS X.
Om du har gjort något annat än surfa sociala nätverk och titta på filmer på din Mac, vet du att det finns några mystiska saker som händer under huven. Kanske har du installerat en applikation som Homebrew-pakethanteraren som bad dig göra något obskärt som "Lägg till / usr / local / sbin på din väg", eller kanske du har hört ordet "alias command" som nämnts eller ens hade en ansökan berätta att du lägger till X i din profil.
Aliaserna som presenteras i den här artikeln kommer att påskynda ditt arbetsflöde.
Genom denna artikel är det min avsikt att täcka grunderna för dessa till synes svart magiska handlingar och för att få dig introducerad till den underbara världen av aliaser. Medan du installerar aliaser på det sätt som beskrivs i den här artikeln kommer det att vara ovärderligt för programutvecklare, tillfälliga användare kan lätt hitta en användning för dem också.
Aliaser är genvägar till kommandon. Till exempel (och en död enkel på det), om du använder Terminal för att göra något, som att gå in i ditt / Användare / [användarnamn] / Sites / folder, använder du förmodligen
$ cd / användare / [användarnamn] / webbplatser
eller
$ cd ~ / webbplatser
En gång där måste du förmodligen ange ett specifikt projekt (till exempel "myProject") och du gör det genom att skriva
$ cd myProject
Samtidigt skriver du allt i ett kommando, som så:
$ cd ~ / Sites / myProject
Det är inte mycket tidskrävande, det kan bli tråkigt, särskilt i djupt kapslade mappar eller om du behöver byta mappar ofta.
Med alias kan du göra det snabbare.
Aliaser hjälper dig att förkorta långa kommandon eller kommandokedjor.
Prova att öppna Terminal (genom att gå till Program -> Verktyg -> Terminal) och skriva
$ alias goto_web = "cd ~ / Sites"
Kontrollera att en mapp som heter Sites finns i din hemmapp och skapa en myProject-mapp inuti den. Gör sedan följande kommando i terminal:
$ alias goto_myP = "goto_web; cd myProject"
Skriv nu "goto_myP" och kolla på magiken som händer när du trycker på Enter. Det gick automatiskt in i ~ / Sites / myProject, oavsett var du var när du skrev ut det. Fördelarna är dubbla:
Det finns dock ett problem. Så snart vi loggar ut, är de alias som vi definierat på detta sätt borta. De sparas inte någonstans, och operativsystemet fick inte veta att de skulle ställas upp igen när vi loggade in igen. Så hur hanterar vi det här problemet? .Profilfilen.
Så snart användaren loggar ut, försvinner de terminaldefinierade aliaserna.
Låt oss börja med grunderna.
Om en fils namn börjar med "." (dot) tecken, den filen är dold
"." (punkt) framför vissa filnamn betyder att filen är "dold". Denna notation finns vanligtvis för systemfiler som inte bör synas som standard och skulle antingen komma iväg genom att vara irriterande eller genom att vara flyktiga, eftersom deras förändring kan påverka systemet på ett oönskat sätt.
.DS_Store-filerna hör till exempel i kategorin "irriterande" och skapas av programmet "Finder" i varje mapp som du öppnar med den. Om du går igenom mappar via terminalen med "cd mappnamn" kommer inte .DS_Store-filerna att skapas. Men Finder lagrar viss information i dem som låter den hålla reda på ditt filsystem och förbättra webbläsningen och sökbarheten.
I en relaterad anteckning är den ovan nämnda .profilfilen en dold fil. Det är en valfri fil som berättar det system som kommandon körs när användaren vars profilfil den loggar in. Till exempel, om mitt användarnamn är bruno och det finns en .profil i / Users / bruno /, hela dess innehåll kommer att utföras under inloggningsförfarandet.
Du kan se vart vi går med det här, kan du inte? Vi använder .profilen för att spara våra aliaskommandon ovanifrån, för att kunna utföra dem på varje inloggning så att dessa alias blir ihållande.
Innehållet i en .profilfil körs på varje inloggning av ägaren till filen
Vad är .bash_profilen då? Det är exakt detsamma, men under ett annat namn. Unix-skalet du loggar in, i detta fall OS X, letar efter etc / profil och laddar det om det finns. Då letar den efter ~ / .bash_profile, ~ / .bash_login och äntligen ~ / .profile, och laddar den första av dessa som den finner.
Jag använder .profile men om du föredrar eller har någon av de andra, känner du dig fri att byta namn / slå ihop dem i en, gör vad du vill med dem. Deras syntax är identisk - bara kom ihåg bara en laddad, och operativsystemet letar efter dem i den ordning som nämns ovan. Mer information om dessa filer finns här.
Men om det är gömt, hur ser vi det? Hur kan vi redigera en fil som vi inte ska se? Som den stora befälhavaren skulle Hannibal säga - "vi kommer antingen att hitta en [.profile-fil] eller göra en". Ok, han sa "vägen", men kärnan är densamma. Det här är de två vanligaste sätten att visa dolda filer:
Den första är att göra dem synliga för dig, men fortfarande dold. Det här sättet rekommenderas inte för tillfälliga användare. Skriv följande kommando i Terminal:
standardvärden skriv com.apple.finder AppleShowAllFiles TRUE
Följ upp detta med en återstart av Finder:
$ killall Finder
Detta berättade för Finder att sluta ignorera dolda filer i mapparna som den öppnar och tvingade den sedan att starta om och bekräfta de nya inställningarna. Om du öppnar någon mapp i Finder nu borde du se en .DS_Store-fil inuti den, och kanske även några andra dolda mappar och filer som i min egen hemmapp nedan.
Den andra metoden är att bara titta på de filer du behöver, via terminalen. Starta terminalen och gå till din hemmapp genom att skriva följande:
$ cd ~ /
Tips: Du kan också gå till din hemmapp genom att bara skriva cd och följa upp den med ett mellanslag.
En gång där, skriv det här:
$ ls -a
Detta listar (ls) innehållet i den mapp du befinner dig i, och -en parameter vi lagt till berättar att den visar "alla" filer - inklusive dolda.
Använd någon av de två metoderna ovan för att ta reda på vilka dolda filer din hemmapp innehåller och se till att filen .profile eller .bash_profile finns. Om någon av dem existerar, bra. Om de inte är närvarande, skapa .profile-filen med hjälp av Terminal, så här:
$ touch ~ / .profile
På ett eller annat sätt är vi nu säkra på .profilen finns. Låt oss nu lägga till några kommandon till den!
Vi behöver först öppna filen för redigering. Eftersom det är lättare att redigera en fil i ett textredigeringsprogram med en verklig GUI, kommer vi inte att redigera via terminal, men via TextEdit. Skriv följande:
$ open -e ~ / .profile
Eller dubbelklicka på filen om du använde metod en för att visa dolda filer och välja TextEdit från fönstret Programval. Kommandot "öppet" öppnar en fil med standardprogrammet om det kan ta reda på vad det är, -e berättar att den använder standardtextredigeraren för det aktuella operativsystemet, och den sista delen är filen vi vill öppna.
När filen är öppen kan vi lägga till följande rader:
alias goto_web = "cd ~ / Sites" alias goto_myP = "goto_web; cd myProject" alias reload_profile = ". ~ / .profile"
Spara och avsluta nu. De två första aliaserna har redan förklarats ovan. När det gäller den tredje - om du någonsin ändrar .profilfilens mellansession som vi just gjorde, måste den laddas om för att träda i kraft.
Du brukar göra det manuellt genom att skriva
$ source ~ / .profile
eller bara
$. ~ / .Profile
Men vi kan också göra våra liv enklare precis utanför flaggan och definiera ett alias för det också. Vi kan emellertid inte använda det just för att profilet inte har laddats, för att förhindra att denna fånga 22 från att smälta våra hjärnor, kör en av ovanstående kommandon (manuellt omladdning).
Om du någonsin ändrar .profilfilens midsession, måste den laddas om för att träda i kraft.
En gång gjort, ge det ett steg. Skriv "goto_web" och se om det fungerar. När du omstartar eller loggar ut och loggar in igen, ska aliaset fortfarande lever och ska fortfarande fungera. "Reload_profile" -aliaset fungerar nu också.
Det är allt det finns! Du kan nu lägga till egna alias. Får inte vara begränsad till att bara goto aliaser heller (notera: de behöver inte faktiskt kallas goto_ *, jag kallar dem bara för gruppering), leker och experimenterar med dina favorit Terminalkommandon. Här är en del av min egen fil med inline kommentarer för din bekvämlighet:
# Se http://www.shellperson.net/using-sudo-with-an-alias/ alias sudo = "sudo" # Det här hjälper mig att redigera filer som min användare inte är ägare till alias edit = "SUDO_EDITOR =" open -FWne "sudo -e" # Aliaset som tar mig hit - att redigera dessa aliaserna alias edit_profile = "open -e ~ / .profile" # Jag gör mycket webbutveckling, så jag måste redigera dessa icke- ägda filer ganska ofta alias edit_hosts = "redigera / etc / hosts" alias edit_httpd = "redigera /etc/apache2/httpd.conf" alias edit_php = "edit /etc/php.ini" alias edit_vhosts = "redigera / etc / apache2 / extra / httpd-vhosts.conf "# Några av mina goto-kommandon, inklusive en för att öppna php-tilläggsmappen för när jag behöver installera anpassade tillägg alias goto_mw =" goto_web; cd mindworks "alias goto_web =" cd ~ / Sites "alias goto_phpext = "sudo öppen / usr / lib / php / extensions / no-debug-non-zts-20100525" # Det här aliaset förstör rekursivt alla .DS_Store-filer i mappen Jag är för närvarande i alias killDS = "hitta. DS_Store -type f -delete "# Ett alias för att starta min anpassade MySQL insta llation i stället för standard ett alias mysql = "/ usr / local / mysql-5.5.25-osx10.6-x86_64 / bin / mysql -u root" # Det här aliaset laddar upp det här filen alias reload_profile = ". ~ / .profile "# Mac sitter fast ofta och är extremt långsam och instabil vid avstängningar. Detta försvårar avstängning. alias poweroff =" sudo / sbin / shutdown -h nu "# Inställning för det nya UTF-8-terminalstöd i Lion / Mountain Lion export LC_CTYPE = en_US.UTF-8 export LC_ALL = en_US.UTF-8 # Lägger till alla dessa sökvägar till PATH-variabeln. Kolon (:) är sökvägen separator. # När du behöver "lägga till något på sökvägen" Du ska lägga till sökvägen till den körbara filen till den här listan med sökvägar, åtskilda av ett kolon. exportera PATH = "/ usr / local / bin: / usr / local / sbin: / usr / bin: / bin: / usr / sbin: / sbin: / usr / X11 / bin"
Oavsett om din användning av terminalen är avslappnad eller tung, kan .profilfilen göra ditt liv oändligt lättare. Med dina mest använda kommandon på ett ställe där du inte bara kan se dem när du glömmer några av dem utan också automatiskt laddar in dem på varje inloggning kan du enkelt raka timmar utanför en arbetsvecka.
Vad som är bäst, de flesta kommandon är * nix-kompatibla, så du kan inte bara ta filen med dig till en annan OS X-maskin, du kan även inkludera den i dina Linux-maskiner om du använder någon. Med .profilfilen ingår hastighetsuppgraderingen av ditt arbetsflöde i en enda fil som du enkelt kan ta med dig.
Leka med det, gör upp några fler aliaser som kan vara användbara (som visa / dölja dolda filer med ett enda kommando - jag låter dig räkna ut den där ut själv) och ge din arbetsflödeshastighet en nivå.