For de fleste tilfeldige brukere er OS X-kommandolinjen, som er tilgjengelig via Terminal-appen, minst like grumsete og skremmende som Windows Command Prompt, som bare skal brukes i tider med ekstrem nød. For disse brukerne er dette vanligvis når noe har gått uforklarlig galt, og det å skrive kryptiske kommandoer i meldingen virker det eneste håpet på en kur. Selvfølgelig, sannsynligvis starter de faktisk en lansering
tjeneste eller sletting av plist
fil.
For de som er kjent med Unix-skallet, er kommandolinjen eller terminalen et kraftig verktøy som kan brukes til å legge til rette for mange systemfunksjoner og interaksjoner. Fordi OS X er bygget opp rundt en BSD-kjerne, kan du overføre de fancy one-liners og hoppe over de tungvinte GUI-verktøyene for å gjøre enkle ting som å gå i et katalogtre, slette alle filer eldre enn 30 dager eller trekke en liste med filer i gjeldende katalog som inneholder en spesifikk tekststreng. Selv om grafiske grensesnitt kan forenkle mange oppgaver, kan de også komplisere andre oppgaver - og kommandolinjen kommer til unnsetning.
OS X har skjulte perler som selv strømbrukere kanskje ikke vet om. Her er en liste over 10 nyttige verktøy som lar deg utføre mange funksjoner på din Mac fra kommandolinjen. Du bør finne alle nyttige og i minst ett tilfelle til og med underholdende.
1. pbcopy
og pbpaste
: Kopier og lim inn til / fra utklippstavlen
De pbkopi
og pbtaste
verktøy fungerer sammen, og gir tilgang til og fra systemutklippstavlene / pasteboards fra kommandolinjen. Hvis du for eksempel vil liste opp alle filene i en katalog som starter med bokstaven "f" og legge den listen inn i utklippstavlen, skriver du inn følgende:
$ ls f * | pbkopi
Boom - den utgangen kan deretter limes inn i en hvilken som helst GUI-app.
Det omvendte fungerer som du kanskje forventer. Hvis du har den listen over filer i utklippstavlen fra en annen app, kan du behandle den på kommandolinjen med pbpaste
:
$ pbpaste | grep foo
Den vil bruke grep
kommando for å trekke ut bare linjene som inneholder strengen foo
.
Hvis arbeidet ditt tar deg inn på kommandolinjen sammen med GUI-apper, kan disse to kommandoene definitivt komme til nytte.
2. rsync
: synkroniser filer eller kataloger
De rsync
verktøy kan synkronisere katalogtrær mellom mapper på samme system eller mellom mapper på et lokalt og et eksternt system. Det er utrolig nyttig og har vært en bastion av IT i mange år. Den er også inkludert i OS X.
Hvis du har behov for å holde to katalogtrær identiske, bruker du rsync
på det lokale systemet er trivielt:
$ rsync -av / bane / til / katalog1 / / bane / til / katalog / 2 /
Dette vil sørge for at alle filer i / sti / til / katalog1 / også eksisterer i / sti / til / katalog2 /. Hvis du vil gjøre katalogene nøyaktig identiske, må du instruere deg rsync
for å også slette filer i / path / to / directory2 / som ikke finnes i / path / to / directory1 /:
$ rsync -av - slett / sti / til / katalog1 / / bane / til / katalog2 /
Hvis du ikke vil at filene skal være oppført under synkronisering, fjerner du v
flagg:
$ rsync -a - slett / sti / til / katalog1 / / bane / til / katalog2 /
Eller hvis du vil se hvilke filer som skal kopieres eller slettes, kan du legge til en n
:
$ rsync -avn - slett / bane / til / katalog1 / / bane / til / katalog2 /
Du kan også bruke rsync
mellom forskjellige systemer, så lenge det eksterne systemet har rsync
installert og kjører SSH:
$ rsync -av --delete / path / to / directory1 / user @ remotesystem: / path / to / directory1 /
Vær oppmerksom på at etterfølgende skråstrek er viktig her. Det indikerer det rsync
er å lese filer innenfor kildekatalogen og synkronisere dem innenfor destinasjonskatalogen. Utelat skråstrek, og rsync
vil kopiere (legge til) kildekatalogen til destinasjonskatalogen, og opprette et ekstra katalognivå som du kanskje ikke hadde ment.
For å aktivere SSH-tilgang på en Mac, åpne Systemvalg, gå til Deling og velg Ekstern pålogging. Du vil da kunne rsync
til Mac over SSH, eller bruk SSH for å koble til et skall på systemet.
3. ditto
: Kopier eller slå sammen kataloger eller arkiver
De ditto
kommandoen er overfladisk lik rsync
, men i virkeligheten er det et helt annet verktøy. Det har vært inkludert i OS X i ganske lang tid, men er fortsatt relativt ukjent.
Som rsync
, ditto
kan brukes til å kopiere katalogtrær, bevare tillatelser, eierskap og metadata. Og dermed:
$ ditto / sti / til / kilde / sti / til / destinasjon
Hvis destinasjonskatalogen ikke eksisterer, ditto
vil lage en nøyaktig kopi av kildekatalogen der. Hvis destinasjonskatalogen finnes, ditto
vil slå sammen kildekatalogen med destinasjonen og overskrive dupliserte filnavn. For eksempel kan du bruke ditto
å slå innholdet i to store kataloger av bilder sammen til en enkelt nestet katalogstruktur.
Men ditto
går lenger, da det også kan opprette, trekke ut og manipulere CPIO (Copy In, Copy Out) og Zip-arkiver. Du kan angi en dokumentliste (bom) dokument som ditto
vil bruke til å selektivt kopiere eller slå sammen, har ditto
utelate metadata under filkopiene, eller til og med instruere ditto
for å redusere universelle binærfiler til en bestemt arkitektur under en operasjon.
De ditto
verktøyet er et ganske komplekst verktøy som kan være veldig nyttig når det brukes riktig, men det kan også ta litt eksperimentering for å forstå det.
4. tmutil
: Sikkerhetskopier og gjenopprett med Time Machine
Apples Time Machine-funksjon er ekstremt nyttig for å gi brukerne en måte å opprettholde løpende sikkerhetskopier av datamaskinene sine til en ekstern stasjon, for eksempel en NAS eller USB-stasjon. Når det er sagt, kan "Star Wars" -grensesnittet være tungvint når strømbrukere prøver å navigere i sikkerhetskopier, og kontrollene i Systemvalg er ganske spartanske.
Heldigvis, tmutil
er der for å fylle ut hullene når du trenger det.
For eksempel, mens Time Machine GUI viser deg den siste sikkerhetskopien, hvis du vil vise alle tilgjengelige sikkerhetskopier, kan du kjøre følgende:
$ tmutil listbackups
Du ser en liste over alle tilgjengelige sikkerhetskopier av det nåværende systemet. For å se den siste sikkerhetskopien, skriv inn følgende:
$ tmutil latestbackup
Du kan også bruke tmutil
for å starte og stoppe sikkerhetskopier, sammenligne sikkerhetskopier med hverandre, analysere mengden endring mellom sikkerhetskopier, arve sikkerhetskopier som kan ha blitt laget fra et eldre system, vise informasjon om sikkerhetskopidestinasjoner, tilknytte og koble fra destinasjoner for sikkerhetskopiering, og til og med gjenopprette filer fra en sikkerhetskopi.
I utgangspunktet er alle sikkerhetskopierelaterte oppgaver som en strømbruker mangler i GUI tmutil
. Hvis du er i alvorlig nød og trenger å grave dypere i sikkerhetskopier for å fikse noe, kan det være en livredder.
5. fs_bruk
: Vis filsystemaktivitet
Hvis du noen gang har vært i en posisjon der disken din smelter, og du vil ha en rask kommandolinjekikk på hvilke systemprosesser som forårsaker uroen, fs_bruk
har ryggen. Dette verktøyet gir en konstant strøm av sanntidsinformasjon om hvilke prosesser som får tilgang til filsystemet.
Som standard, fs_bruk
unntar noen få prosesser fra utdataene, inkludert Terminal og Secure Shell (sshd
). Du kan løpe fs_bruk
i Terminal slik:
$ sudo fs_usage
Hvis du bruker et annet terminalprogram, må du frita det fra utdataene med -e
bytte om:
$ sudo fs_usage -e iTerm
Ovennevnte vil frita begge deler fs_bruk
og iTerm-appen fra utgangen.
I tillegg til å tilby et systemomfattende syn, fs_bruk
kan profilere individuelle prosesser, for eksempel Google Chrome:
$ sudo fs_usage "Google Chrome"
6. drutil
og hdiutil
: Brenn CDer og DVDer og manipuler diskbilder
Hvis du noen gang har ønsket å brenne en data-DVD eller lyd-CD raskt og enkelt, drutil
er til deg. Med den kan du brenne et katalogtre til en CD med en enkelt linje:
$ drutil burn / path / to / folder
Hvis du vil brenne en lyd-CD, kan du bare referere til en katalog full av lydfiler:
$ drutil burn -audio / path / to / folder
Dette verktøyet kan også være nyttig for å slette CD-RW-medier med viske ut
kommando (drutil slette / sti / til / mappe
). Med bulkerase
kommandoen, vil den slette en CD-RW-plate, skyve den ut og vente på at en annen skal settes inn, og skyll og gjenta.
De hdiutil
verktøyet er noe relatert, i det hdiutil
brukes til å manipulere diskbilder. Du kan bruke hdiutil
for å lage et Apple-diskbilde (det vil si en DMG-fil) fra en katalogbane:
$ hdiutil opprett -srcfolder / path / to / files / myfiles.dmg
I El Capitan kan du brenne ISO-bilder til CDer med følgende kommando:
$ hdiutil burn /path/to/file.iso
De hdiutil
verktøyet har også mange andre funksjoner, for eksempel montering og avmontering av bilder, konvertering av bildeformater, oppretting av krypterte bilder og verifisering av bilder.
7. system_profiler
: Rapporter systeminformasjon
Når du feilsøker problemer eller undersøker et system, er det nyttig å kunne få en rapport om all relevant informasjon om maskinvaren og programvaren som er i bruk. Det er hva system_profiler
gjør det, og det sendes ut som rapporterer til en tekstfil for enkel lesing.
For de fleste formål er grunnleggende rapport tilstrekkelig:
$ system_profiler -detailLevel basic> report.txt
Dette vil gi deg massevis av data på systemet, fra grunnleggende som CPU, RAM, grafikk og lagring til serienummer, maskinvare-UUID, nettverksinformasjon, RAM-sporpopulasjon, nettverksinformasjon, strøminformasjon, skriverprogramvare, USB, Thunderbolt og Time Machine sikkerhetskopiinformasjon.
Det er en one-stop-shop for alle dataene du trenger på en bestemt Mac. Dette er spesielt nyttig når du prøver å feilsøke problemer med et eksternt system du ikke får tilgang til, for eksempel når mor eller far ringer med et uforklarlig problem.
8. tjære
, gzip
, bzip2
, og glidelås
: Opprett og åpne komprimerte arkiver
I Unix-verdenen, tjære
(forkortelse for "båndarkiv") ble opprinnelig brukt til å kopiere filer til sikkerhetskopibånd i standardisert format.
I dag bruker vi ikke lenger tjære
på ganske samme måte. Vi bruker den til å lage arkiver med individuelle filer eller kataloger. Ansatt ved siden av kompresjonsverktøy gzip
og bzip2
, tjære
lar oss lage komprimerte arkiver av filer. Resultatet ligner et Zip-filarkiv, som brukes på Mac, Windows og andre plattformer.
Å lage en gzippet tjære
arkiv av en katalog, kan vi kjøre:
$ tar zcpf myfiles.tgz / path / to / files
Dette vil opprette myfile.tgz, som er et gzipped tar-arkiv av alle filene i den refererte banen. Hvis vi vil bruke bzip2
, vi kan få et mindre arkiv, men det kan ta lengre tid å komprimere og dekomprimere:
$ tar jcpf myfiles.tbz / path / to / files
Og vi kan alltid bruke vanlig zip:
$ zip –r myfiles.zip / path / to / files
For å åpne en gzipped tar-fil, kjører vi denne kommandoen:
$ tjære zxf myfiles.tgz
Å åpne en bzipped (bzip2
) arkiv, er kommandoen følgende:
$ tar jxf myfiles.tbz
Og for Zip-arkiver er kommandoen pakke ut
:
$ pakke ut myfiles.zip
Du kan få bedre kjørelengde ut av tjære
og gzip
eller bzip2
enn glidelås
for noen filtyper, men vær advart om at Windows-brukere ikke vil kunne åpne arkivene uten spesifikk programvare, mens Zip-filer åpnes automatisk i moderne Windows-versjoner.
9. mdfind
: Utfør kraftige søk etter søkelyset
OS X har hatt Spotlight-søk i årevis. Spotlight indekserer filer på disken din og tillater avansert søk etter metadata, filtype, filinnhold og mer. Heldigvis er søkelys også tilgjengelig på kommandolinjen via mdfind
.
Dette fungerer akkurat som Spotlight-verktøyet i Finder, men det er mer fleksibelt i søketyper, og det returnerer alle dataene som er funnet. For eksempel vil følgende kommando returnere bokstavelig talt alt indeksert av Spotlight som inneholder nøkkelordet foobar
:
$ mdfind "foobar"
Du kan også søke i alle metadata, for eksempel filtype:
$ mdfind "kMDItemContentType == 'com.microsoft.word.doc'"
Du kan søke etter filtype med nøkkelord:
$ mdfind "kind: pdf Bread cheese salami"
Du kan til og med søke basert på tidsramme:
$ mdfind -onlyin ./tmp/ 'kMDItemFSContentChangeDate> = $ time.today (-2)'
GUI for søkelys for søkelys er absolutt nyttig for enkle søk, men hvis du virkelig prøver å lete etter lagring etter filer, mdfind
kan være en bedre innsats.
10. si
: La Mac-en din lese en fil for deg
De si
kommando kan være nyttig for de som trenger lydhjelp på grunn av funksjonshemming, men det kan også være veldig gøy. Dette verktøyet gjør hva du kan forvente: Det oversetter tekst til tale. På det mest grunnleggende er det veldig enkelt å bruke:
$ si "Hei verden"
Du får en stereotyp robotstemme som sier "Hei verden." Imidlertid stopper det ikke der. Det er 64 forskjellige stemmer å velge mellom, på en rekke språk. I noen av de utenlandske stemmene vil engelsk tekst bli sagt i en tilnærming til en høyttaler med det språket engelske aksent. Du kan se en liste over alle stemmene med denne kommandoen:
$ si -v ‘?’
Når du har bestemt deg for en passende stemme, kan du ha det si
, vel, si hva som helst på kommandolinjen eller i en vanlig tekstfil. Inkluder --interaktiv
flagg, og si
vil markere ordene mens de leses høyt:
$ si -v Vicki -f myfile.txt --interaktiv
Du kan til og med stille hastigheten som teksten leses tilbake med, og hvis målsystemet er riktig konfigurert, kan du ha det si
lese tilbake tekst på et eksternt system.
GUI for Mac gjør det meste enkelt, og det er et hyggelig sted å tilbringe tiden din. Men det er mer med Macen enn det vakre ansiktet. Når brukergrensesnittet virker for begrenset eller for sakte, kan det være lettere å åpne terminalen og trykke på kommandolinjens kraft. I tillegg til disse 10 essensielle, kan du sjekke de 20 OS X kommandolinjehemmelighetene i forrige artikkel.