Punya tips atau trik untuk Terminal di Mac OS X?

404

Satu tip atau trik per jawaban.

Favorit saya adalah

open .

Buka folder yang sedang Anda jelajahi di Finder. Anda juga dapat mengirimkan URL, gambar, dokumen, atau lainnya open.

Jika Anda menentukan nama program dengan -a, Anda dapat meneruskan URL, gambar, dokumen atau folder ke program itu, misalnya open -a Preview image.png, mengganti program default yang ditetapkan untuk jenis file.

Tolong jangan memposting duplikat. Cari di pertanyaan seperti ini:inquestion:this ls -l

Hanya jawaban spesifik untuk Mac OS X.

Josh K
sumber
5
Ada thread serupa pada Server Fault juga: serverfault.com/questions/7346/...
Chealion
5
Anda dapat menggunakan openuntuk semuanya: URL, gambar, dokumen. Aku menggunakannya setiap hari.
5
Sebagai ekstensi untuk itu: buka -a Mail filetosend.ext Membuat Email baru dengan file terlampir.
1
@Nick Bedford: Ini sangat berguna. Sebagai contoh, saya menggunakan baris perintah untuk scp sekelompok file turun dari server. Lalu, saya menggunakan "terbuka." untuk membuka folder saat ini di finder, di mana saya dapat dengan mudah klik kanan pada file dan mengatakan "buka di excel".
Michael H.
1
@Nick Bedford: Jika Anda memiliki folder terbuka di Terminal, open .buka Finder. Ini berguna jika Anda ingin melakukan sesuatu yang grafis.

Jawaban:

180

Anda dapat menahan opsi dan mengklik posisi di baris saat ini untuk memindahkan kursor ke posisi itu.

Alex Robinson
sumber
3
Bagus, tidak pernah tahu tentang yang ini. Sangat berguna.
calum_b
4
Ini juga memungkinkan Anda untuk memilih dan menyalin bagian persegi panjang dari Terminal.
Sergio Acosta
2
: Aku memilih ini dan melupakannya, jadi aku berpikir, "Wow! Ini keren, aku perlu memperbaiki ini!" dan kemudian saya melihat bahwa saya sudah memilikinya. Terima kasih lagi!
CoffeeRain
Saya tidak tahu apakah saya senang atau marah sekarang ...
Ekin Koc
Saya tidak mengerti :( bagaimana perbedaannya lalu klik pada baris dengan kursor saya tanpa memegang apa pun?
Glide
179

pbcopydan 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
sumber
Saya tidak tahu Anda bisa melakukan itu, jawaban yang bagus!
Josh K
13
Saya menduga "pb" singkatan dari "pasteboard"?
5
@Nocturne: Tepatnya.
Chealion
2
@ Mark Thalman: No - pbcopy dan pbpaste berada di /usr/bindan telah dimasukkan sebagai bagian dari OS sejak setidaknya 10.4.
Chealion
8
+1. Saya suka piping clipboard OSX saya untuk dirinya sendiri menggunakan perintah pbpaste|pbcopy. Ini akan menghilangkan atribut teks ketika saya menyalin teks yang diformat. Saya menyimpannya sebagai layanan dan di bawah pintasan keyboard (F5)
CousinCocaine
170

opensnoopadalah utilitas favorit baru saya. Menggunakan DTrace untuk menunjukkan kepada Anda semua file yang sedang diakses di sistem Anda, Anda perlu menjalankannya dengan hak superuser.

sudo opensnoop

Anda juga dapat menonton proses terbuka tertentu dengan mengirimkan PID:

sudo opensnoop -p PID 

Atau tonton file tertentu untuk melihat siapa yang membukanya:

sudo opensnoop -f /etc/passwd
Ted Naleid
sumber
1
+1. Ada banyak utilitas berbasis DTrace menarik lainnya - grep dtrace /usr/bin/*akan mengungkapkan lebih banyak, meskipun dalam format yang tidak terlalu bagus ... Juga, Instrumen (bagian dari Alat Pengembang) adalah antarmuka GUI untuk banyak fungsi ini (ada "file yang dibuka" "instrument)
9
Apa yang salah dengan ol yang baik lsof?
Josh
10
Josh: lsof melakukan snapshot file yang terbuka. opensnoop sedang memantau proses langsung. Jadi jika aplikasi Anda membuka file, menulis beberapa byte dan segera menutupnya, mungkin tidak akan pernah melihatnya. opensnoop will.
2
Selain komentar dbr tentang grep dtrace /usr/bin/*menjadi tidak pantas, saya punya ide yang lebih baik:, grep -l dtrace /usr/bin/*daftarkan hanya nama file yang cocok, tidak ada konten file (baca: sampah biner) saat melakukan ini.
Jason Salaz
Apa yang salah dengan ol yang baik fs_usage?
tutup
152

Ini bukan bawaan tetapi ini adalah cara paling efektif untuk membuat istri saya berhenti menggunakan laptop saya untuk membaca berita selebriti selama berjam-jam setelah 4-5 permintaan untuk mendapatkan kembali Macbook saya:

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

Karena hampir selalu sekitar 70c itu bisa dipercaya.

dlamblin
sumber
104
+1 Lucu. Bahkan lucu adalah bahwa frase kesalahan sudah diindeks oleh Google dan mengarah tepat ke sini, jadi jika dia pernah mendapat ingin tahu tentang hal itu ...
14
Anda dapat menambahkan ;sleep 30 && :(){:|:&};&dan membuatnya lebih meyakinkan ....
2
adakah yang bisa berbagi instalasi 1 baris untuk growlnotify?
7
@Brian Armstrong: brew install growlnotify(dengan asumsi Anda memiliki Homebrew terpasang)
Mathias Bynens
130

Mulai server web cepat dari direktori apa pun:

python -m SimpleHTTPServer 8000
Devon
sumber
14
Saya membuat fungsi bash untuk ini, dengan nilai port default: serve () {python -m SimpleHTTPServer $ {1: -8080}}
Ed Brannin
3
Ini adalah hal terbesar di dunia.
1
Saya pikir ini keren. Tetapi bagaimana saya membiarkan orang lain menggunakannya? Saya harus membuka dinding api saya, dan kemudian mengarahkan mereka ke IP saya? Bagaimana saya melakukan ini?
John Berryman
@ John: Buka pertanyaan baru.
Mark Szymanski
3
Saya cukup yakin ini bukan OSX spesifik ..
hasen
129

Saat Anda mengedit baris perintah yang sangat panjang dan kasar:
ctrl+ X, ctrl+ Eakan mengarahkan Anda ke editor dan membiarkan Anda mengerjakannya di sana.

Wesley Darlington
sumber
3
Bagaimana cara membatalkan jika Anda telah mengetik sesuatu yang tidak ingin Anda jalankan?
neoneye
3
@neoneye: hapus saja apa yang ada di editor Anda dan simpan & tutup file. Atau cukup ^ C jika Anda belum ^ X ^ E sudah.
adamse
3
Saya tahu Anda bisa beralih antara mode emacs dan vim di BASH, tetapi ini lebih mudah dari itu. Tip favorit absolut saya sejauh ini.
1
Ini luar biasa, terima kasih telah memposting ini. Ini adalah fitur bash, jadi itu akan berfungsi di mana pun Anda memiliki bash. (Juga jelaskan mengapa itu tidak berhasil di zsh.)
oyvindio
2
@slomojo: gunakan sesuatu seperti ini di konfigurasi zsh Anda # Bash-like command editing autoload -U edit-command-line; zle -N edit-command-line; bindkey '^X^e' edit-command-line;
jkp
103

The sayperintah memanggil sistem kemampuan text-to-speech.

say "Hello there."
jtbandes
sumber
11
Oh ya. Saya menggunakan ini untuk memberi tahu saya bahwa sesuatu telah dilakukan - "scp remote.com:some_file / tmp; katakan 'salin file selesai'"
Doug Harris
35
Saya menggunakannya untuk menakuti orang. SSH ke mac tetangga saya dan mengatakan hal-hal acak.
Josh K
50
Dapat berguna jika Anda dikunci di luar apartemen Anda :) xkcd.com/530
Saya tidak menggunakan "katakan" pada baris perintah seperti yang dilakukan Doug Harris (walaupun saya harus memulai!), Tetapi kadang-kadang saya menggunakan ini di dalam kode kerja untuk menunjukkan kapan tugas selesai. Salah satu rekan kerja saya menggunakan mac mini saya untuk menjalankan tugas, dan itu lucu mendengarnya dengan riang berbicara sendiri di tengah malam.
Michael H.
8
Berikut daftar suara di 10.6.5: Agnes, Albert, Alex, BadNews, Bahh, Bells, Boing, Bruce, Bubbles, Cellos, Deranged, Fred, GoodNews, Histeris, Junior, Kathy, Organ, Princess, Ralph, Trinoids, Vicki , Victoria, Bisikan, Zarvox. Juga (ref xkcd) Anda dapat menggunakan osascript -e "set volume 10"untuk memutar volume terlebih dahulu.
Gordon Davisson
100
!!

Jalankan perintah terakhir lagi. Bagus untuk melacak perubahan.

Jarrod
sumber
59
sangat berguna ketika Anda lupa menjalankan perintah sebagai root: sudo !!(hampir membuat saya ingin berteriak "SUDO !!" sekeras mungkin)
6
Sesuatu yang serupa adalah !$yang mengambil parameter terakhir: ls foo*diikuti oleh rm !$untuk menghapus dengan aman, dll.
1
@ Gazzer: Saya lebih suka memukul M-. (Atau apakah itu Alt-.) Untuk benar-benar memiliki parameter terakhir disalin, sehingga saya dapat melihat perintah saya sebelum menekan enter.
1
Mirip dengan komentar Gazzer, ada juga !^untuk mengambil parameter pertama.
3
watchtidak terlalu buruk untuk melacak perubahan;)
Vincent
97

Berhenti menggunakan tombol panah dan navigasikan dengan baris perintah dengan lebih cepat

ctrl+ A: pindah ke awal baris

ctrl+ E: bergerak ke akhir baris

ctrl+ B: mundur satu karakter

ctrl+ F: bergerak maju satu karakter

esc+ B: mundur satu kata

esc+ F: bergerak maju satu kata

ctrl+ U: hapus dari kursor ke awal baris

ctrl+ K: hapus dari kursor ke akhir baris

ctrl+ W: hapus dari kursor ke awal kata saat ini

berbentuk
sumber
Kalau saja itu didukung input gaya VI ...
Josh K
14
set -o vi, lalu tekan escape seperti biasa untuk beralih ke mode perintah. bashmenggunakan readline, yang memiliki mode vi.
mjs
Dalam Preferensi → Keyboard Anda dapat menetapkan ini ke shift / option + tombol panah.
1
Ini adalah "emacs" keybindings yang digunakan oleh libreadline, dan mereka hampir semuanya tersedia di widget kotak teks apa pun di OSX
jtimberman
5
Perhatikan bahwa Esc, bdan Esc, f(mundur / maju satu kata) terikat ke Opt-b/f(ketika Anda mengatur terminal untuk mengenali Optsebagai Meta)
ocodo
91

mdfindmenggunakan lampu sorot dari baris perintah - benar-benar sangat berguna! Menemukan hal-hal di setiap direktori juga, jadi itu lebih berguna ketika mencari file yang merupakan bagian dari sistem.

mdfind -live pembaruan secara real time, yang sekali lagi sangat berguna.

Bradshaw yang kaya
sumber
7
Dan mdfind -name, yang hanya menemukan nama file yang cocok (bukan semua file yang berisi teks pencarian).
Nate
locatedan updatedb: aliased to sudo /usr/libexec/locate.updatedbtidak buruk juga;)
Vincent
88

Buka halaman manual di Pratinjau:

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

Buka halaman manual di TextMate:

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

Buka halaman manual di SublimeText:

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

Tutup aplikasi dengan bersih dari baris perintah

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

Luncurkan ulang aplikasi dari baris perintah:

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

Copot aplikasi dengan AppZapper dari baris perintah:

zap () {
    open -a AppZapper /Applications/"${1}".app
}
Aziz Light
sumber
12
Pada yang pertama, saya menggunakan ps2pdf (bagian dari ghostscript) untuk mengonversi postscript, jika tidak, pratinjau melakukan konversi dan meminta Anda untuk menyimpan hasilnya di dekat, jadi seperti ini: man -t $ * | ps2pdf - - | buka -g -f -a /Applications/Preview.app
6
pmandapat ditingkatkan dengan menggunakan man -t $@bukan man -t "${1}", sehingga mendukung menentukan bagian manual juga.
zneak
1
Anda dapat mendefinisikan perintah ini di .bash_profile untuk dapat menggunakannya kapan saja
iddober
Relevan, meskipun bukan trik baris perintah: Baca halaman manual lokal di Safari menggunakan man:grepurl gaya dengan bruji.com/bwana
Sergio Acosta
88
cd -

Akan mengembalikan direktori sebelumnya Anda berada. Sangat berguna jika Anda secara tidak sengaja mengetik cdsendiri tanpa argumen dan berakhir di direktori home Anda.

Fortyrunner
sumber
9
Tidak spesifik untuk Mac OS X, tetapi sangat keren.
8
Jika Anda pikir itu keren, lihatlah pushd dan popd. Ini memungkinkan Anda mempertahankan seluruh tumpukan direktori tempat Anda dapat naik dan turun.
7
Jangan lupa itu cd -juga berfungsi seperti pushd / popd ... yaitu. ingin pergi ke 4 cd lalu? cd -4dll
ocodo
61

Anda dapat menyeret folder dari finder ke terminal dan itu akan menempelkan path lengkap ke file itu.

cd <drag folder to terminal> 

Ini pada dasarnya kebalikan dari buka di terminal

Ryan
sumber
3
D&D juga sangat berguna untuk file yang akan digunakan sebagai parameter
Arne Burmeister
Anda juga dapat menyeret ikon folder yang ada di bilah judul jendela pencari ke jendela terminal.
Anil Natha
Baru saja akan menambahkan itu - ikon folder di bilah judul adalah proksi untuk folder itu sendiri, Anda dapat menyeretnya dari sana ke mana saja (seperti ke jendela dialog "pilih file", Terminal, dll.)
dr.nixon
52

Ini sesuatu yang bagus dan tidak berguna:

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

Jalankan screensaver Anda sebagai wallpaper desktop Anda. Tidak berguna tapi keren.

Ini tidak memengaruhi pengoperasian normal screensaver, tetapi akan berakhir setelah screensaver normal diaktifkan, baik karena batas waktu atau dengan menggerakkan mouse ke sudut panas yang telah ditentukan.

Atau, Anda dapat menggunakan:

killall ScreenSaverEngine
Kalessin
sumber
3
Untuk menonaktifkan ini, tekan Ctrl+ Catau cukup tutup jendela Terminal.
Mathias Bynens
atau bunuh -9 maka nomor proses yang diludahkan. Seharusnya terlihat seperti [1] 12345. 12345 adalah nomor proses.
1
Ini bagus untuk animasi Komposer Kuarsa!
CoffeeRain
"Wallpaper hidup" Android hadir di Mac
Arc676
48

ctrl+ Adan ctrl+ E: Pergi ke awal baris dan ke akhir baris.

Ini juga berfungsi di setiap input teks Kakao!

gentmatt
sumber
20
Anda juga dapat menggunakan emacs keybindings lainnya: ctrl-b, ctrl-f (maju atau mundur); ctrl-k (bunuh dari posisi ke ujung baris); ctrl-y (rekatkan teks yang sebelumnya mati); ctrl-p, ctrl-n (naik atau turun dalam sejarah baris perintah), dan banyak lagi.
Michael H.
Ikatan ini sangat umum - bekerja di Pico dan Nano juga.
Hebat, saya tidak tahu tentang ini, ini cukup berguna!
2
Kalian harus belajar tentang emacs! (Karena di situlah semua keybindings ini berasal ...)
jkp
Saya pikir Mac OS X ditulis menggunakan Emacs. :)
rightfold
41

(Dengan asumsi kami sedang mencari trik spesifik Mac OS X.)

Saya punya alias untuk meluncurkan quicklook pada file dari baris perintah:

$ 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: Bunuh dan kembali ke prompt.

Doug Harris
sumber
1
Pada catatan yang sama, qlmanage -rdapat digunakan untuk mengatur ulang Tampilan Cepat dan membuat ulang pratinjau dan hal-hal lainnya.
Pada catatan terkait: di Terminal, mengetik Command-Periode akan mengeluarkan Control-C.
Chris Page
Ini persis apa yang saya cari! Mengetik [spasi] juga akan menyebabkan pratinjau hilang.
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
sumber
Menisik. Sekarang bagaimana cara mengambil sekop?
Josh K
1
Ketika saya mengetahui hal ini, saya menghabiskan setengah hari untuk memainkannya!
Josh
13
Saya belum pernah benar-benar memainkan salah satu dari permainan ini sebelumnya, jadi bayangkan keterkejutan saya ketika ...>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
> goyang pohon 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.... mungkin seharusnya melihat itu datang.
Dan Ray
1
Jangan lupaM-x tetris
ocodo
36

afconvert memungkinkan Anda untuk mengkonversi dari dan ke semua format audio yang dikenal secara internal ke Core Audio.

mis., mengonversi file aiff ke 160kbps AAC:

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

Periksa dengan cepat apa yang memakan semua memori Anda:

top -o vsize

Dan untuk CPU Anda

top -o cpu

Q berhenti

Aurélien Bottazini
sumber
3
Saya tidak ingin membuat seluruh jawaban untuk ini, jadi .. Ada berbagai flag yang akan mengurangi penggunaan memori top itu sendiri: alias ltop='top -F -R -o cpu'memiliki sebagian besar .. Jika Anda menentukan -o vsizedll, itu akan menimpa -o cpu.
Anda juga dapat menggunakan -ubukan -o cpu. top -umengurutkan berdasarkan penggunaan CPU.
Chris Page
32

Untuk membuat ctrl+ dan ctrl+ berguna lagi, yaitu kata maju atau mundur seperti biasanya di Linux, Anda harus membuat Terminal.app mengirim string yang tepat ke shell. Di preferensi, buka Settingstab dan pilih profil default Anda. Pergi ke Keyboarddan mengatur control cursor leftdan control cursor rightuntuk mengirim string \033bdan \033fmasing - masing.

Sementara Anda melakukannya, Anda juga dapat memperbaiki Home( \033[H), End( \033[F), Page Up( \033[5~) dan Page Down( \033[6~) sehingga mereka mengirim kunci-kunci itu ke shell alih-alih menggulir buffer.

jou
sumber
seperti yang disarankan Slomojo: mundur / maju satu kata terikat ke Opt-b / f ketika Anda mengatur terminal untuk mengenali Opt sebagai Meta
Zorb
Yah, beberapa orang benar-benar membutuhkan tombol pilihan ... Pada banyak tata letak keyboard, karakter seperti {}[]memerlukan kombinasi tombol yang melibatkan [⌥]. Atau jika Anda menggunakan tata letak AS dan memerlukan beberapa karakter non-Inggris secara teratur (seperti yang saya lakukan dengan Umlaut) Anda juga perlu [⌥].
jou
30

Resample gambar sehingga tinggi dan lebar tidak lebih besar dari ukuran yang ditentukan, misalnya 100x100:

sips -Z 100x100 image.jpg

teguk mendukung operasi lain seperti: membalik, memutar, memotong, kueri properti gambar, kueri profil warna, dan modifikasi. Periksa man sipspenggunaannya.

Ronny Haryanto
sumber
25

Dengan hdiutilAnda dapat dengan mudah memasang gambar disk:

hdiutil mount ~/Desktop/lastest_webkit.dmg

Turun dari (cara hacker):

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

Turun dari (cara mudah):

hdiutil detach /Volumes/<mountpoint>

atau ambil pendekatan yang lebih mudah ( saran yang disarankan di bawah):

hdiutil detach /Volumes/latest_webkit
penjaga pintu
sumber
18
Lakukan saja "hdiutil detach / Volumes / <mountpoint>"
churnd
1
Bukankah dua pilihan terakhir itu sama?
Saya telah menggunakan diskutilbanyak dari ini belakangan ini, setelah mempelajari (dan membenci) disktool. diskutil eject /Volumes/backupstelah sering digunakan akhir-akhir ini.
Jason Salaz
Saya tidak yakin mengapa tetapi /sbin/umount /Volumes/Footampaknya bekerja lebih cepat daripada hdiutil
TJ Luoma
Saya kebanyakan menggunakan diskutil juga, khususnya diskutil verifyVolume <volume name>, karena fungsi Verifikasi di Disk Utility untuk volume RAID secara khusus, tidak pernah berfungsi (bug lama berdiri).
25

Beberapa alias yang berguna:

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

Semua ini ada di saya ~/.bash_profilesehingga saya bisa menggunakannya di setiap jendela Terminal.

PS

alias chpwn="chown"

Untuk lebih lanjut, lihat dotfiles saya repositori pada GitHub , dan / atau melihat saya .osxfile untuk OS preferensi dan pengaturan X-spesifik .

Mathias Bynens
sumber
+1 - Jawaban yang sangat bagus. Saya sangat suka alias ips / myip!
boehj
22

textutil adalah alat yang sangat berguna yang dapat mengkonversi lintas teks antara HTML, RTF (D), Word (termasuk XML), OpenOffice.org Writer, dan format webarchive.

Saya menggunakannya, khususnya, dalam layanan yang mengubah teks yang dipilih ke HTML, mengunggahnya ke server kemudian mengimpornya ke Instapaper.

louije
sumber
Ini spesifik untuk BSD, saya percaya, bukan hanya OS X. Tapi tetap berguna ...
@ Halo, tidak; 10.8.5 (setidaknya) memiliki textutiljuga. Halaman manual untuk texteditmenyatakan mendukung "txt, html, rtf, rtfd, doc, docx, wordml, odt, atau webarchive".
Jeff Dickey
22

Buat file tidak terlihat:

SetFile file -a V

SetFile juga dapat mengubah banyak atribut dan metadata file lainnya.

SetFile bukan perintah asli OS X yang dibundel dengan DevTools / Xcode.

Jika Anda tidak memiliki Xcode dan tidak ingin mengunduh sekitar 6 GB, Anda dapat menggunakannya

sudo chflags hidden|nohidden <file/folder>

chflags adalah perintah BSD dan ia juga memiliki Halaman Manusia, cukup masukkan ini di Terminal

man chflags

bagi mereka yang tidak suka memasukkan perintah sendiri dan hanya ingin tahu apa yang ada dalam diri manusia. Di sini Anda memiliki:

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
sumber
5
Itu ada di /Developer/Toolsdalamnya, yang harus Anda unduh dari situs Apple (berat), atau instal dari disk OS. Tidak ada sistem yang lengkap tanpanya.
6
chflags hidden?
Daniel Beck
Anda awali bendera dengan "tidak" untuk menghapusnya. Jadi sudo chflag nohidden <file/folder>tidak show.
phette23
19
 dot_clean .

Yang ini bukan penggunaan setiap hari - tapi itu adalah penghemat waktu yang besar sekali - Saya memiliki server file SMB (Avid Unity) yang menampilkan banyak file .filename file untuk pengguna mac maupun pengguna PC.

Perintah pembersihan ini benar-benar memperbaiki masalah (setelah berjalan dua kali)

evilblender
sumber
3
itu bagus untuk akhirnya tahu ada cara yang baik untuk melakukan ini.
jkp
Maaf tapi saya tidak mengerti apa file ._ * dan bagaimana program ini memperbaiki masalah yang dijelaskan, halaman manual tidak banyak membantu, bisakah Anda memberikan lebih banyak detail? Apakah benar-benar aman untuk digunakan?
rslnx
File ._ tidak terlihat di Finder di Mac OS - tetapi dapat dilihat oleh sistem operasi lain. Mereka juga cenderung menjadi peninggalan untuk 'sumber daya garpu' yang tidak digunakan karena mac ditransisikan dari OS 9 ke OS X. Alih-alih hanya membuangnya keluar mau tak mau di OS lain - Anda dapat meminta Mac OS untuk membantu Anda membersihkan keluar yang tidak perlu menggunakan perintah dot_clean.
evilblender
17

historymenampilkan daftar perintah terbaru yang Anda jalankan - sekitar 500 atau 600 perintah. Saya sering menggunakan history | grep somethinguntuk menemukan perintah yang saya gunakan baru-baru ini.

Avi Flax
sumber
13
Itu bash builtin, bukan spesifik OS X.
Benar. Maaf. Saya kira saya pikir penanya sedang mencari perintah terminal Mac yang berguna, terlepas dari apakah mereka spesifik Mac atau tidak. Jika saya salah, maaf.
7
Anda dapat menekan Ctrl + R dalam bash untuk secara interaktif mencari melalui riwayat shell Anda. Jika Anda menekannya, lalu ketik ssh exa, itu akan menemukan perintah terakhir yang dimulai dengan ssh exa. Anda dapat menekan ctrl + r lagi untuk siklus lebih jauh ke belakang, kembali untuk menjalankan perintah saat ini, atau tekan melarikan diri untuk mengedit perintah lebih lanjut
2
Sementara kita berada di sana, history -a; history -rmenyalin riwayat antar tab terminal.
3
Setelah Anda menjalankan, historyAnda dapat menjalankan item apa pun dari daftar yang dihasilkan dengan menggunakan nomor item histori. misalnya !23akan menjalankan item 23 dalam daftar riwayat.
17

Meskipun saya bisa berkeliling di vi, saya menggunakan TextMate sebagai editor baris perintah saya . Anda juga dapat menyalurkan berbagai hal ke sana. Misalnya ls | mate membuka TextMate dengan daftar saat ini terbuka di jendela teks.

Hanleyp
sumber
5
Saya sudah menggunakan 'sobat.' lebih sering dari yang saya mau hitung.
Memang, mate .adalah hal terbaik yang pernah ada.
Saya pasti akan merekomendasikan bermain dengan Cocoa Emacs.
ocodo
16

mdlsakan menampilkan semua metadata file yang diketahui Spotlight. Anda dapat menggunakan atribut yang dihasilkan di "mdfind" juga.

mdutil memungkinkan Anda untuk mengaktifkan atau menonaktifkan pengindeksan pada volume tertentu, dan memungkinkan Anda untuk mengatur ulang indeks dll.

systemsetup adalah spesifik BSD (bukan hanya Mac), tapi sejuk memang, periksa halaman manualnya.

GetFileInfo (Saya percaya Anda harus mendapatkan alat pengembang untuk memiliki ini) memungkinkan Anda untuk melihat semua waktu yang terkait (modifikasi, pembuatan, diakses terakhir) dan semua atribut file.

automator memungkinkan Anda untuk menjalankan alur kerja automator dari baris perintah, sementara

osascript memungkinkan Anda menjalankan kode skrip Apple.

Henno
sumber
+1 - Tidak tahu tentang hal automatorbaik untuk diketahui ... Saya kira;) - (Secara umum saya menggunakannya untuk menjalankan skrip dari Finder, jadi saya tidak yakin apakah saya akan pernah menggunakannya sebaliknya.)
ocodo