sviluppo-web-qa.it

Quali sono utili comandi da riga di comando su Mac OS X?

Per i thread Windows e Linux , quali comandi trovi più utili in Mac OS X Server (o Client)?

58
username
say "some text"

Famosamente usato per riportare le persone nei loro appartamenti , say prende i tuoi argomenti e li legge ad alta voce attraverso il dispositivo di uscita audio.

28
Tim

pbpaste e pbcopy per interagire con il cartone (noto anche come appunti).

Esempi:

# copies the directory listing
ls -l | pbcopy

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

Penso che per impostazione predefinita utilizzino la codifica macroman, quindi se vuoi UTF-8 (cosa che fai) dovresti dare un'occhiata a questi link:

23
kch
fs_usage

Consente di monitorare l'attività del file system. Comodo se vuoi vedere quali file crea qualche app. Vedi http://rentzsch.com/macosx/fs_usageIntro per ulteriori spiegazioni.

19
username
open .

Apre una finestra del Finder nella directory di lavoro corrente.

17
richardhoskins

Dalla riga di comando, mi piace avere la possibilità di:

Crea e masterizza un CD/DVD "universale":

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

Crea un'immagine ISO da un CD/DVD:

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

Essere in grado di dimenticare il comando otool quando cerco ldd:

 $ alias ldd = 'printf "Invio comando a \'\'' otool -L\'\' '-\n" && otool -L' 

Montare un'immagine del disco dalla riga di comando:

 $ hdid diskimage.dmg (o .iso) 

Usa l'anteprima per accedere a una pagina man:

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

L'utilità CLI "aeroporto" è la mia preferita. Vedi http://osxdaily.com/2007/01/18/airport-the-little-known-command-line-wireless-utility/ . Ti mostrerà dettagli come il livello del segnale, il livello di rumore e il BSSID dell'AP a cui sei associato.

12
Jason Luther
drutil tray open

Inestimabile (su ssh) quando non è collegata alcuna tastiera poiché il pulsante di espulsione su Apple unità ottiche non è accessibile dall'esterno del case.

11
James
ipconfig getpacket en0

Visualizza la configurazione di rete per l'interfaccia Ethernet primaria (en0).

Se sei abituato a Windows e pensi che "ipconfig" sia rotto - non lo è ;-) Devi solo aggiungere un paio di argomenti

11
username

Non si può dire abbastanza, "aperto" è fantastico. È possibile aprire i documenti nel loro programma GUI e selezionare anche il programma GUI con -a. Per esempio,

open -a vlc movie.avi

aprirà VLC e gli dirà di caricare movie.avi nella directory corrente.

open movie.avi

lo aprirebbe con qualunque programma sia quello predefinito. Se vuoi solo aprire un programma, puoi farlo anche tu:

open -a system\ preferences

eseguirà Preferenze di Sistema. Puoi anche aprire gli URL:

open vnc://myserver:5900

aprirà Condivisione schermo e si connetterà a myserver.

Check-out

man open

per vedere tutte le bandiere che puoi usare.

11
w00t
softwareupdate

Aggiorna il tuo mac dalla CLI.

10
dvoita
networksetup

Configura tutto ciò che trovi nel riquadro Preferenze di rete in Preferenze di Sistema sulla riga di comando. Semplifica la scrittura di script o l'esecuzione di operazioni in remoto molto.

9
Chealion
Sudo changeip -checkhostname

Verifica che la risoluzione DNS diretta e inversa sia integra e spesso mostra il comando che è possibile utilizzare per risolvere il problema. Se dice "i nomi corrispondono, non c'è nulla da cambiare" sei in buona forma. Vitale se si cambia la configurazione di rete del proprio server. Anche importante usarlo prima di promuovere il tuo server su un Open Directory Master.

8
username
dscacheutil -flushcache

Mi ritrovo a usare quello heap per svuotare la cache DNS, su 10.5+.

8
Bruce McLeod
ping 224.0.0.1

Ping tutti dispositivi sulla tua sottorete

7
username
srm

Versione della riga di comando per l'eliminazione sicura.

7
Jauder Ho
last

mostra chi ha effettuato l'accesso a un sistema, per quanto tempo lo ha utilizzato e quando il sistema è stato riavviato.

Ecco un esempio dell'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

elenca i file aperti

Comodo quando vuoi espellere il tuo drive USB e ti viene detto che è in uso e per favore esci da tutte le applicazioni e riprova.

$ 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

In questo caso, avevo cd sull'unità e quindi bash stava accedendo al volume.

Nota che se vedi le voci "mds", significa che Spotlight sta indicizzando l'unità.

7

La guida Command-Line Administration pubblicata da Apple è preziosa.

Googling for "mac della riga di comando" fornisce buoni risultati.

Amministrazione della riga di comando per Mac OS X 10.5 , 10.4 e 10. .

Altre guide utili sono disponibili su http://www.Apple.com/server/macosx/resources/ .

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

Consente di chiudere un'applicazione da Shell.

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

Utile ultima riga di un lungo script Shell, mette Mac in pausa quando lo script è terminato. L'ho aliasato per iSleep.

pbpaste | script.sh |pbcopy

prende il contenuto di pasteboard (modifica-> copia) e lo reindirizza a script.sh. I risultati vengono messi sul pannello di montaggio per consentirti di modificare-> incollare in un documento.

6
sal

http://www.commandlinefu.com

Sebbene non sia specificamente una risorsa Mac, utilizza l'icona per il Terminale e la maggior parte dell'elenco di comandi davvero utili funzionerà.

6
mcxquery

questo ti permetterà di vedere che tipo di impostazioni MCX (Managed Client) vengono applicate a un computer client.

[L'equivalente della GUI è andare su System Profiler e, nella sezione Software, fare clic su "Managed Client".]

È utile determinare se una macchina è gestita e vedere se sta ottenendo le impostazioni previste.

5
sw_vers

Visualizza la versione e la build attualmente installate di Mac OS X.

5
username
df -h

Per verificare la quantità di spazio su disco che ho attualmente su tutto il disco.

4
hendrasaputra
opendiff file1 file2

Esegue FileMerge (un diff grafico fornito con Apple Strumenti per sviluppatori) su file1 e file2.

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

Elenco dei server pubblicitari in Bonjour. L'ultimo suggerimento elenca i tipi di servizi che è possibile elencare. L'elenco è in diretta, premi Ctrl-C quando hai visto abbastanza.

Lo stesso comando arriva negli ultimi Linux e nell'SDK Bonjour per Windows.

4
James
system_profiler

Ti dà gli stessi risultati che ottieni quando scegli Informazioni su questo Mac -> Altre informazioni, solo sulla riga di comando.

In esecuzione

system_profiler -usage

o guardando la pagina man ti darà consigli su come usarla.

Un paio di esempi:

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

questo scaricherà il profilo di sistema in un file che può essere visualizzato in un secondo momento su un altro computer.

system_profiler SPUSBDataType

Ti informa su tutti i tuoi dispositivi USB (inclusi i loro ID fornitore e prodotto, che possono aiutare a rintracciare i driver).

system_profiler SPUSBDataType | grep "Product ID" -c

ti dirà quanti dispositivi USB sono collegati (compresi i dispositivi USB interni), il che è utile per vedere se il computer vede un dispositivo (o, se, diciamo, Parallel lo ha afferrato o è morto.) [Nota che nel App GUI di System Profiler, puoi scegliere Visualizza -> Aggiorna dal menu per aggiornare l'elenco; potrebbe essere più semplice.]

system_profiler SPHardwareDataType

ti fornirà informazioni hardware di base (utili per il tracciamento delle risorse) e

system_profiler SPHardwareDataType | grep Serial

ti darà il numero di serie della macchina.

4
Sudo opensnoop

in Leopard e versioni successive, segnala quali processi aprono i file, con esito positivo o meno. Puoi chiedergli di esaminare tutti i file aperti sul sistema, tramite un processo specifico o se un processo sta aprendo un determinato file, con diversi tipi di timestamp e per mostrare se si verificano errori.

Ecco alcuni dettagli:

opensnoop è uno script dtrace ; ce ne sono molti altri in/usr/bin che osservano cose come quale sistema chiama un processo, quali processi sta creando e cosa I/O sta facendo. Correre apropos DTrace per un elenco e guarda le pagine man per i dettagli.


Ho scoperto di opensnoop nel tentativo di diagnosticare perché un Comic Life Magiq 1.1 si stava arrestando in modo anomalo su OS 10.5.8 per gli utenti con account di rete.

Ho corso (più volte, su account diversi, tramite ssh):

Sudo opensnoop -e -n Comic > output.txt

L'ultimo file aperto dagli utenti della rete era qualcosa del genere (con un percorso completo):

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

che mi ha ricordato che Safari 5.0 si stava arrestando in modo anomalo per gli utenti della rete e ci siamo aggirati gestendo una preferenza per non memorizzare nella cache i favicon o reindirizzando un file. Apple apparentemente ha risolto il problema in Safari 5.0.1 e ieri quando sono passato a Safari 5.0.2, ha risolto il crash per gli utenti di Comic Life Magiq.

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

Cambia (falsificando) l'indirizzo MAC fino al prossimo riavvio

4
username

Veramente solo per Mac: ho visto "aperto". sopra, ma apri aprirà qualsiasi documento o app che gli passi.

Unix generico che utilizzo di più: Sudo è molto utile per cambiare i file di configurazione del sistema, ecc., Che in realtà modifico in vi.

kill non può essere sopravvalutato quando qualcosa si blocca (o quando un altro utente è ancora connesso al mio desktop in background e voglio disconnetterlo, brutto lo so ma è mio desktop)

ssh/scp - Adoro il fatto che in OSX posso semplicemente aprire un terminale e collegarmi a uno dei nostri server. Solo questo mi ha reso felice di abbandonare Windows.

ifconfig/ping/whois/nmap ecc

3
Alex

scutil --dns

Visualizza l'ordine per la risoluzione DNS. Utile per la creazione o il debug delle impostazioni di rete.

3
romant
lsof -i 

elenca le porte Internet aperte. Uscita campione:

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)

Usa Sudo se vuoi che le porte siano aperte da tutti gli utenti e i flag -n e -P disabiliterà la risoluzione dei nomi e i nomi delle porte e ti darà invece numeri.

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

Avvia il servizio Desktop remoto (utile se si dispone solo dell'accesso SSH ma si desidera fare qualcosa utilizzando la GUI sul Mac client). Per ulteriori opzioni, consultare: http://support.Apple.com/kb/HT237

3
username
drutil eject

espellerà un CD.

3

Se vuoi sapere che tipo di terminazioni di riga ha un file, esegui

file /path/to/your-file

ex:

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

Un po 'pedonale per questo pubblico, senza dubbio, ma io uso:

screencapture -i -c

prendere ciò che voglio dallo schermo È davvero utile e fa cose che Grab non mi permetterà di afferrare.

2
Dave

Ottieni un root Shell senza abilitare l'utente root (come Apple stesso richiede talvolta nei loro documenti per fare alcune cose "geek", cioè per impostare a livello di sistema linguaggio)

Sudo bash

Questo ti dà una Shell root dove puoi fare tutto quello che vuoi come root, senza dover anteporre ogni comando con il comando Sudo.

Questo può essere pericoloso, ma siamo amministratori di sistema, sappiamo cosa stiamo facendo, no? :)

2
drAlberT

A parte i soliti sospetti di Unix trovo quanto segue utile: -

  • dsconfigad: modifica le impostazioni di Active Directory e collega un computer

  • impostazioni predefinite - Modifica preferenze

  • plutil - Converte plist da e verso il testo

  • aggiornamento software: eseguire Aggiornamento software dalla riga di comando

  • installer: installa i pacchetti dalla riga di comando

  • networksetup - imposta e ottieni varie cose come il nome del computer

Se padroneggi quelli e le solite cose Unix hai tutto ciò che ti serve per l'amministrazione Mac dalla riga di comando.

2
Honestpuck

Come abilitare Time Machine al backup su un NAS.

defaults write com.Apple.systempreferences TMShowUnsupportedNetworkVolumes 1

Trova l'indirizzo MAC

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

Comando per creare sparsebundle da copiare sul NAS

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

Funziona come il backup di fascino sul mio ReadyNAS.

2
Jauder Ho

È uno strumento di terze parti freeware, ma

edit

è davvero utile. È uno strumento da riga di comando che puoi installare facoltativamente la prima volta che esegui TextWrangler . [Altri editor di testo (BBEdit, TextMate) probabilmente forniscono qualcosa di analogo.]

edit path/to/somefile

Apre il file in TextWrangler e ti consentirà di autenticarti se normalmente non disponi dell'autorizzazione per modificarlo. (Puoi anche farlo da una sessione ssh e lo aprirà per l'utente grafico che ha effettuato l'accesso).

Meglio ancora è che puoi tubare le cose ad esso.

lsof -i | edit

ad esempio, ti mostrerà le tue connessioni di rete aperte e le aprirà in TextWrangler, dove puoi cercare (e scorrere) facilmente attraverso di esse.

2

Questa domanda si sovrappone un po 'a questa sugli strumenti di cui un amministratore UNIX non può vivere . Molti degli strumenti da riga di comando per Mac OS X hanno root UNIX, come df, du e which; tuttavia ci sono notevoli eccezioni che non hanno evidenti equivalenti UNIX, come osascript, open, pbcopy, pbpaste e say.

2
las3rjock

killall -9 appname force chiude un'app. Abbastanza utile se non riesci ad accedere a Activity Monitor.

2
al.

ipconfig è talvolta utile:

Ottenere l'indirizzo IP corrente sull'interfaccia:

$ ipconfig getifaddr en1
10.110.2.25

Ottenere le informazioni DHCP che sono state ricevute l'ultima volta:

$ 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

è ottimo per ottenere il tuo indirizzo IP e

ifconfig en1 | grep eth

funziona bene per ottenere un indirizzo MAC. Utilizzando en1 (quasi sempre) otterrai l'indirizzo MAC dell'aeroporto, utile se sulla tua rete wireless sono consentiti solo dispositivi noti. Al contrario, se usi en0 - la porta Ethernet integrata - puoi quindi cercare la macchina nella tua Open Directory, in questo modo:

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

(Supponendo che il tuo server fosse "odm" e il regno sia ODM.PRETENDCO.COM).

2

Ho appena scoperto che esiste un costrutto bash elegante che puoi usare al posto del comando seq mancante in Mac OS:

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

Avvia una sessione interattiva SQLite . Se foo.db non esiste, verrà creato.

1
richardhoskins

du -d 1 -h

Visualizza le statistiche sull'utilizzo del disco per la directory corrente in forma leggibile.

man [comando]

Uno dei comandi più utilizzati. Ti dice come usare tutto il resto.

1
Peter Hoven

Cose specifiche di OS X che non ho visto menzionate:

mdfind utilizza gli indici di ricerca Spotlight dalla riga di comando, quindi puoi effettuare ricerche full-text senza utilizzare il menu a discesa Cerca.

networksetup - ti mostrerà tutta la sintassi folle che supporta; questo è l'equivalente da riga di comando del riquadro delle preferenze di rete.

Sudo launchctl list - mostra i lavori in esecuzione launchctl. ricorda launchctl stop X.XX.X 'fermerà' (ucciderà) l'istanza attualmente in esecuzione di un processo persistente; per smettere davvero di funzionare usa launchctl unload /System/Library/LaunchDaemons/X.XX.X.plist.

1
eric sorenson
Sudo slapconfig -destroyldapserver

Forza la riduzione di una replica LDAP in modalità autonoma. Se il master Open Directory è configurato in modo errato, a volte il tentativo di retrocedere una replica Open Directory utilizzando Server Admin non riuscirà (ad esempio: è possibile che il server di replica si rifiuti di declassare). Puoi usare slapconfig per costringerlo a retrocedere in queste occasioni.

1
username
 which program

ha cercato il percorso per il programma e ti dice quale eseguibile viene richiamato se esegui il programma senza specificare un percorso completo.

Di solito è più utile come scorciatoia per digitare un percorso.

$ 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

Hai mai desiderato sapere quale sia l'indirizzo IP di un altro Mac che puoi vedere nel Finder sulla tua LAN grazie a Bonjour?

dscacheutil -q Host -a name OtherMac.local

dscacheutil è sorprendentemente utile e versatile. Puoi fare molto di più con esso oltre a svuotare la cache DNS (come menzionato altrove qui), ovvero ricerche di utenti, statistiche e dump della cache.

1
Joe Carroll

Quali licenze DHCP detiene il client?

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

Elencare il firewall consentire/negare:

Sudo ipfw list

Genera una password ad alta entropia (fai doppio clic su una promettente stringa di 16 caratteri per copiare/incollare):

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

Questi sono di base, ma utili se si ha l'amnesia:

Chi sono?

id

Dove mi trovo?

pwd

Che edificio sono io?

hostname

Qual è il suo indirizzo?

ifconfig |grep inet
1
username

Forse non è il comando più "utile" ma say è piuttosto divertente.

Per esempio say I love serverfault per rileggere ciò che scrivi dopo "dire".

0
HostBits
locate "foo"

Visualizza qualsiasi file sul tuo sistema con "pippo" nel suo nome file. Devo usarlo quasi tutte le volte che uso Spotlight.

0
username
 Sudo reboot

riavvia il computer.

0