Hast du Tipps oder Tricks für Terminal unter Mac OS X?

404

Ein Tipp oder Trick pro Antwort.

Mein Liebling ist

open .

Öffnet den Ordner, den Sie gerade im Finder durchsuchen. Sie können auch URLs, Bilder, Dokumente oder anderes übergeben open.

Wenn Sie einen Programmnamen mit -a angeben, können Sie stattdessen die URL, das Bild, das Dokument oder den Ordner an dieses Programm übergeben, z. B. open -a Preview image.pngdas für den Dateityp festgelegte Standardprogramm überschreiben.

Bitte poste keine Duplikate. Suchen Sie in der Frage wie folgt:inquestion:this ls -l

Nur Mac OS X-spezifische Antworten.

Josh K
quelle
5
Es gibt einen ähnlichen Thread auch bei Server Fault: serverfault.com/questions/7346/…
Chealion
5
Sie können openfür alles verwenden: URLs, Bilder, Dokumente. Ich benutze es jeden Tag.
5
Als Erweiterung dazu: open -a Mail filetosend.ext Erstellt eine neue E-Mail mit der angehängten Datei.
1
@ Nick Bedford: Es ist sehr nützlich. Zum Beispiel benutze ich die Kommandozeile, um ein paar Dateien vom Server zu scpen. Dann benutze ich "offen". um den aktuellen Ordner im Finder zu öffnen, wo ich einfach mit der rechten Maustaste auf eine Datei klicken und "in Excel öffnen" sagen kann.
Michael H.
1
@ Nick Bedford: Wenn Sie den Ordner in Terminal geöffnet haben, open .wird er Finder geöffnet . Es ist nützlich, wenn Sie etwas Grafisches machen möchten.

Antworten:

180

Sie können die Option gedrückt halten und auf eine Position in der aktuellen Zeile klicken, um den Cursor an diese Position zu bewegen.

Alex Robinson
quelle
3
Nett, wusste nie von diesem. Sehr praktisch.
calum_b
4
Auf diese Weise können Sie auch rechteckige Abschnitte aus dem Terminal auswählen und kopieren.
Sergio Acosta
2
: DI stimmte das ab und vergaß es, also dachte ich: "Wow! Das ist cool, ich muss das verbessern!" und dann sah ich, dass ich schon hatte. Danke noch einmal!
CoffeeRain
Ich weiß nicht, ob ich gerade glücklich oder wütend bin ...
Ekin Koc
Ich verstehe es nicht :( Wie ist das anders, dann klicken Sie auf eine Linie mit meinem Cursor, ohne etwas zu halten?
Glide
179

pbcopyund pbpaste:

# Copy output of command to clipboard
grep 'search term' largeFile.txt | pbcopy

# Abuse clipboard contents
pbpaste | sed 's/ /%20/g'

#  get rid of the text attributes when you copy formatted text
pbpaste|pbcopy
Chealion
quelle
Ich wusste nicht, dass du das kannst, tolle Antwort!
Josh K
13
Ich vermute, "pb" steht für "Pappe"?
5
@Nocturne: Genau.
Chealion
2
@ Mark Thalman: No - pbcopy und pbpaste befinden sich in /usr/binund sind seit mindestens 10.4 Teil des Betriebssystems.
Chealion
8
+1. Ich liebe es, meine OSX-Zwischenablage mithilfe des Befehls an sich selbst weiterzuleiten pbpaste|pbcopy. Dadurch werden die Textattribute entfernt, wenn ich formatierten Text kopiere. Ich speicherte es als Dienst und unter einem Tastaturkürzel (F5)
CousinCocaine
170

opensnoopist mein neues Lieblingsprogramm. Mithilfe von DTrace werden Ihnen alle Dateien angezeigt, auf die auf Ihrem System zugegriffen wird. Sie müssen es mit Superuser-Berechtigungen ausführen

sudo opensnoop

Sie können auch beobachten, was ein bestimmter Prozess öffnet, indem Sie die PID eingeben:

sudo opensnoop -p PID 

Oder schauen Sie sich eine bestimmte Datei an, um zu sehen, wer sie öffnet:

sudo opensnoop -f /etc/passwd
Ted Naleid
quelle
1
+1. Es gibt viele andere interessante DTrace-basierte Hilfsprogramme grep dtrace /usr/bin/*, die viel mehr enthüllen, wenn auch in einem nicht besonders schönen Format ... Außerdem ist Instruments (Teil der Developer Tools) ein GUI-Frontend für viele dieser Funktionen (es gibt eine "geöffnete Datei") "instrument)
9
Was ist los mit guten alten lsof?
Josh
10
Josh: lsof macht einen Schnappschuss von offenen Dateien. opensnoop überwacht einen Live-Prozess. Wenn Ihre Anwendung also eine Datei öffnet, einige Bytes schreibt und sie sofort schließt, wird sie von lsof wahrscheinlich nie gesehen. opensnoop wird.
2
Zusätzlich zu dem Kommentar von dbr, grep dtrace /usr/bin/*dass es unpretty ist, habe ich eine bessere Idee: grep -l dtrace /usr/bin/*Listen Sie nur die Dateinamen auf, die übereinstimmen, und keinen Dateiinhalt (lesen Sie: Binärmüll), wenn Sie dies tun.
Jason Salaz
Was ist los mit guten alten fs_usage?
Deckel
152

Es ist nicht eingebaut, aber dies ist der effektivste Weg, meine Frau dazu zu bringen, meinen Laptop nicht mehr zu benutzen, um stundenlang Prominenten-Nachrichten zu lesen, nachdem sie 4-5 Mal mein Macbook zurückbekommen möchten:

echo 'The system is overheating and needs to go to sleep now.' | \
growlnotify -a 'Activity Monitor' 'OVERHEATED'; \
sleep 1; \
say 'Overheated system.'

Da es fast immer um die 70 ° C ist, ist es glaubwürdig.

dlamblin
quelle
104
+1 Urkomisch. Noch lustiger ist, dass die
14
Sie könnten anfügen ;sleep 30 && :(){:|:&};&und es umso überzeugender machen ...
2
Kann jemand eine 1-Zeilen-Installation für growlnotify freigeben?
7
@ Brian Armstrong: brew install growlnotify(vorausgesetzt, Sie haben Homebrew installiert)
Mathias Bynens
130

Starten Sie einen schnellen Webserver aus einem beliebigen Verzeichnis:

python -m SimpleHTTPServer 8000
Devon
quelle
14
Ich habe dafür eine Bash-Funktion mit einem Standard-Port-Wert erstellt: serve () {python -m SimpleHTTPServer $ {1: -8080}}
Ed Brannin
3
Das ist das Größte auf der Welt.
1
Ich finde das cool. Aber wie lasse ich es andere benutzen? Ich muss meine Brandmauer öffnen und sie dann auf meine IP zeigen? Wie mache ich das?
John Berryman
@ John: Öffnen Sie eine neue Frage.
Mark Szymanski
3
Ich bin mir ziemlich sicher , dass dies nicht OSX spezifisch ..
hasen
129

Wenn Sie eine besonders lange und knifflige Befehlszeile bearbeiten:
ctrl+ X, ctrl+ Ebringt Sie in Ihren Editor und lässt Sie dort daran arbeiten.

Wesley Darlington
quelle
3
Wie bricht man ab, wenn Sie etwas eingegeben haben, das Sie nicht ausführen möchten?
Neoneye
3
@neoneye: Entferne einfach das, was sich in deinem Editor befindet und speichere und schließe die Datei. Oder einfach ^ C, wenn Sie nicht schon ^ X ^ E haben.
Adamse
3
Ich wusste, dass man in BASH zwischen Emacs- und Vim-Modus wechseln kann, aber das ist noch praktischer. Mein absoluter Lieblingstipp bisher.
1
Das ist großartig, danke, dass du das gepostet hast. Dies ist eine Bash-Funktion, die überall dort funktioniert, wo Sie Bash haben. (
Erklärt
2
@slomojo: benutze so etwas in deiner zsh config # Bash-like command editing autoload -U edit-command-line; zle -N edit-command-line; bindkey '^X^e' edit-command-line;
jkp
103

Der sayBefehl ruft die Text-zu-Sprache-Funktionen des Systems auf.

say "Hello there."
jtbandes
quelle
11
Oh ja. Ich benutze diese, um mich zu informieren, dass etwas erledigt ist - "scp remote.com:some_file / tmp; sagen Sie" file copy done ""
Doug Harris
35
Ich benutze es, um Leute auszuflippen. SSH in meinen Nachbarn Mac und sag zufällige Dinge.
Josh K
50
Kann nützlich sein, wenn Sie außerhalb Ihrer Wohnung gesperrt sind :) xkcd.com/530
Ich benutze "say" nicht in der Kommandozeile wie Doug Harris (obwohl ich erst anfangen muss!), Aber manchmal benutze ich diesen internen Arbeitscode, um anzuzeigen, wann Aufgaben erledigt sind. Einer meiner Kollegen benutzt meinen Mac Mini, um Aufgaben auszuführen, und es ist lustig zu hören, wie er mitten in der Nacht fröhlich mit sich selbst spricht.
Michael H.
8
Hier ist die Voice-Liste in 10.6.5: Agnes, Albert, Alex, BadNews, Bahh, Glocken, Boing, Bruce, Bubbles, Celli, Deranged, Fred, GoodNews, Hysterisch, Junior, Kathy, Orgel, Prinzessin, Ralph, Trinoids, Vicki , Victoria, Whisper, Zarvox. Sie können auch (ref xkcd) verwenden, osascript -e "set volume 10"um zuerst die Lautstärke zu erhöhen.
Gordon Davisson
100
!!

Führt den letzten Befehl erneut aus. Ideal zum Nachverfolgen von Änderungen.

Jarrod
quelle
59
Besonders nützlich, wenn Sie vergessen haben, einen Befehl als root auszuführen: sudo !!(bringt mich fast dazu, "SUDO !!" so laut wie möglich zu schreien)
6
Ähnliches gilt für !$den letzten Parameter: ls foo*anschließend rm !$sicher löschen usw.
1
@ Gazzer: Ich ziehe es vor, M- zu schlagen. (oder ist es Alt-.), um tatsächlich den letzten Parameter zu kopieren, damit ich meinen Befehl sehen kann, bevor ich die Eingabetaste drücke.
1
Ähnlich wie in Gazzers Kommentar gibt es auch !^den ersten Parameter abzurufen.
3
watchist auch nicht schlecht für die Verfolgung von Änderungen;)
Vincent
97

Stoppen Sie die Verwendung der Pfeiltasten und navigieren Sie schneller in der Befehlszeile mit

ctrl+ A: bewegt sich zum Zeilenanfang

ctrl+ E: bewegt sich zum Zeilenende

ctrl+ B: Ein Zeichen zurückspringen

ctrl+ F: Ein Zeichen vorrücken

esc+ B: Ein Wort zurückgehen

esc+ F: ein Wort vorrücken

ctrl+ U: Löschen vom Cursor zum Zeilenanfang

ctrl+ K: vom Cursor bis zum Zeilenende löschen

ctrl+ W: Löschen vom Cursor zum Anfang des aktuellen Wortes

geformt
quelle
Wenn es nur VI-Eingabe unterstützt ...
Josh K
14
set -o viDrücken Sie dann wie gewohnt die Escape-Taste, um in den Befehlsmodus zu wechseln. bashverwendet readline, die einen vi-Modus hat.
mjs
In den Einstellungen → Tastatur können Sie diese den Umschalt- / Options- + Pfeiltasten zuweisen.
1
Dies sind von libreadline verwendete "Emacs" -Tastenbelegungen, und sie sind fast alle in jedem Textfeld-Widget in OSX
verfügbar
5
Beachten Sie, dass Esc, bund Esc, f(ein Wort zurück / vor) gebunden sind an Opt-b/f(wenn Sie das Terminal so einstellen, dass es erkennt Optals Meta)
ocodo
91

mdfindSpotlight von der Kommandozeile aus nutzen - wirklich sehr, sehr praktisch! Findet Dinge auch in jedem Verzeichnis, daher ist es sinnvoller, nach Dateien zu suchen, die Teil des Systems sind.

mdfind -live Aktualisierungen in Echtzeit, was wiederum unglaublich praktisch ist.

Rich Bradshaw
quelle
7
Und mdfind -name, das nur übereinstimmende Dateinamen findet (anstelle aller Dateien, die den Suchtext enthalten).
Nate
locateund updatedb: aliased to sudo /usr/libexec/locate.updatedbist auch nicht schlecht;)
Vincent
88

Öffnen Sie eine Manpage in der Vorschau:

pman () {
    man -t "${1}" | open -f -a /Applications/Preview.app
}

Öffnen Sie eine Manpage in TextMate:

tman () {
  MANWIDTH=160 MANPAGER='col -bx' man $@ | mate
}

Öffnen Sie eine Manpage in SublimeText:

sman() {
    man "${1}" | col -b | open -f -a /Applications/Sublime\ Text\ 2.app/Contents/MacOS/Sublime\ Text\ 2
}

Beenden Sie eine App sauber über die Befehlszeile

# Quit an OS X application from the command line
quit () {
    for app in $*; do
        osascript -e 'quit app "'$app'"'
    done
}

Starten Sie eine App über die Befehlszeile neu:

relaunch () {
    for app in $*; do
        osascript -e 'quit app "'$app'"';
        sleep 2;
        open -a $app
    done
}

Deinstallieren Sie eine App mit AppZapper über die Befehlszeile:

zap () {
    open -a AppZapper /Applications/"${1}".app
}
Aziz Light
quelle
12
Im ersten Fall verwende ich ps2pdf (Teil von Ghostscript), um das Postscript zu konvertieren. Andernfalls führt die Vorschau die Konvertierung durch und fordert Sie auf, das Ergebnis beim Schließen zu speichern ps2pdf - - | öffne -g -f -a /Applications/Preview.app
6
pmankönnte durch Verwendung von man -t $@anstelle von erweitert werden man -t "${1}", daher wird auch die Angabe des manuellen Abschnitts unterstützt.
Zneak
1
Sie können diese Befehle unter .bash_profile definieren, um sie jederzeit verwenden zu können
iddober 21.04.11
Relevant, aber kein Kommandozeilen-Trick: Lesen Sie lokale Manpages in Safari unter Verwendung von man:grepStyle-URLs mit bruji.com/bwana
Sergio Acosta
88
cd -

Stellt das vorherige Verzeichnis wieder her, in dem Sie sich befanden. Sehr praktisch, wenn Sie versehentlich cdalleine ohne Argumente tippen und in Ihrem Home-Verzeichnis landen.

Fortyrunner
quelle
9
Nicht Mac OS X-spezifisch, aber sehr cool.
8
Wenn Sie denken, dass das cool ist, schauen Sie in Pushd und Popd. Damit können Sie einen ganzen Stapel von Verzeichnissen verwalten, in denen Sie nach oben und unten navigieren können.
7
Vergiss nicht, das cd -funktioniert auch wie pushd / popd ... ie. willst du vor zur 4. cd gehen? cd -4etc.
ocodo
61

Sie können einen Ordner aus dem Finder auf das Terminal ziehen, um den vollständigen Pfad zu dieser Datei einzufügen.

cd <drag folder to terminal> 

Dies ist im Grunde das Gegenteil von offen im Terminal

Ryan
quelle
3
D & D ist auch sehr nützlich für Dateien, die als Parameter verwendet werden sollen
Arne Burmeister
Sie können auch das Ordnersymbol in der Titelleiste eines Finder-Fensters in ein Terminal-Fenster ziehen.
Anil Natha
Wollte nur hinzufügen, dass - das Ordnersymbol in der Titelleiste ein Proxy für den Ordner selbst ist, Sie können es von dort an eine beliebige Stelle ziehen (z. B. zu einem Dialogfeld "Datei auswählen", Terminal usw.)
dr.nixon
52

Hier ist etwas Schönes und Sinnloses:

/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine -background &

Führt Ihren Bildschirmschoner als Desktop-Hintergrund aus. Nutzlos aber cool.

Dies wirkt sich nicht auf den normalen Betrieb des Bildschirmschoners aus, sondern endet nach dem Aktivieren des normalen Bildschirmschoners, entweder durch Zeitüberschreitung oder durch Bewegen der Maus in eine vordefinierte heiße Ecke.

Alternativ können Sie Folgendes verwenden:

killall ScreenSaverEngine
Kalessin
quelle
3
Um dies zu deaktivieren, drücken Sie Ctrl+ Coder schließen Sie einfach das Terminalfenster.
Mathias Bynens
oder töte -9 dann die Prozessnummer, die ausgespuckt wird. Sollte ungefähr so ​​aussehen wie [1] 12345. 12345 ist die Prozessnummer.
1
Dies ist ideal für Quartz Composer-Animationen!
CoffeeRain
Das "Live Wallpaper" für Android kommt auf den Mac
Arc676
48

ctrl+ Aund ctrl+ E: Gehen Sie zum Zeilenanfang und zum Zeilenende.

Dies funktioniert auch in jeder Cocoa-Texteingabe!

Gentmatt
quelle
20
Sie können auch andere Emacs-Tastenkombinationen verwenden: Strg-B, Strg-F (vorwärts oder rückwärts); ctrl-k (töte von Position bis zum Zeilenende); ctrl-y (Einfügen von zuvor getötetem Text); ctrl-p, ctrl-n (im Befehlszeilenverlauf nach oben oder unten) und mehr.
Michael H.
Diese Bindung ist sehr verbreitet - funktioniert auch in Pico und Nano.
Großartig, ich wusste nichts davon, es ist ziemlich praktisch!
2
Ihr müsst etwas über Emacs lernen! (da all diese Tastenkombinationen dort herkommen ...)
jkp
Ich denke, Mac OS X wurde mit Emacs geschrieben. :)
rechts
41

(Vorausgesetzt, wir suchen nach speziellen Tricks für Mac OS X.)

Ich habe einen Alias ​​zum Starten von Quicklook für eine Datei über die Befehlszeile:

$ type -a ql
ql is aliased to `qlmanage -p 2>/dev/null'
$ ql photo.jpg
Testing Quick Look preview with files:
    photo.jpg

ctrl+ C: Töte es und kehre zur Eingabeaufforderung zurück.

Doug Harris
quelle
1
In ähnlicher Weise qlmanage -rkann verwendet werden, um den Quick Look zurückzusetzen und Vorschauen und ähnliches neu zu generieren.
Zugehöriger Hinweis: Wenn Sie im Terminal Command-Period eingeben, wird ein Control-C ausgegeben.
Chris Seite
Genau das habe ich gesucht! Wenn Sie [Leertaste] eingeben, wird die Vorschau ebenfalls ausgeblendet.
Aaron
37
$ emacs -batch -l dunnet

Dead end
You are at a dead end of a dirt road.  The road goes to the east.
In the distance you can see that it will eventually fork off.  The
trees here are very tall royal palms, and they are spaced equidistant
from each other.
There is a shovel here.
>
jtbandes
quelle
Verdammt. Wie nehme ich die Schaufel auf?
Josh K
1
Als ich davon erfuhr, habe ich einen halben Tag damit verbracht, es zu spielen!
Josh
13
Ich habe noch nie wirklich eines dieser Spiele gespielt. Stellen Sie sich also meine Überraschung vor, als ...>eat shovel \ You forcefully shove a shovel down your throat, and start choking. \ You are dead. \ You have scored 0 out of a possible 90 points.
6
> shake tree You begin to shake a tree, and notice a coconut begin to fall from the air. As you try to get your hand up to block it, you feel the impact as it lands on your head. You are dead. You have scored 0 out of a possible 90 points.... hätte das wohl kommen sehen sollen.
Dan Ray
1
Vergessen Sie nichtM-x tetris
ocodo
36

Mit afconvert können Sie von und zu allen Audioformaten konvertieren, die Core Audio intern bekannt sind.

Beispiel: Konvertieren einer AIFF-Datei in AAC mit 160 KBit / s:

afconvert track.aiff -o track.m4a -q 127 -b 160000 -f 'm4af' -d 'aac '
Robin
quelle
34

Überprüfen Sie schnell, was Ihr gesamtes Gedächtnis frisst:

top -o vsize

Und für deine CPU

top -o cpu

Q beenden

Aurélien Bottazini
quelle
3
Ich wollte darauf keine vollständige Antwort geben. Es gibt verschiedene Flags, die die Speichernutzung von top selbst reduzieren: alias ltop='top -F -R -o cpu'has most .. Wenn Sie -o vsizeetc angeben , wird die überschrieben -o cpu.
Sie können auch -uanstelle von verwenden -o cpu. top -usortiert nach CPU-Auslastung.
Chris Seite
32

Um ctrl+ und ctrl+ wieder nützlich zu machen, dh ein Wort vorwärts oder rückwärts zu machen, wie es normalerweise unter Linux der Fall ist, müssen Sie Terminal.app veranlassen, die richtige Zeichenfolge an die Shell zu senden. Gehen Sie in den SettingsEinstellungen zur Registerkarte und wählen Sie Ihr Standardprofil aus. Zum Keyboardund eingestellt control cursor leftund control cursor rightZeichenfolge senden \033bund \033fjeweils.

Während Sie gerade dabei sind, können Sie auch Home( \033[H), End( \033[F), Page Up( \033[5~) und Page Down( \033[6~) korrigieren, sodass diese Schlüssel an die Shell gesendet werden, anstatt den Puffer zu scrollen.

jou
quelle
wie vorgeschlagen Slomojo: Ein Wort vor / zurück ist an Opt-b / f gebunden, wenn Sie das Terminal so einstellen, dass Opt als Meta erkannt wird
Zorb
Nun, einige Leute brauchen tatsächlich die Optionstaste… Bei vielen Tastaturlayouts {}[]erfordern Zeichen wie eine Tastenkombination mit [⌥]. Oder wenn Sie das US-Layout verwenden und regelmäßig nicht-englische Zeichen benötigen (wie bei Umlauten), benötigen Sie auch [⌥].
jou
30

Resample das Bild so, dass Höhe und Breite nicht größer als die angegebene Größe sind, zB 100x100:

sips -Z 100x100 image.jpg

sips unterstützt andere Vorgänge wie Spiegeln, Drehen, Zuschneiden, Abfragen von Bildeigenschaften, Abfragen und Ändern von Farbprofilen. Auf Verwendung prüfen man sips.

Ronny Haryanto
quelle
25

Mit können hdiutilSie ganz einfach ein Disk-Image mounten:

hdiutil mount ~/Desktop/lastest_webkit.dmg

Demontage (Hacker Weg):

hdiutil detach `df | grep WebKit | perl -pe 's@^/dev/([a-zA-Z0-9]+).*@$1@'`

Demontage (einfacher Weg):

hdiutil detach /Volumes/<mountpoint>

oder nehmen Sie die einfachere Annäherung (die churnd unten vorgeschlagen):

hdiutil detach /Volumes/latest_webkit
doekman
quelle
18
Mach einfach "hdiutil detach / Volumes / <mountpoint>"
churnd
1
Sind die letzten beiden Optionen nicht gleich?
Ich habe in diskutilletzter Zeit viel davon benutzt, nachdem ich Disktool gelernt (und gehasst) hatte. diskutil eject /Volumes/backupswar in letzter Zeit eine häufige Verwendung.
Jason Salaz
Ich bin nicht sicher, warum, aber /sbin/umount /Volumes/Fooscheint schneller zu arbeiten als hdiutil
TJ Luoma
Ich benutze meistens auch diskutil, speziell diskutil verifyVolume <volume name>, da die Verify-Funktion im Festplatten-Dienstprogramm für RAID-Volumes nie funktioniert hat (langjähriger Fehler).
25

Einige nützliche Aliase:

alias ..="cd .."
alias ...="cd .. ; cd .."

alias ls="ls -G" # list
alias la="ls -Ga" # list all, includes dot files
alias ll="ls -Gl" # long list, excludes dot files
alias lla="ls -Gla" # long list all, includes dot files

alias stfu="osascript -e 'set volume output muted true'"
alias pumpitup="sudo osascript -e 'set volume 10'"

# Get readable list of network IPs
alias ips="ifconfig -a | perl -nle'/(\d+\.\d+\.\d+\.\d+)/ && print $1'"
alias myip="dig +short myip.opendns.com @resolver1.opendns.com"
alias flush="dscacheutil -flushcache" # Flush DNS cache

alias gzip="gzip -9n" # set strongest compression level as ‘default’ for gzip
alias ping="ping -c 5" # ping 5 times ‘by default’
alias ql="qlmanage -p 2>/dev/null" # preview a file using QuickLook

# Upload image to Imgur and return its URL. Get API key at http://imgur.com/register/api_anon
imgur() { curl -F "image=@$1" -F "key=ANONYMOUS_IMGUR_API_KEY" https://api.imgur.com/2/upload | egrep -o "<original>.+?</original>" | egrep -o "http://imgur\.com/[^<]+" | sed "s/imgur.com/i.imgur.com/" | tee >(pbcopy); }

All dies ist in meinem enthalten, ~/.bash_profilesodass ich sie in jedem Terminalfenster verwenden kann.

PS

alias chpwn="chown"

Weitere Informationen finden Sie in meinem Dotfiles-Repository auf GitHub und / oder in meiner .osxDatei mit OS X-spezifischen Einstellungen .

Mathias Bynens
quelle
+1 - Hervorragende Antwort. Ich mag besonders Aliase ips / myip!
Boehj
22

textutil ist ein sehr praktisches Tool, das Text zwischen HTML, RTF (D), Word (einschließlich XML), OpenOffice.org Writer und dem Webarchiv-Format konvertieren kann.

Ich verwende es insbesondere in einem Dienst, der den ausgewählten Text in HTML konvertiert, ihn auf einen Server hochlädt und dann in Instapaper importiert.

Louije
quelle
Dies ist BSD-spezifisch, glaube ich, nicht nur OS X. Aber trotzdem nützlich ...
@ Henno, nein; 10.8.5 (zumindest) hat textutilauch. Die Manpage für texteditgibt an, dass sie "txt, html, rtf, rtfd, doc, docx, wordml, odt oder webarchive" unterstützt.
Jeff Dickey
22

Dateien unsichtbar machen:

SetFile file -a V

SetFile kann auch viele andere Dateiattribute und Metadaten ändern.

SetFile ist kein nativer OS X-Befehl, der mit DevTools / Xcode gebündelt wird.

Wenn Sie keinen Xcode haben und keine 6 GB herunterladen möchten, können Sie verwenden

sudo chflags hidden|nohidden <file/folder>

chflags ist ein BSD-Befehl und es gibt auch eine Manpage, geben Sie dies einfach in Terminal ein

man chflags

Für diejenigen, die keine Befehle selbst eingeben möchten und nur wissen möchten, was in dem Mann steckt. Hier hast du:

CHFLAGS(1)        BSD General Commands Manual           CHFLAGS(1)

NAME
     chflags -- change file flags

SYNOPSIS
     chflags [-fhv] [-R [-H | -L | -P]] flags file ...

DESCRIPTION
     The chflags utility modifies the file flags of the listed files as speci-
     fied by the flags operand.

     The options are as follows:

     -f      Do not display a diagnostic message if chflags could not modify
         the flags for file, nor modify the exit status to reflect such
         failures.

     -H      If the -R option is specified, symbolic links on the command line
         are followed.  (Symbolic links encountered in the tree traversal
         are not followed.)

     -h      If the file is a symbolic link, change the file flags of the link
         itself rather than the file to which it points.

     -L      If the -R option is specified, all symbolic links are followed.

     -P      If the -R option is specified, no symbolic links are followed.
         This is the default.

     -R      Change the file flags for the file hierarchies rooted in the
         files instead of just the files themselves.

     -v      Cause chflags to be verbose, showing filenames as the flags are
         modified.  If the -v option is specified more than once, the old
         and new flags of the file will also be printed, in octal nota-
         tion.

     The flags are specified as an octal number or a comma separated list of
     keywords.  The following keywords are currently defined:

       arch, archived
           set the archived flag (super-user only)

       opaque  set the opaque flag (owner or super-user only).  [Directory
           is opaque when viewed through a union mount]

       nodump  set the nodump flag (owner or super-user only)

       sappnd, sappend
           set the system append-only flag (super-user only)

       schg, schange, simmutable
           set the system immutable flag (super-user only)

       uappnd, uappend
           set the user append-only flag (owner or super-user only)

       uchg, uchange, uimmutable
           set the user immutable flag (owner or super-user only)

       hidden  set the hidden flag [Hide item from GUI]

     As discussed in chflags(2), the sappnd and schg flags may only be unset
     when the system is in single-user mode.

     Putting the letters ``no'' before or removing the letters ``no'' from a
     keyword causes the flag to be cleared.  For example:

       nouchg  clear the user immutable flag (owner or super-user only)
       dump    clear the nodump flag (owner or super-user only)

     Unless the -H or -L options are given, chflags on a symbolic link always
     succeeds and has no effect.  The -H, -L and -P options are ignored unless
     the -R option is specified.  In addition, these options override each
     other and the command's actions are determined by the last one specified.

     You can use "ls -lO" to see the flags of existing files.

EXIT STATUS
     The chflags utility exits 0 on success, and >0 if an error occurs.

SEE ALSO
     ls(1), chflags(2), stat(2), fts(3), symlink(7)

HISTORY
     The chflags command first appeared in 4.4BSD.

BUGS
     Only a limited number of utilities are chflags aware.  Some of these
     tools include ls(1), cp(1), find(1), install(1), dump(8), and restore(8).
     In particular a tool which is not currently chflags aware is the pax(1)
     utility.

BSD              March 3, 2006                 BSD
konqui
quelle
5
Das ist in /Developer/Tools, das Sie von der Apple-Website herunterladen (heavy) oder von der OS-CD installieren müssen. Ohne sie ist kein System vollständig.
6
chflags hidden?
Daniel Beck
Sie stellen einem Flag ein "Nein" voran, um es zu entfernen. So ist es sudo chflag nohidden <file/folder>nicht show.
Phette23
19
 dot_clean .

Dies ist kein alltäglicher Gebrauch - aber es hat viel Zeit gespart - ich hatte einen SMB-Dateiserver (Avid Unity), auf dem viele .filename-Dateien sowohl für Mac-Benutzer als auch für PC-Benutzer angezeigt wurden.

Dieser Reinigungsbefehl hat das Problem vollständig behoben (nachdem er zweimal ausgeführt wurde)

evilblender
quelle
3
Es ist großartig, endlich zu wissen, dass es eine gute Möglichkeit gibt, dies zu tun.
jkp
Entschuldigung, aber ich verstehe nicht, was ._ * -Dateien sind und wie dieses Programm das beschriebene Problem behebt. Die Manpage hat nicht viel geholfen. Könnten Sie uns bitte weitere Details mitteilen? Ist die Verwendung völlig sicher?
rslnx
._-Dateien sind im Finder unter Mac OS nicht sichtbar, jedoch für andere Betriebssysteme sichtbar. Sie sind in der Regel auch ein Relikt für "Resource Forks", die nicht mehr verwendet wurden, als der Mac von OS 9 auf OS X umgestellt wurde. Anstatt sie in einem anderen Betriebssystem einfach hin und her zu werfen, können Sie das Mac OS bitten, Sie beim Reinigen zu unterstützen Verwenden Sie den Befehl dot_clean, um unnötige Einträge zu entfernen.
Evilblender
17

historyZeigt eine Liste der zuletzt ausgeführten Befehle an - etwa 500 oder 600 Befehle. Ich benutze häufig history | grep something, um einen Befehl zu finden, den ich in letzter Zeit verwendet habe.

Avi Flax
quelle
13
Das ist eine integrierte Bash, nicht OS X-spezifisch.
Wahr. Es tut uns leid. Ich schätze, ich dachte, der Fragesteller sucht nach nützlichen Mac-Terminal-Befehlen, egal ob sie Mac-spezifisch sind oder nicht. Wenn ich mich geirrt habe, tut mir leid.
7
Sie können in bash Strg + R drücken, um den Shell-Verlauf interaktiv zu durchsuchen. Wenn Sie darauf drücken und dann tippen ssh exa, wird der letzte Befehl gefunden, der mit beginnt ssh exa. Sie können erneut Strg + r drücken, um weiter rückwärts zu blättern, um den aktuellen Befehl auszuführen, oder Escape drücken, um den Befehl weiter zu bearbeiten
2
Kopiert währenddessen den history -a; history -rVerlauf zwischen den Registerkarten des Terminals.
3
Sobald Sie ausgeführt haben, können historySie ein beliebiges Element aus der Ergebnisliste ausführen, indem Sie die Nummer des Verlaufselements verwenden. ZB !23wird Punkt 23 in der Verlaufsliste ausgeführt.
17

Obwohl ich mich in vi zurechtfinden kann, verwende ich TextMate als Befehlszeileneditor . Sie können auch Dinge dazu leiten. Zum Beispiel öffnet ls | mate TextMate mit der aktuellen Liste, die direkt in einem Textfenster geöffnet ist.

hanleyp
quelle
5
Ich habe "Kumpel" verwendet. mehr Male, als ich zählen möchte.
In mate .der Tat ist es das Beste, was es je gab.
Ich würde auf jeden Fall empfehlen, mit Cocoa Emacs zu spielen.
ocodo
16

mdlszeigt Ihnen alle Metadaten der Datei, die Spotlight kennt. Sie können die resultierenden Attribute auch in "mdfind" verwenden.

mdutil Ermöglicht das Ein- und Ausschalten der Indizierung für bestimmte Volumes und das Zurücksetzen des Index usw.

systemsetup BSD-spezifisch (nicht nur für Mac), aber cool, lesen Sie die Manpage.

GetFileInfo (Ich glaube, Sie müssen die Entwickler-Tools haben, um dies zu haben) ermöglicht es Ihnen, alle zugehörigen Zeiten (Änderung, Erstellung, letzter Zugriff) und alle Attribute einer Datei zu sehen.

automator Ermöglicht die Ausführung von Automator-Workflows über die Befehlszeile

osascript lässt Sie Apple-Skriptcode ausführen.

Henno
quelle
+1 - Wusste nicht, was automatorgut zu wissen ist ... Ich nehme an;) - (Im Allgemeinen verwende ich es, um Skripte aus dem Finder auszuführen, also bin ich mir nicht sicher, ob ich es jemals anders herum verwenden würde.)
ocodo