pengembangan-web-mp-pd.com

Apa Perintah Baris Perintah yang berguna di Mac OS X?

Per Windows dan Linux utas, perintah apa yang menurut Anda paling berguna di Mac OS X Server (atau Klien)?

58
username
say "some text"

Terkenal digunakan untuk membuat orang kembali ke apartemen mereka , say mengambil argumen Anda dan membacanya dengan keras melalui perangkat output audio.

28
Tim

pbpaste dan pbcopy untuk berinteraksi dengan papan tulis (alias clipboard).

Contoh:

# copies the directory listing
ls -l | pbcopy

# get pasteboard lines containing foo and save them in a_file
pbpaste | grep foo > a_file

Saya pikir mereka default untuk menggunakan encoding macroman, jadi jika Anda ingin UTF-8 (yang Anda lakukan) Anda harus memeriksa tautan ini:

23
kch
fs_usage

Memungkinkan Anda memantau aktivitas sistem file. Berguna jika Anda ingin melihat file apa yang dibuat beberapa aplikasi. Lihat http://rentzsch.com/macosx/fs_usageIntro untuk penjelasan lebih lanjut.

19
username
open .

Membuka jendela Finder di direktori kerja saat ini.

17
richardhoskins

Dari baris perintah, saya suka memiliki kemampuan untuk:

Buat dan bakar CD/DVD "universal":

 $ mkisofs -allow-multidot -allow-leading-dots -d -hide-rr-move\
 - l -joliet-long -R -T -v\
 - V VOLUME_NAME -o output.iso root-cd-dir /[.____.[$ hdiutil burn -noverifyburn output.iso 

Buat gambar ISO dari CD/DVD:

 $ diskutil unmountDisk /dev/disk2s0[.____.[$ dd jika =/dev/disk2s0 dari = cdname.iso bs = 32m 

Mampu melupakan perintah otool ketika saya mencari ldd:

 $ alias ldd = 'printf "Mengirim perintah ke \'\'' otool -L\'\' '-\n" && otool -L' 

Pasang citra disk dari baris perintah:

 $ hdid diskimage.dmg (atau .iso) 

Gunakan pratinjau untuk mengakses halaman manual:

 $ man -t rsync | buka -f -a /Applications/Preview.app
13
Gary Chambers

Utilitas CLI 'bandara' adalah favorit saya. Lihat http://osxdaily.com/2007/01/18/airport-the-little-known-command-line-wireless-utility/ . Ini akan menampilkan detail seperti tingkat sinyal, tingkat kebisingan, dan BSSID dari AP yang terkait dengan Anda.

12
Jason Luther
drutil tray open

Tak ternilai (melebihi ssh) ketika tidak ada keyboard yang terhubung karena tombol eject pada Apple drive optik tidak dapat diakses dari luar kasing).

11
James
ipconfig getpacket en0

Menampilkan konfigurasi jaringan untuk antarmuka Ethernet utama (en0).

Jika Anda terbiasa dengan Windows dan berpikir "ipconfig" rusak - tidak ;-) Anda hanya perlu menambahkan beberapa argumen

11
username

Tidak bisa dikatakan cukup, "terbuka" itu hebat. Anda dapat membuka dokumen di program GUI mereka dan Anda dapat memilih program GUI dengan -a juga. Sebagai contoh,

open -a vlc movie.avi

akan membuka VLC dan memerintahkannya untuk memuat movie.avi di direktori Anda saat ini.

open movie.avi

akan membukanya dengan program apa pun yang merupakan default. Jika Anda hanya ingin membuka program, Anda dapat melakukannya juga:

open -a system\ preferences

akan menjalankan System Preferences. Anda juga dapat membuka Url:

open vnc://myserver:5900

akan membuka Berbagi Layar dan terhubung ke server saya.

Periksa

man open

untuk melihat semua flag yang dapat Anda gunakan.

11
w00t
softwareupdate

Perbarui mac Anda dari CLI.

10
dvoita
networksetup

Konfigurasikan semua yang Anda temukan di Panel Preferensi Jaringan di System Preferences pada baris perintah. Membuat skrip penulisan, atau melakukan hal-hal dari jarak jauh banyak lebih mudah.

9
Chealion
Sudo changeip -checkhostname

Memeriksa apakah memajukan dan membalikkan resolusi DNS sehat, dan sering menunjukkan kepada Anda perintah yang dapat Anda gunakan untuk memperbaiki masalah. Jika tertulis "nama cocok, tidak ada yang berubah" Anda dalam kondisi yang baik. Penting jika Anda pernah mengubah konfigurasi jaringan server Anda. Juga penting untuk menggunakan ini sebelum Anda mempromosikan server Anda ke Open Directory Master.

8
username
dscacheutil -flushcache

Saya menemukan diri saya menggunakan tumpukan itu untuk membersihkan cache DNS, pada 10.5+.

8
Bruce McLeod
ping 224.0.0.1

Ping semua perangkat di subnet Anda

7
username
srm

Versi baris perintah untuk penghapusan aman.

7
Jauder Ho
last

menunjukkan siapa yang telah masuk ke suatu sistem, berapa lama mereka menggunakannya, dan kapan sistem telah dimulai ulang.

Berikut adalah contoh dari output:

clinton   ttys000                   Thu May 28 22:33   still logged in
clinton   console                   Thu May 28 08:05   still logged in
reboot    ~                         Thu May 28 08:05 
shutdown  ~                         Wed May 27 20:15 
clinton   console                   Wed May 27 17:33 - 20:15  (02:42)
...

wtmp begins Thu May 14 09:26 
7
 lsof

daftar file yang terbuka

Berguna saat Anda ingin mengeluarkan drive USB Anda dan diberi tahu bahwa drive itu sedang digunakan dan untuk keluar dari semua aplikasi dan coba lagi.

$ Sudo lsof /Volumes/CLINTON
COMMAND   PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
bash    55966 clinton  cwd    DIR  14,12    16384    2 /Volumes/CLINTON
lsof    56042    root  cwd    DIR  14,12    16384    2 /Volumes/CLINTON
lsof    56043    root  cwd    DIR  14,12    16384    2 /Volumes/CLINTON

Dalam hal ini, saya telah cded ke drive dan jadi bash mengakses volume.

Perhatikan bahwa jika Anda melihat entri 'mds', itu berarti sorotan mengindeks drive.

7

Panduan Administrasi Baris Perintah dikeluarkan oleh Apple sangat berharga.

Googling untuk "mac administrasi baris perintah" memberikan hasil yang baik.

Administrasi Command-Line untuk Mac OS X 10.5 , 10.4 , dan 10. .

Panduan bermanfaat lainnya ada di http://www.Apple.com/server/macosx/resources/ .

7
osascript -e 'tell application "AppName" to quit'

Memungkinkan Anda keluar dari aplikasi dari Shell.

osascript -e 'tell application "Finder" to sleep'

Baris terakhir yang berguna dari skrip Shell yang panjang, membuat Mac tertidur saat skrip selesai. Saya memilikinya alias untuk iSleep.

pbpaste | script.sh |pbcopy

mengambil konten papan tulis (edit-> salin) dan pipa itu ke script.sh. Hasilnya diletakkan di papan tulis untuk Anda edit-> tempel ke dalam dokumen.

6
sal

http://www.commandlinefu.com

Meskipun tidak secara khusus sumber daya Mac, ia menggunakan ikon untuk Terminal, dan sebagian besar daftar perintah yang sangat berguna akan berfungsi.

6
mcxquery

ini akan memungkinkan Anda melihat pengaturan MCX (Managed Client) seperti apa yang diterapkan pada mesin klien.

[Setara GUI adalah untuk pergi ke System Profiler, dan, di bawah bagian Perangkat Lunak, klik pada "Klien Terkelola".]

Sangat berguna untuk menentukan apakah mesin dikelola dan untuk melihat apakah itu mendapatkan pengaturan yang Anda harapkan.

5
sw_vers

Menampilkan versi saat ini diinstal dan membangun Mac OS X.

5
username
df -h

Untuk memeriksa berapa banyak ruang disk yang saya miliki saat ini di semua disk.

4
hendrasaputra
opendiff file1 file2

Berjalan FileMerge (grafik diff yang datang dengan Apple Alat Pengembang) pada file1 dan file2.

4
las3rjock
dns-sd -B _ssh
dns-sd -B _rfb
dns-sd -B _services._dns-sd._udp

Daftar server beriklan di Bonjour. Saran terakhir mencantumkan jenis layanan yang dapat Anda daftarkan. Cantumannya langsung, tekan Ctrl-C ketika Anda sudah cukup melihatnya.

Perintah yang sama datang di Linux baru-baru ini dan di Bonjour SDK untuk Windows.

4
James
system_profiler

Memberi Anda hasil yang sama seperti ketika Anda memilih About This Mac -> More Info, hanya pada baris perintah.

Lari

system_profiler -usage

atau melihat halaman manual akan memberi Anda tips tentang cara menggunakannya.

Beberapa contoh:

system_profiler -xml > MySystem.spx
# and later,
open MySystem.spx  # or just double click on it in the Finder

ini akan membuang profil sistem ke file yang dapat dilihat nanti di mesin yang berbeda.

system_profiler SPUSBDataType

Memberitahu Anda tentang semua perangkat USB Anda (termasuk Vendor dan ID Produk mereka, yang dapat membantu melacak driver).

system_profiler SPUSBDataType | grep "Product ID" -c

akan memberi tahu Anda berapa banyak perangkat USB yang dicolokkan (termasuk perangkat USB internal), yang berguna untuk melihat apakah komputer melihat perangkat (atau, jika, katakanlah, Paralel mengambilnya atau mati.) [Perhatikan bahwa di System GUI Aplikasi Profiler, Anda dapat memilih View -> Refresh dari menu untuk memperbarui daftar; itu mungkin lebih mudah.]

system_profiler SPHardwareDataType

akan memberi Anda informasi perangkat keras dasar (berguna untuk pelacakan aset), dan

system_profiler SPHardwareDataType | grep Serial

akan memberi Anda nomor seri mesin.

4
Sudo opensnoop

di Leopard dan yang lebih baru, melaporkan yang memproses file yang terbuka, berhasil atau tidak. Anda dapat memintanya untuk melihat semua file yang dibuka di seluruh sistem, melalui proses tertentu, atau jika ada proses yang membuka file yang diberikan, dengan berbagai jenis cap waktu, dan untuk menunjukkan apakah ada kesalahan.

Berikut ini beberapa detail lainnya:

opensnoop adalah skrip dtrace ; ada banyak orang lain di/usr/bin yang melihat hal-hal seperti yang membuat sistem memanggil proses, proses apa yang dibuatnya dan apa yang saya/O lakukan. Lari apropos DTrace untuk daftar, dan lihat halaman manual untuk detailnya.


Saya mengetahui tentang opensnoop ketika berjuang untuk mendiagnosis mengapa Comic Life Magiq 1.1 mogok di OS 10.5.8 untuk pengguna dengan akun jaringan.

Saya berlari (beberapa kali, pada akun yang berbeda, melalui ssh):

Sudo opensnoop -e -n Comic > output.txt

File terakhir yang dibuka oleh pengguna jaringan adalah sesuatu seperti ini (dengan path lengkap):

/Network/Servers/.../username/Library/Icons/WebpageIcons.db

yang mengingatkan saya bahwa Safari 5.0 mogok untuk pengguna jaringan, dan kami mengatasinya dengan mengelola preferensi untuk tidak men-cache favicon atau dengan mengarahkan ulang file. Apple rupanya memperbaiki masalah di Safari 5.0.1, dan ketika saya memutakhirkan ke Safari 5.0.2 kemarin, itu memperbaiki crash untuk pengguna Comic Life Magiq.

4
ifconfig en0 ether 00:00:00:00:00:00

Mengubah (spoof) alamat MAC hingga reboot berikutnya

4
username

Sungguh Mac saja: Saya melihat 'terbuka.' di atas, tetapi terbuka akan membuka dokumen atau aplikasi apa pun yang Anda berikan.

Generic Unix yang paling sering saya gunakan: Sudo cukup berguna untuk mengubah file konfigurasi sistem, dll, yang sebenarnya saya edit di vi.

kill tidak bisa dilebih-lebihkan ketika sesuatu hang (atau ketika pengguna lain masih login ke desktop saya di latar belakang dan saya ingin log out, nasty saya tahu tapi --- saya desktop)

ssh/scp - Saya suka di OSX saya hanya bisa membuka terminal dan terhubung ke server kami. Itu saja membuat saya senang untuk menjatuhkan Windows.

ifconfig/ping/whois/nmap dll

3
Alex

scutil --dns

Akan menampilkan pesanan untuk resolusi DNS. Berguna untuk saat Anda membuat atau men-debug pengaturan Jaringan Anda.

3
romant
lsof -i 

daftar port Internet yang terbuka. Output sampel:

COMMAND     PID    USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME
SystemUIS   223 clinton   11u  IPv4 0x3e21b08      0t0  UDP *:*
ARDAgent    262 clinton   16u  IPv4 0x3e21be0      0t0  UDP *:net-assistant
ARDAgent    262 clinton   18u  IPv4 0x5f01a68      0t0  TCP *:net-assistant (LISTEN)
AppleVNCS   263 clinton    4u  IPv6 0x3e274bc      0t0  TCP *:vnc-server (LISTEN)
Opera     48365 clinton   20u  IPv4 0x5f01e64      0t0  TCP WTD-Staff-BlackmoreC:57094->stackoverflow.com:http (ESTABLISHED)
Opera     48365 clinton   23u  IPv4 0x5b12a68      0t0  TCP WTD-Staff-BlackmoreC:57095->stackoverflow.com:http (ESTABLISHED)

Gunakan Sudo jika Anda ingin port terbuka oleh semua pengguna, dan flag -n dan -P akan menonaktifkan resolusi nama dan nama port dan memberikan Anda nomor.

3
Sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -restart -agent

Mulai layanan Remote Desktop (berguna jika Anda hanya memiliki akses SSH tetapi ingin melakukan sesuatu menggunakan GUI pada Mac klien Anda). Untuk opsi lebih lanjut, lihat: http://support.Apple.com/kb/HT237

3
username
drutil eject

akan mengeluarkan CD.

3

Jika Anda ingin tahu jenis akhiran apa dari sebuah file, jalankan saja

file /path/to/your-file

ex:

$ file imports/sample-students.txt 
imports/sample-students.txt: ASCII text, with CR line terminators
3

Sedikit pejalan kaki untuk audiens ini, tidak diragukan lagi, tetapi saya menggunakan:

screencapture -i -c

untuk mengambil apa pun yang saya inginkan dari layar Ini sangat berguna dan melakukan hal-hal yang Grab tidak akan membiarkan saya ambil.

2
Dave

Dapatkan root Shell tanpa mengaktifkan pengguna root (sebagai Apple itu sendiri kadang-kadang membutuhkan dalam dokumen mereka untuk melakukan beberapa hal "geeky", yaitu untuk mengatur seluruh sistem bahasa)

Sudo bash

Ini memberi Anda Shell root di mana Anda dapat melakukan semua yang Anda inginkan sebagai root, tanpa harus menambahkan setiap perintah dengan perintah Sudo.

Ini mungkin berbahaya, tetapi kita adalah sysadmin, kita tahu apa yang kita lakukan, bukan? :)

2
drAlberT

Terlepas dari para tersangka Unix yang biasa saya temukan yang berikut ini berguna: -

  • dsconfigad - Mengedit pengaturan Active Directory dan mengikat komputer

  • default - Edit preferensi

  • plutil - Konversi plist ke dan dari teks

  • pembaruan perangkat lunak - jalankan Pembaruan Perangkat Lunak dari baris perintah

  • installer - instal paket dari baris perintah

  • networksetup - set dan dapatkan berbagai hal seperti nama komputer

Jika Anda menguasai itu dan hal-hal Unix yang biasa Anda memiliki semua yang Anda butuhkan untuk administrasi Mac dari baris perintah.

2
Honestpuck

Cara mengaktifkan Time Machine untuk membuat cadangan ke NAS.

defaults write com.Apple.systempreferences TMShowUnsupportedNetworkVolumes 1

Temukan alamat MAC

ifconfig en0 | grep ether | sed s/://g | sed s/ether//

Perintah untuk membuat sparsebundle untuk menyalin ke NAS

Sudo hdiutil create -nospotlight -library SPUD -size 160g -fs "Case-sensitive Journaled HFS+" -type SPARSEBUNDLE -volname "<VOLNAME>" ./<HOSTNAME>_<MAC_ADDRESS>.sparsebundle

Bekerja seperti pesona yang mendukung ReadyNAS saya.

2
Jauder Ho

Ini adalah alat pihak ketiga freeware, tetapi

edit

sangat berguna. Ini adalah alat baris perintah yang Anda dapat menginstal opsional saat pertama kali Anda menjalankan TextWrangler . [Editor teks lain (BBEdit, TextMate) kemungkinan memberikan sesuatu yang analog.]

edit path/to/somefile

Membuka file dalam TextWrangler, dan akan membiarkan Anda mengotentikasi jika Anda biasanya tidak memiliki izin untuk mengeditnya. (Anda bahkan dapat melakukannya dari sesi ssh, dan itu akan membukanya untuk pengguna grafis yang masuk).

Lebih baik lagi adalah Anda dapat menyalurkan berbagai hal ke sana.

lsof -i | edit

misalnya, akan menunjukkan kepada Anda koneksi jaringan terbuka Anda dan membukanya di TextWrangler, di mana Anda dapat mencari (dan menggulir) melalui mereka dengan mudah.

2

Pertanyaan ini tumpang tindih sedikit dengan ini tentang alat yang administrator UNIX tidak dapat hidup tanpanya . Banyak alat baris perintah untuk Mac OS X memiliki akar UNIX, seperti df, du, dan which; namun ada pengecualian penting yang tidak memiliki padanan UNIX yang jelas, seperti osascript, open, pbcopy, pbpaste, dan say.

2
las3rjock

killall -9 appname paksa keluar dari aplikasi. Cukup berguna jika Anda tidak bisa masuk ke Activity Monitor.

2
al.

ipconfig terkadang berguna:

Mendapatkan alamat IP saat ini di antarmuka:

$ ipconfig getifaddr en1
10.110.2.25

Mendapatkan informasi DHCP yang terakhir diterima:

$ ipconfig getpacket en1
op = BOOTREPLY
htype = 1
flags = 0
hlen = 6
Hops = 0
xid = 143857879
secs = 0
ciaddr = 0.0.0.0
yiaddr = 10.110.2.25
siaddr = 0.0.0.0
giaddr = 0.0.0.0
chaddr = 00:aa:bb:cc:dd:ee
sname = 
file = 
options:
Options count is 7
dhcp_message_type (uint8): ACK 0x5
server_identifier (ip): 1.1.1.1
lease_time (uint32): 0xe10
router (ip_mult): {10.110.0.1}
domain_name_server (ip_mult): {1.1.1.1, 1.1.1.2}
subnet_mask (ip): 255.255.252.0
end (none): 
2
dexedrine
ifconfig | grep cast

sangat bagus untuk mendapatkan alamat IP Anda, dan

ifconfig en1 | grep eth

berfungsi dengan baik untuk mendapatkan alamat MAC. Menggunakan en1 akan (hampir selalu) mendapatkan alamat MAC Bandara, yang berguna jika hanya perangkat yang dikenal yang diizinkan masuk ke jaringan nirkabel Anda. Sebaliknya, jika Anda menggunakan en0 - port ethernet built-in - Anda dapat mencari mesin di Open Directory Anda, seperti:

ldapsearch -x -h odm -b "cn=computers,dc=odm,dc=pretendoco,dc=com" "macAddress=00:0d:93:b5:82:88"

(Dengan asumsi server Anda adalah 'odm' dan wilayahnya adalah ODM.PRETENDCO.COM).

2

Saya baru tahu bahwa ada konstruk bash yang bagus yang bisa Anda gunakan alih-alih perintah seq yang hilang di Mac OS:

echo { 18..21 }
2
geewiz
sqlite3 foo.db

Mulai sesi interaktif SQLite . Jika foo.db tidak ada, itu akan dibuat.

1
richardhoskins

du-d 1 -j

Menampilkan statistik penggunaan disk untuk direktori saat ini dalam bentuk yang dapat dibaca manusia.

man [perintah]

Salah satu perintah yang paling sering digunakan. Memberitahu Anda cara menggunakan yang lainnya.

1
Peter Hoven

Hal-hal spesifik OS X yang belum saya lihat disebutkan:

mdfind menggunakan indeks pencarian Spotlight dari commandline, sehingga Anda dapat melakukan pencarian teks lengkap tanpa menggunakan pulldown Search.

networksetup - akan menunjukkan kepada Anda semua sintaks gila yang didukungnya; ini adalah baris perintah yang setara dengan panel preferensi Jaringan.

Sudo launchctl list - menunjukkan pekerjaan launchctl yang sedang berjalan. ingat launchctl stop X.XX.X hanya akan 'menghentikan' (membunuh) instance yang sedang berjalan dari proses persisten; untuk benar-benar membuatnya berhenti digunakan launchctl unload /System/Library/LaunchDaemons/X.XX.X.plist.

1
eric sorenson
Sudo slapconfig -destroyldapserver

Memaksa Demosikan Replika LDAP ke Standalone. Jika Master Direktori Terbuka Anda salah konfigurasi, terkadang mencoba mendemosikan Replika Direktori Terbuka menggunakan Server Admin akan gagal (mis: Anda mungkin menemukan server Replica Anda menolak untuk didemosikan). Anda dapat menggunakan slapconfig untuk memaksanya untuk didemosi pada kesempatan ini.

1
username
 which program

mencari path untuk program, dan memberi tahu Anda executable mana yang dipanggil jika Anda menjalankan program tanpa menentukan path lengkap.

Ini biasanya paling berguna sebagai singkatan untuk mengetik lintasan.

$ which python
/usr/bin/python
$ ls -l `which python`
lrwxr-xr-x  1 root  wheel  72 30 Jan 22:56 /usr/bin/python -> ../../System/Library/Frameworks/Python.framework/Versions/2.5/bin/python
1

Pernah ingin tahu apa alamat IP Mac lain yang dapat Anda lihat di Finder ada di LAN Anda berkat Bonjour?

dscacheutil -q Host -a name OtherMac.local

secara mengejutkan, dscacheutil bermanfaat dan serbaguna. Anda dapat melakukan lebih banyak dengan itu daripada hanya membersihkan cache DNS (seperti yang disebutkan di bagian lain di sini), yaitu pencarian pengguna dan statistik cache dan dump.

1
Joe Carroll

Lisensi DHCP apa yang dipegang klien?

Sudo ls -lt /private/var/db/dhcpclient/leases

Daftar izin firewall/tolak:

Sudo ipfw list

Hasilkan kata sandi entropi tinggi (klik dua kali pada string 16 karakter yang menjanjikan untuk menyalin/menempel):

head -c90 /dev/random | uuencode -m pwd | hexdump -C
1
Charles Stewart

Ini dasar, tetapi berguna jika Anda mengalami amnesia:

Siapa saya?

id

Di mana saya berdiri?

pwd

Bangunan apa saya?

hostname

Apa alamatnya

ifconfig |grep inet
1
username

Mungkin bukan perintah yang paling "berguna" tetapi say cukup menyenangkan.

Sebagai contoh say I love serverfault untuk membacanya kembali apa yang Anda ketik setelah "katakan."

0
HostBits
locate "foo"

Menampilkan file apa pun di sistem Anda dengan "foo" di nama filenya. Saya harus menggunakan ini hampir sesering saya menggunakan Spotlight.

0
username
 Sudo reboot

reboot komputer.

0