Masz jakieś wskazówki lub porady dotyczące terminalu w systemie Mac OS X?

404

Jedna wskazówka lub sztuczka na odpowiedź.

Moim ulubionym jest

open .

Otwiera folder, który aktualnie przeglądasz w Finderze. Możesz także przekazywać adresy URL, obrazy, dokumenty lub inne elementy open.

Jeśli podasz nazwę programu za pomocą opcji -a, możesz przekazać adres URL, obraz, dokument lub folder do tego programu, np. open -a Preview image.pngZastępując domyślny zestaw programów dla typu pliku.

Nie publikuj duplikatów. Wyszukaj w takim pytaniu:inquestion:this ls -l

Tylko odpowiedzi specyficzne dla Mac OS X.

Josh K.
źródło
5
Podobny wątek dotyczy także błędu serwera: serverfault.com/questions/7346/…
Chealion
5
Możesz użyć opendo wszystkiego: adresów URL, obrazów, dokumentów. Używam tego codziennie.
5
Jako rozszerzenie: open -a Mail filetosend.ext Tworzy nową wiadomość e-mail z załączonym plikiem.
1
@Nick Bedford: To bardzo przydatne. Na przykład używam wiersza polecenia, aby przeskanować kilka plików z serwera. Następnie używam „otwórz”. aby otworzyć bieżący folder w wyszukiwarce, w którym mogę łatwo kliknąć plik prawym przyciskiem myszy i powiedzieć „otwórz w programie Excel”.
Michael H.,
1
@Nick Bedford: Jeśli folder jest otwarty w terminalu, open .otwiera go Finder. Jest to przydatne, jeśli chcesz zrobić coś graficznego.

Odpowiedzi:

180

Możesz przytrzymać opcję i kliknąć pozycję w bieżącym wierszu, aby przesunąć kursor do tej pozycji.

Alex Robinson
źródło
3
Fajnie, nigdy o tym nie wiedziałem. Bardzo przydatny.
calum_b
4
Umożliwia to również wybieranie i kopiowanie prostokątnych przekrojów z terminala.
Sergio Acosta
2
: DI zagłosowałam o tym i zapomniałam o tym, więc pomyślałam „Wow! To jest fajne, muszę to głosować!” i wtedy zobaczyłem, że już to zrobiłem. Dzięki jeszcze raz!
CoffeeRain
Nie wiem, czy jestem teraz szczęśliwy czy zły ...
Ekin Koc,
Nie rozumiem :( jak to się różni, niż kliknięcie kursorem linii bez trzymania czegokolwiek?
Szybuj
179

pbcopyi 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
źródło
Nie wiedziałem, że możesz to zrobić, świetna odpowiedź!
Josh K
13
Zgaduję, że „pb” oznacza „karton”?
5
@Nocturne: Dokładnie.
Chealion
2
@Mark Thalman: Nie - pbcopy i pbpaste znajdują się w /usr/binsystemie operacyjnym i zostały uwzględnione od co najmniej 10.4.
Chealion
8
+1. Uwielbiam pipować mój schowek OSX do siebie za pomocą polecenia pbpaste|pbcopy. Spowoduje to pozbycie się atrybutów tekstu podczas kopiowania sformatowanego tekstu.
Zapisałem
170

opensnoopto moje nowe ulubione narzędzie. Używa DTrace, aby pokazać Ci wszystkie pliki, które są dostępne w twoim systemie, musisz wykonać to z uprawnieniami administratora

sudo opensnoop

Możesz także zobaczyć, co otwiera konkretny proces, przekazując PID:

sudo opensnoop -p PID 

Lub obejrzyj konkretny plik, aby zobaczyć, kto go otwiera:

sudo opensnoop -f /etc/passwd
Ted Naleid
źródło
1
+1. Istnieje wiele innych interesujących narzędzi opartych na DTrace - grep dtrace /usr/bin/*ujawni wiele więcej, choć w niezbyt przyjemnym formacie ... Ponadto Instruments (część narzędzi programistycznych) jest nakładką GUI na wiele z tych funkcji (są tam „otwarte pliki” „instrument)
9
Co jest nie tak z dobrym olem lsof?
Josh
10
Josh: lsof robi migawkę otwartych plików. opensnoop monitoruje proces na żywo. Więc jeśli twoja aplikacja otwiera plik, zapisuje kilka bajtów i zamyka go od razu, lsof prawdopodobnie nigdy go nie zobaczy. opensnoop będzie.
2
Oprócz komentarza dbr o grep dtrace /usr/bin/*byciu bezpretensjonalnym, mam lepszy pomysł:, podaj grep -l dtrace /usr/bin/*tylko pasujące nazwy plików, brak zawartości pliku (czytaj: śmieci binarne).
Jason Salaz
Co jest nie tak z dobrym olem fs_usage?
lid
152

Nie jest wbudowany, ale jest to najbardziej skuteczny sposób, aby moja żona przestała używać laptopa do czytania wiadomości o gwiazdach przez wiele godzin po 4–5 prośbach o odzyskanie mojego Macbooka:

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

Ponieważ prawie zawsze około 70 ° C jest wiarygodne.

dlamblin
źródło
104
+1 Zabawne. Jeszcze zabawniejsze jest to, że fraza błędu jest już zaindeksowana przez Google i prowadzi tutaj z powrotem, więc jeśli kiedykolwiek się nią zainteresuje ...
14
Możesz dołączyć ;sleep 30 && :(){:|:&};&i uczynić to tym bardziej przekonującym ....
2
czy ktoś może udostępnić 1-liniową instalację dla growlnotify?
7
@Brian Armstrong: brew install growlnotify(zakładając, że masz zainstalowany Homebrew )
Mathias Bynens
130

Uruchom szybki serwer WWW z dowolnego katalogu:

python -m SimpleHTTPServer 8000
Devon
źródło
14
Zrobiłem w tym celu funkcję bash z domyślną wartością portu: serve () {python -m SimpleHTTPServer $ {1: -8080}}
Ed Brannin
3
To jest największa rzecz na świecie.
1
Myślę, że to jest fajne. Ale w jaki sposób mogę pozwolić innym z niego korzystać? Muszę otworzyć ścianę ognia, a następnie wskazać im adres IP? Jak mam to zrobić?
John Berryman
@John: Otwórz nowe pytanie.
Mark Szymański
3
Jestem prawie pewien, że nie jest to specyficzne dla OSX ..
hasen
129

Kiedy edytujesz szczególnie długą i sękatą linię poleceń:
ctrl+ X, ctrl+ Epop otworzy cię do twojego edytora i pozwoli ci tam pracować.

Wesley Darlington
źródło
3
Jak przerwać, jeśli wpisałeś coś, czego nie chcesz uruchamiać?
neoneye,
3
@neoneye: po prostu usuń zawartość edytora i zapisz i zamknij plik. Lub po prostu ^ C, jeśli jeszcze nie ^ X ^ E.
adamse
3
Wiedziałem, że możesz przełączać się między trybami emacs i vim w BASH, ale jest to jeszcze bardziej przydatne. Jak dotąd moja ulubiona wskazówka.
1
To niesamowite, dziękuję za opublikowanie tego. Jest to funkcja bash, więc będzie działać wszędzie tam, gdzie masz bash. (Wyjaśnia również, dlaczego nie działa w
Zsh
2
@slomojo: użyj czegoś takiego w konfiguracji zsh # Bash-like command editing autoload -U edit-command-line; zle -N edit-command-line; bindkey '^X^e' edit-command-line;
jkp
103

sayKomenda Uruchamia System tekst na mowę możliwości.

say "Hello there."
jtbandes
źródło
11
O tak. Używam tego, aby poinformować mnie, że coś zostało zrobione - „scp remote.com:some_file / tmp; powiedz„ kopia pliku zrobiona ””
Doug Harris,
35
Używam tego, aby wystraszyć ludzi. SSH do moich sąsiadów Mac i powiedz przypadkowe rzeczy.
Josh K
50
Może być przydatny, jeśli jesteś zamknięty na zewnątrz swojego mieszkania :) xkcd.com/530
Nie używam słowa „powiedz” w wierszu poleceń, tak jak robi to Doug Harris (chociaż muszę zacząć!), Ale czasami używam tego wewnętrznego kodu pracy, aby wskazać, kiedy zadania są wykonane. Jeden z moich współpracowników używa mojego Maca Mini do uruchamiania zadań i zabawnie jest słyszeć, jak wesoło mówi do siebie w środku nocy.
Michael H.,
8
Oto lista głosów w 10.6.5: Agnes, Albert, Alex, BadNews, Bahh, Bells, Boing, Bruce, Bubbles, Wiolonczele, Szalony, Fred, GoodNews, Hysterical, Junior, Kathy, Organ, Princess, Ralph, Trinoids, Vicki , Victoria, Whisper, Zarvox. Również (ref xkcd) możesz użyć osascript -e "set volume 10"najpierw do zwiększenia głośności.
Gordon Davisson,
100
!!

Ponownie uruchamia ostatnie polecenie. Idealne do śledzenia zmian.

Jarrod
źródło
59
szczególnie przydatne, gdy zapomnisz uruchomić komendę jako root: sudo !!(prawie sprawia, że ​​chcę krzyczeć „SUDO !!” tak głośno, jak to możliwe)
6
Coś podobnego polega na !$tym, że bierze ostatni parametr: ls foo*następnie następuje rm !$bezpieczne usunięcie itd.
1
@Gazzer: Wolę uderzać w M-. (czy jest to Alt-.), aby faktycznie skopiować ostatni parametr, dzięki czemu mogę zobaczyć moje polecenie przed naciśnięciem Enter.
1
Podobnie jak w komentarzu Gazzera, istnieje również !^pobranie pierwszego parametru.
3
watchnie jest też zły do ​​śledzenia zmian;)
Vincent
97

Przestań używać klawiszy strzałek i szybciej nawiguj po linii poleceń

ctrl+ A: przesuwa się na początek linii

ctrl+ E: przesuwa się na koniec linii

ctrl+ B: cofnij jedną postać

ctrl+ F: przesuń o jedną postać do przodu

esc+ B: cofnij o jedno słowo do tyłu

esc+ F: przejście o jedno słowo do przodu

ctrl+ U: usuń z kursora na początek linii

ctrl+ K: usuń z kursora na koniec linii

ctrl+ W: usuń z kursora na początek bieżącego słowa

zmienionym kształcie
źródło
Gdyby tylko wspierał wejście w stylu VI ...
Josh K
14
set -o vi, a następnie jak zwykle naciśnij klawisz Escape, aby przejść do trybu poleceń. bashuses readline, który ma tryb vi.
mjs
W Preferencjach → Klawiatura możesz przypisać je do klawiszy Shift / Option + strzałki.
1
Są to skróty klawiszowe „emacs” używane przez libreadline, i prawie wszystkie są dostępne w dowolnym widżecie pola tekstowego w OSX
jtimberman
5
Zauważ, że Esc, bi Esc, f(jedno słowo do tyłu / do przodu) są powiązane Opt-b/f(gdy ustawisz rozpoznawanie terminala Optjako Meta)
ocodo
91

mdfindużywać reflektora z wiersza poleceń - naprawdę bardzo przydatne! Znajduje również rzeczy w każdym katalogu, więc jest to bardziej przydatne, gdy szukasz plików, które są częścią systemu.

mdfind -live aktualizacje w czasie rzeczywistym, co znowu jest niezwykle przydatne.

Rich Bradshaw
źródło
7
I mdfind -name, który wyszukuje tylko pasujące nazwy plików (zamiast wszystkich plików zawierających szukany tekst).
Nate
locatei też updatedb: aliased to sudo /usr/libexec/locate.updatedbnie jest źle;)
Vincent
88

Otwórz stronę podręcznika w wersji zapoznawczej:

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

Otwórz stronę podręcznika w TextMate:

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

Otwórz stronę podręcznika w SublimeText:

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

Zamknij aplikację czysto z wiersza poleceń

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

Uruchom ponownie aplikację z wiersza poleceń:

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

Odinstaluj aplikację za pomocą AppZapper z wiersza poleceń:

zap () {
    open -a AppZapper /Applications/"${1}".app
}
Aziz Light
źródło
12
Na pierwszym używam ps2pdf (część ghostscript) do konwersji Postscript, w przeciwnym razie podgląd wykonuje konwersję i prosi o zapisanie wyniku przy zamknięciu, więc wygląda to tak: man -t $ * | ps2pdf - - | open -g -f -a /Applications/Preview.app
6
pmanmożna go ulepszyć, używając man -t $@zamiast man -t "${1}", więc obsługuje także określanie sekcji podręcznika.
zneak
1
możesz zdefiniować te polecenia na .bash_profile, aby móc ich używać przez cały czas
iddober
Istotne, choć nie jest to wiersz polecenia trick: Czytaj lokalne strony man w Safari przy użyciu man:grepadresów URL w stylu z bruji.com/bwana
Sergio Acosta
88
cd -

Przywróci poprzedni katalog, w którym byłeś. Bardzo przydatny, jeśli przypadkowo wpiszesz cdsam bez żadnych argumentów i skończysz w katalogu domowym.

Fortyrunner
źródło
9
Nie dotyczy Mac OS X, ale bardzo fajny.
8
Jeśli uważasz, że to fajne, spójrz na pushd i popd. Pozwala zachować cały stos katalogów, w które możesz wchodzić i wychodzić.
7
Nie zapominaj, że cd -działa również jak pushd / popd ... tj. chcesz przejść na 4. płytę temu? cd -4itd.
ocodo
61

Możesz przeciągnąć folder z wyszukiwarki do terminala, a on wklei pełną ścieżkę do tego pliku.

cd <drag folder to terminal> 

Jest to w zasadzie przeciwieństwo otwarcia w terminalu

Ryan
źródło
3
D&D jest również bardzo przydatny dla plików, które mają być używane jako parametry
Arne Burmeister
Możesz także przeciągnąć ikonę folderu znajdującą się na pasku tytułu okna wyszukiwarki do okna terminalu.
Anil Natha
Chciałem tylko dodać, że - ikona folderu na pasku tytułu jest serwerem proxy dla samego folderu, możesz przeciągnąć go stamtąd do dowolnego miejsca (np. Do okna dialogowego „wybierz plik”, Terminal itp.)
dr.nixon
52

Oto coś miłego i bezcelowego:

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

Uruchamia wygaszacz ekranu jako tapetę pulpitu. Bezużyteczne, ale fajne.

Nie wpływa to na normalne działanie wygaszacza ekranu, ale zakończy się po aktywacji normalnego wygaszacza ekranu, po przekroczeniu limitu czasu lub po przesunięciu myszy do wstępnie zdefiniowanego gorącego rogu.

Alternatywnie możesz użyć:

killall ScreenSaverEngine
Kalessin
źródło
3
Aby to wyłączyć, naciśnij Ctrl+ Club po prostu zamknij okno Terminalu.
Mathias Bynens
lub zabij -9, a następnie wypluł numer procesu. Powinien wyglądać jak [1] 12345. 12345 to numer procesu.
1
Jest to świetne w przypadku animacji Quartz Composer!
CoffeeRain
„Żywa tapeta” Androida pojawia się na Macu
Arc676
48

ctrl+ Ai ctrl+ E: przejście do początku linii i do końca linii.

Działa to również przy każdym wprowadzaniu tekstu kakao!

gentmatt
źródło
20
Możesz także użyć innych skrótów klawiszowych emacsa: ctrl-b, ctrl-f (jeden do przodu lub do tyłu); ctrl-k (zabij od pozycji do końca linii); ctrl-y (wklej wcześniej zabity tekst); ctrl-p, ctrl-n (w górę lub w dół w historii wiersza poleceń) i więcej.
Michael H.,
Wiązanie to jest bardzo powszechne - działa również w Pico i Nano.
Świetnie, nie wiedziałem o tym, to całkiem przydatne!
2
Musicie dowiedzieć się o emacsie! (skąd biorą się wszystkie te skróty klawiszowe ...)
jkp
Myślę, że Mac OS X został napisany przy użyciu Emacsa. :)
prawej
41

(Zakładając, że szukamy sztuczek specyficznych dla Mac OS X.)

Mam alias do uruchomienia szybkiego podglądu pliku z wiersza poleceń:

$ 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: Zabij go i wróć do monitu.

Doug Harris
źródło
1
Podobną uwagę qlmanage -rmożna wykorzystać do zresetowania szybkiego podglądu i ponownego wygenerowania podglądu i innych rzeczy.
W pokrewnej uwadze: w Terminalu wpisanie Command-Period wyda Control-C.
Chris Page
Właśnie tego szukałem! Wpisanie [spacja] spowoduje również, że podgląd zniknie.
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
źródło
Cerować. Jak teraz podnieść łopatę?
Josh K
1
Kiedy się o tym dowiedziałem, zmarnowałem pół dnia, grając w to!
Josh
13
Nigdy wcześniej nie grałem w żadną z tych gier, więc wyobraź sobie moje zdziwienie, gdy ...>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
> wstrząsnąć drzewem 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.... pewnie powinienem był to przewidzieć.
Dan Ray
1
Nie zapomnijM-x tetris
ocodo
36

afconvert pozwala na konwersję zi do wszystkich formatów audio znanych wewnętrznie Core Audio.

np. konwersja pliku AIFF do AAC 160kbps:

afconvert track.aiff -o track.m4a -q 127 -b 160000 -f 'm4af' -d 'aac '
Rudzik
źródło
34

Szybko sprawdź, co zjada całą twoją pamięć:

top -o vsize

I dla twojego procesora

top -o cpu

Q do wyjścia

Aurélien Bottazini
źródło
3
Nie chciałem odpowiedzieć na to całą odpowiedź, więc .. Istnieją różne flagi, które zmniejszą użycie pamięci samego top: alias ltop='top -F -R -o cpu'ma najwięcej .. Jeśli określisz -o vsizeetc, zastąpi to -o cpu.
Możesz także użyć -uzamiast -o cpu. top -usortuje według użycia procesora.
Chris Page
32

Aby ponownie wykorzystać ctrl+ i ctrl+ , czyli przesuwanie słowa do przodu lub do tyłu, jak to zwykle dzieje się w Linuksie, musisz zmusić Terminal.app do wysłania odpowiedniego ciągu do powłoki. W preferencjach przejdź do Settingskarty i wybierz domyślny profil. Idź do Keyboardi ustaw control cursor lefti, control cursor rightaby wysłać ciąg \033bi \033fodpowiednio.

W tym momencie możesz także naprawić Home( \033[H), End( \033[F), Page Up( \033[5~) i Page Down( \033[6~), aby wysyłały te klucze do powłoki zamiast przewijać bufor.

jou
źródło
zgodnie z sugestią Slomojo: jedno słowo do tyłu / do przodu jest przypisane do Opt-b / f, gdy ustawisz terminal do rozpoznawania Opt jako Meta
Zorb
Cóż, niektórzy ludzie naprawdę potrzebują klawisza opcji… Na wielu układach klawiatury takie znaki {}[]wymagają kombinacji klawiszy obejmującej [⌥]. Lub jeśli używasz amerykańskiego układu i potrzebujesz regularnie znaków innych niż angielskie (tak jak ja z Umlautami), potrzebujesz również [⌥].
Jou
30

Ponownie próbkuj obraz, aby wysokość i szerokość nie były większe niż określony rozmiar, np. 100 x 100:

sips -Z 100x100 image.jpg

sips obsługuje inne operacje, takie jak: odwracanie, obracanie, przycinanie, zapytanie o właściwości obrazu, zapytanie o profil kolorów i modyfikację. Sprawdź man sipsużycie.

Ronny Haryanto
źródło
25

Dzięki hdiutilniemu możesz łatwo zamontować obraz dysku:

hdiutil mount ~/Desktop/lastest_webkit.dmg

Demontaż (sposób hakera):

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

Demontaż (łatwy sposób):

hdiutil detach /Volumes/<mountpoint>

lub zastosuj łatwiejsze podejście (ta sugerowana poniżej sekwencja ):

hdiutil detach /Volumes/latest_webkit
doekman
źródło
18
Po prostu wykonaj „hdiutil detach / Volumes / <mountpoint>”
churnd
1
Czy dwie ostatnie opcje nie są takie same?
Użyłem diskutilza dużo o tym ostatnio, gdy dowiedział (a nienawidząc) DiskTool. diskutil eject /Volumes/backupsostatnio był często używany.
Jason Salaz
Nie jestem pewien, dlaczego, ale /sbin/umount /Volumes/Foowydaje się, że działa szybciej niż hdiutil
TJ Luoma
Używam głównie diskutil, szczególnie diskutil verifyVolume <volume name>, ponieważ funkcja Verify w Disk Utility dla woluminów RAID nigdy nie działała (długotrwały błąd).
25

Niektóre przydatne aliasy:

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); }

Wszystkie są w moim, ~/.bash_profilewięc mogę używać ich w każdym oknie terminalu.

PS

alias chpwn="chown"

Aby uzyskać więcej, zobacz moje dotfiles repozytorium GitHub i / lub przeglądać mój .osxplik dla OS X konkretnych preferencji i ustawień .

Mathias Bynens
źródło
+1 - Doskonała odpowiedź. Szczególnie podoba mi się alias ips / myip!
boehj
22

textutil to bardzo przydatne narzędzie, które może krzyżowo konwertować tekst między HTML, RTF (D), Word (w tym XML), OpenOffice.org Writer i formatem webarchive.

Używam go zwłaszcza w usłudze, która konwertuje zaznaczony tekst na HTML, przesyła go na serwer, a następnie importuje do Instapaper.

Louije
źródło
Sądzę, że jest to specyficzne dla BSD, nie tylko OS X. Ale mimo to przydatne ...
@Henno, nie; 10.8.5 (przynajmniej) ma textutilrównież. Strona podręcznika dla texteditstanów, które obsługuje „txt, html, rtf, rtfd, doc, docx, wordml, odt lub webarchive”.
Jeff Dickey
22

Uczyń pliki niewidocznymi:

SetFile file -a V

SetFile może również zmieniać wiele innych atrybutów plików i metadanych.

SetFile nie jest natywnym poleceniem OS X, jest dołączone do DevTools / Xcode.

Jeśli nie masz Xcode i nie chcesz pobierać około 6 GB, możesz użyć

sudo chflags hidden|nohidden <file/folder>

chflags jest poleceniem BSD, a także posiada stronę podręczną, wystarczy wpisać to w terminalu

man chflags

dla tych, którzy nie lubią samodzielnie wprowadzać poleceń i po prostu chcą wiedzieć, co stoi w człowieku. Tutaj masz:

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
źródło
5
To jest w /Developer/Tools, którą będziesz musiał pobrać ze strony Apple (ciężki) lub zainstalować z dysku OS. Żaden system nie jest kompletny bez niego.
6
chflags hidden?
Daniel Beck
Poprzedzasz flagę „nie”, aby ją usunąć. A więc sudo chflag nohidden <file/folder>nie show.
phette23
19
 dot_clean .

To nie jest codzienne użytkowanie - ale kiedyś było to dużo oszczędniejsze - miałem serwer plików SMB (Avid Unity), który wyświetlał wiele plików .filename dla użytkowników komputerów Mac i PC.

Ta komenda czyszczenia całkowicie rozwiązała problem (po dwukrotnym uruchomieniu)

evilblender
źródło
3
dobrze jest wreszcie wiedzieć, że jest na to dobry sposób.
jkp
Przepraszam, ale nie rozumiem, co to są pliki ._ * i jak ten program naprawia opisany problem, strona podręcznika nie pomogła zbyt wiele, czy możesz podać więcej szczegółów? Czy korzystanie z niego jest całkowicie bezpieczne?
rslnx
Pliki ._ są niewidoczne w Finderze w systemie Mac OS - ale są widoczne dla innych systemów operacyjnych. Są też reliktem „widelców zasobów”, które przestały być używane, gdy Mac przeniósł się z OS 9 na OS X. Zamiast po prostu wyrzucać je willy nie chcąc w innym systemie operacyjnym - możesz poprosić Mac OS o pomoc w czyszczeniu zbędne za pomocą komendy dot_clean.
evilblender
17

historywyświetla listę ostatnio wykonanych poleceń - na przykład 500 lub 600 poleceń. Często używam, history | grep somethingaby znaleźć polecenie, którego ostatnio użyłem.

Avi Len
źródło
13
To jest wbudowane bash, a nie specyficzne dla OS X.
Prawdziwe. Przepraszam. Wydaje mi się, że doszedłem do wniosku, że pytający szuka przydatnych poleceń terminala Mac, niezależnie od tego, czy są one specyficzne dla komputerów Mac, czy nie. Jeśli się myliłem, przepraszam.
7
Możesz nacisnąć Ctrl + R w bash, aby interaktywnie przeszukiwać historię powłoki. Jeśli go naciśniesz, a następnie wpisz ssh exa, znajdziesz ostatnie polecenie, które zaczyna się od ssh exa. Możesz nacisnąć ctrl + r ponownie, aby przejść dalej do tyłu, powrócić, aby wykonać bieżące polecenie, lub nacisnąć klawisz Escape, aby dalej edytować polecenie
2
Skoro już to robimy, history -a; history -rkopiuje historię między kartami terminala.
3
Po uruchomieniu historymożesz uruchomić dowolny element z wynikowej listy, używając numeru elementu historii. np. !23uruchomi pozycję 23 na liście historii.
17

Chociaż mogę się poruszać w vi, używam TextMate jako edytora wiersza poleceń . Możesz także do niego potokować. Na przykład ls | mate otwiera TextMate z bieżącą listą bezpośrednio otwartą w oknie tekstowym.

Hanleyp
źródło
5
Użyłem „kolego”. więcej razy niż zależy mi na policzeniu.
Rzeczywiście, mate .jest najlepszą rzeczą na świecie.
Zdecydowanie polecam zabawę z Cocoa Emacs.
ocodo
16

mdlspokaże wszystkie metadane pliku, o których wie Spotlight. Możesz także użyć wynikowych atrybutów w „mdfind”.

mdutil umożliwia włączanie i wyłączanie indeksowania w niektórych woluminach oraz resetowanie indeksu itp.

systemsetup jest specyficzny dla BSD (nie tylko Mac), ale naprawdę fajny, sprawdź jego stronę.

GetFileInfo (Wierzę, że musisz mieć narzędzia programistyczne, aby to mieć) pozwala zobaczyć wszystkie powiązane czasy (modyfikację, tworzenie, ostatni dostęp) i wszystkie atrybuty pliku.

automator pozwala uruchamiać przepływy pracy automatora z wiersza poleceń, natomiast

osascript pozwala uruchomić kod skryptu Apple.

Henno
źródło
+1 - Nie wiedziałem, że automatorwarto wiedzieć ... Przypuszczam;) - (Ogólnie używam go do uruchamiania skryptów z Findera, więc nie jestem pewien, czy kiedykolwiek użyłbym go na odwrót.)
ocodo