D'après les fils Windows et Linux , quelles commandes trouvez-vous les plus utiles dans Mac OS X Server (ou Client)?
say "some text"
Utilisé pour ramener les gens dans leurs appartements , say
prend vos arguments et les lit à haute voix via le périphérique de sortie audio.
pbpaste
et pbcopy
pour interagir avec le presse-papiers (alias presse-papiers).
Exemples:
# copies the directory listing
ls -l | pbcopy
# get pasteboard lines containing foo and save them in a_file
pbpaste | grep foo > a_file
Je pense qu'ils utilisent par défaut l'encodage macroman, donc si vous voulez UTF-8 (ce que vous faites), vous devriez vérifier ces liens:
fs_usage
Vous permet de surveiller l'activité du système de fichiers. Pratique si vous voulez voir quels fichiers une application crée. Voir http://rentzsch.com/macosx/fs_usageIntro pour plus d'explications.
open .
Ouvre une fenêtre du Finder dans le répertoire de travail actuel.
Depuis la ligne de commande, j'aime pouvoir:
Créez et gravez un CD/DVD "universel":
$ mkisofs -allow-multidot -allow-leader-dots -d -hide-rr-moves\ - l -joliet-long -R -T -v\ - V VOLUME_NAME -o output.iso root-cd-dir /[.____. diplomatique hdiutil burn -noverifyburn output.iso
Créez une image ISO à partir d'un CD/DVD:
.
Pouvoir oublier la commande otool lorsque je cherche ldd:
$ alias ldd = 'printf "Envoi de la commande à \'\'' otool -L\'\' '-\n" && otool -L'
Montez une image disque à partir de la ligne de commande:
$ hdid diskimage.dmg (ou .iso)
Utilisez l'aperçu pour accéder à une page de manuel:
$ man -t rsync | open -f -a /Applications/Preview.app
L'utilitaire CLI "aéroport" est mon préféré. Voir http://osxdaily.com/2007/01/18/airport-the-little-known-command-line-wireless-utility/ . Il vous montrera des détails comme le niveau du signal, le niveau de bruit et le BSSID de l'AP auquel vous êtes associé.
drutil tray open
Inestimable (sur ssh) quand aucun clavier n'est connecté car le bouton d'éjection sur les lecteurs optiques Apple Apple n'est pas accessible de l'extérieur du boîtier).
ipconfig getpacket en0
Affiche la configuration du réseau pour l'interface Ethernet principale (en0).
Si vous êtes habitué à Windows et pensez que "ipconfig" est cassé - ce n'est pas le cas ;-) Il vous suffit d'ajouter quelques arguments
On ne peut pas en dire assez, "ouvert" est super. Vous pouvez ouvrir des documents dans leur programme GUI et vous pouvez également sélectionner le programme GUI avec -a. Par exemple,
open -a vlc movie.avi
ouvrira VLC et lui dira de charger movie.avi dans votre répertoire actuel.
open movie.avi
l'ouvrirait avec le programme par défaut. Si vous voulez simplement ouvrir un programme, vous pouvez aussi le faire:
open -a system\ preferences
exécutera les Préférences Système. Vous pouvez également ouvrir les URL:
open vnc://myserver:5900
ouvrira le partage d'écran et se connectera à myserver.
Check-out
man open
pour voir tous les indicateurs que vous pouvez utiliser.
softwareupdate
Mettez à jour votre mac depuis la CLI.
networksetup
Configurez tout ce que vous trouvez dans le volet Préférences réseau dans les Préférences Système sur la ligne de commande. Permet d'écrire des scripts ou de faire des choses à distance beaucoup plus facile.
Sudo changeip -checkhostname
Vérifie que la résolution DNS avant et arrière est saine et vous montre souvent la commande que vous pouvez utiliser pour résoudre le problème. S'il dit "les noms correspondent, il n'y a rien à changer", vous êtes en bonne forme. Indispensable si jamais vous changez la configuration réseau de votre serveur. Il est également important de l'utiliser avant de promouvoir votre serveur en maître Open Directory.
dscacheutil -flushcache
Je me retrouve à utiliser celui-ci pour vider le cache DNS, sur 10.5+.
ping 224.0.0.1
Ping tous périphériques sur votre sous-réseau
srm
Version en ligne de commande pour une suppression sécurisée.
last
indique qui s'est connecté à un système, combien de temps ils l'ont utilisé et quand le système a été redémarré.
Voici un échantillon de la sortie:
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
lsof
liste des fichiers ouverts
Pratique lorsque vous souhaitez éjecter votre clé USB et qu'on vous dit qu'elle est en cours d'utilisation. Veuillez quitter toutes les applications et réessayer.
$ 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
Dans ce cas, j'avais cd
ed sur le lecteur et donc bash accédait au volume.
Notez que si vous voyez des entrées "mds", cela signifie que Spotlight indexe le lecteur.
Le guide d'administration de ligne de commande publié par Apple est inestimable).
Googler pour "mac d'administration en ligne de commande" donne de bons résultats.
Administration de la ligne de commande pour Mac OS X 10.5 , 10.4 et 10. .
D'autres guides utiles sont disponibles sur http://www.Apple.com/server/macosx/resources/ .
osascript -e 'tell application "AppName" to quit'
Vous permet de quitter une application à partir du shell.
osascript -e 'tell application "Finder" to sleep'
Dernière ligne utile d'un long script Shell, met Mac en veille lorsque le script est terminé. Je l'ai aliasé à iSleep.
pbpaste | script.sh |pbcopy
prend le contenu de la table de montage (éditer-> copier) et le redirige vers script.sh. Les résultats sont placés sur la table de montage pour que vous puissiez les éditer-> coller dans un document.
Bien qu'il ne s'agisse pas spécifiquement d'une ressource Mac, il utilise l'icône du terminal, et la plupart des commandes vraiment utiles fonctionneront.
mcxquery
cela vous permettra de voir quel type de paramètres MCX (Client géré) sont appliqués à une machine cliente.
[L'équivalent GUI est d'aller à System Profiler, et, dans la section Logiciel, cliquez sur "Client géré".]
Il est utile de déterminer si une machine est gérée et de voir si elle obtient les paramètres que vous attendez.
sw_vers
Affiche la version et la version de Mac OS X actuellement installées.
df -h
Pour vérifier combien d'espace disque j'ai actuellement sur tout le disque.
opendiff file1 file2
Exécute FileMerge (un diff
graphique fourni avec Apple Developer Tools) sur file1
et file2
.
dns-sd -B _ssh
dns-sd -B _rfb
dns-sd -B _services._dns-sd._udp
Liste des serveurs publicitaires dans Bonjour. La dernière suggestion répertorie les types de services que vous pouvez répertorier. La liste est en direct, appuyez sur Ctrl-C lorsque vous en avez vu assez.
La même commande est disponible dans les Linux récents et dans le SDK Bonjour pour Windows.
system_profiler
Donnez-vous les mêmes résultats que lorsque vous choisissez À propos de ce Mac -> Plus d'informations, uniquement sur la ligne de commande.
Fonctionnement
system_profiler -usage
ou en regardant la page de manuel vous donnera des conseils sur la façon de l'utiliser.
Quelques exemples:
system_profiler -xml > MySystem.spx
# and later,
open MySystem.spx # or just double click on it in the Finder
cela videra le profil système dans un fichier qui pourra être consulté ultérieurement sur une autre machine.
system_profiler SPUSBDataType
Vous informe sur tous vos périphériques USB (y compris leurs ID de fournisseur et de produit, ce qui peut aider à retrouver les pilotes).
system_profiler SPUSBDataType | grep "Product ID" -c
vous dira combien de périphériques USB sont branchés (y compris les périphériques USB internes), ce qui est utile pour voir si l'ordinateur voit un périphérique (ou, si, disons, Parallel l'a saisi ou est mort.) [Notez que dans le App GUI System Profiler, vous pouvez choisir Affichage -> Actualiser dans le menu pour mettre à jour la liste; cela peut être plus simple.]
system_profiler SPHardwareDataType
vous obtiendrez des informations de base sur le matériel (utiles pour le suivi des actifs), et
system_profiler SPHardwareDataType | grep Serial
vous donnera le numéro de série de la machine.
Sudo opensnoop
dans Leopard et plus récent, les rapports qui traitent les fichiers ouverts, avec succès ou non. Vous pouvez lui demander d'examiner tous les fichiers ouverts sur le système, par un processus spécifique, ou si un processus ouvre un fichier donné, avec différentes sortes d'horodatages, et de montrer si des erreurs se produisent.
Voici quelques détails supplémentaires:
opensnoop est un script dtrace ; il y en a beaucoup d'autres dans/usr/bin qui regardent des choses comme le système qui appelle un processus, quels processus il crée et ce qu'il fait. Courir apropos DTrace
pour une liste et consultez les pages de manuel pour plus de détails.
J'ai découvert opensnoop lorsque j'ai eu du mal à diagnostiquer pourquoi un Comic Life Magiq 1.1 plantait sur OS 10.5.8 pour les utilisateurs avec des comptes réseau.
J'ai couru (plusieurs fois, sur différents comptes, via ssh):
Sudo opensnoop -e -n Comic > output.txt
Le dernier fichier ouvert par les utilisateurs du réseau ressemblait à ceci (avec un chemin complet):
/Network/Servers/.../username/Library/Icons/WebpageIcons.db
ce qui m'a rappelé que Safari 5.0 se bloquait pour les utilisateurs du réseau, et nous avons contourné ce problème soit en gérant une préférence pour ne pas mettre en cache les favicons ou en redirigeant un fichier. Apple a apparemment résolu le problème dans Safari 5.0.1, et lorsque j'ai effectué une mise à niveau vers Safari 5.0.2 hier, il a corrigé le plantage des utilisateurs de Comic Life Magiq.
ifconfig en0 ether 00:00:00:00:00:00
Modifie (usurpation d'adresse MAC) jusqu'au prochain redémarrage
Vraiment Mac uniquement: j'ai vu "ouvert". ci-dessus, mais open ouvrira tout document ou application que vous lui transmettez.
Unix générique que j'utilise le plus: Sudo est assez pratique pour changer les fichiers de configuration du système, etc., que je modifie en fait dans vi.
kill ne peut pas être surestimé quand quelque chose se bloque (ou lorsqu'un autre utilisateur est toujours connecté à mon bureau en arrière-plan et que je veux les déconnecter, méchant je sais mais c'est mon bureau)
ssh/scp - J'aime que dans OSX je puisse simplement ouvrir un terminal et me connecter à n'importe lequel de nos serveurs. Cela seul m'a fait plaisir de laisser tomber Windows.
ifconfig/ping/whois/nmap etc.
scutil --dns
Affiche l'ordre de résolution DNS. Utile lorsque vous créez ou déboguez vos paramètres réseau.
lsof -i
répertorie les ports Internet ouverts. Exemple de sortie:
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)
Utilisez Sudo
si vous souhaitez que les ports soient ouverts par tous les utilisateurs et les indicateurs -n
et -P
désactivera la résolution de nom et les noms de port et vous donnera des numéros à la place.
Sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -restart -agent
Démarre le service Bureau à distance (utile si vous ne disposez que d'un accès SSH mais que vous voulez faire quelque chose en utilisant l'interface graphique sur votre Mac client). Pour plus d'options, voir: http://support.Apple.com/kb/HT237
drutil eject
éjectera un CD.
Si vous voulez savoir quel type de fin de ligne possède un fichier, lancez
file /path/to/your-file
ex:
$ file imports/sample-students.txt
imports/sample-students.txt: ASCII text, with CR line terminators
Un peu piéton pour ce public, sans doute, mais j'utilise:
capture d'écran -i -c
pour saisir tout ce que je veux sur l'écran C'est très pratique et fait des choses que Grab ne me permettra pas de saisir.
Gagnez un shell root sans activer l'utilisateur root (comme Apple lui-même nécessite parfois dans leurs docs afin de faire des trucs "geek", c'est-à-dire pour définir à l'échelle du système) Langue)
Sudo bash
Cela vous donne un shell root où vous pouvez faire tout ce que vous voulez en tant que root, sans avoir à ajouter chaque commande avec la commande Sudo.
Cela peut être dangereux, mais nous sommes des administrateurs système, nous savons ce que nous faisons, n'est-ce pas? :)
Outre les suspects Unix habituels, je trouve les informations suivantes utiles: -
dsconfigad - Modifie les paramètres Active Directory et lie un ordinateur
par défaut - Modifier les préférences
plutil - Convertit plist vers et depuis le texte
softwareupdate - exécuter la mise à jour logicielle à partir de la ligne de commande
installer - installe les packages à partir de la ligne de commande
networksetup - définir et obtenir diverses choses telles que le nom de l'ordinateur
Si vous maîtrisez ceux-ci et les trucs Unix habituels, vous avez tout ce dont vous avez besoin pour l'administration Mac à partir de la ligne de commande.
Comment activer Time Machine pour sauvegarder sur un NAS.
defaults write com.Apple.systempreferences TMShowUnsupportedNetworkVolumes 1
Trouver l'adresse MAC
ifconfig en0 | grep ether | sed s/://g | sed s/ether//
Commande pour créer un sparsebundle à copier sur le NAS
Sudo hdiutil create -nospotlight -library SPUD -size 160g -fs "Case-sensitive Journaled HFS+" -type SPARSEBUNDLE -volname "<VOLNAME>" ./<HOSTNAME>_<MAC_ADDRESS>.sparsebundle
Fonctionne comme un support de sauvegarde sur mon ReadyNAS.
Il s'agit d'un outil tiers gratuit, mais
edit
est vraiment pratique. Il s'agit d'un outil en ligne de commande que vous pouvez éventuellement installer la première fois que vous exécutez TextWrangler . [D'autres éditeurs de texte (BBEdit, TextMate) fournissent probablement quelque chose d'analogue.]
edit path/to/somefile
Ouvre le fichier dans TextWrangler et vous permettra de vous authentifier si vous n'avez normalement pas l'autorisation de le modifier. (Vous pouvez même le faire à partir d'une session ssh, et il l'ouvrira pour l'utilisateur graphique connecté).
Mieux encore, vous pouvez y apporter des tuyaux.
lsof -i | edit
par exemple, vous montrera vos connexions réseau ouvertes et les ouvrira dans TextWrangler, où vous pourrez les rechercher (et les faire défiler) facilement.
Cette question se chevauche un peu avec celle-ci sur les outils dont un administrateur UNIX ne peut pas se passer . De nombreux outils de ligne de commande pour Mac OS X ont des racines UNIX, tels que df
, du
et which
; cependant, il existe des exceptions notables qui n'ont pas d'équivalents UNIX évidents, telles que osascript
, open
, pbcopy
, pbpaste
et say
.
killall -9 appname
force quitte une application. Très utile si vous ne pouvez pas accéder au moniteur d'activité.
ipconfig est parfois utile:
Obtenir l'adresse IP actuelle sur l'interface:
$ ipconfig getifaddr en1
10.110.2.25
Obtention des dernières informations DHCP reçues:
$ 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):
ifconfig | grep cast
est idéal pour obtenir votre adresse IP, et
ifconfig en1 | grep eth
fonctionne bien pour obtenir une adresse MAC. L'utilisation de en1 obtiendra (presque toujours) l'adresse MAC de l'aéroport, ce qui est pratique si seuls les appareils connus sont autorisés sur votre réseau sans fil. Inversement, si vous utilisez en0 - le port Ethernet intégré - vous pouvez alors rechercher la machine dans votre Open Directory, comme ceci:
ldapsearch -x -h odm -b "cn=computers,dc=odm,dc=pretendoco,dc=com" "macAddress=00:0d:93:b5:82:88"
(En supposant que votre serveur était "odm" et que le domaine est ODM.PRETENDCO.COM).
Je viens de découvrir qu'il existe une construction bash astucieuse que vous pouvez utiliser à la place de la commande seq manquante dans Mac OS:
echo { 18..21 }
sqlite3 foo.db
Démarre une session interactive SQLite . Si foo.db n'existe pas, il sera créé.
du -d 1 -h
Affiche les statistiques d'utilisation du disque pour le répertoire actuel sous une forme lisible par l'homme.
homme [commande]
L'une des commandes les plus utilisées. Vous indique comment utiliser tout le reste.
Choses spécifiques à OS X que je n'ai pas vues:
mdfind
utilise les index de recherche Spotlight à partir de la ligne de commande, vous pouvez donc effectuer des recherches en texte intégral sans utiliser le menu déroulant de recherche.
networksetup -
vous montrera toute la syntaxe folle qu'il prend en charge; il s'agit de l'équivalent en ligne de commande du volet Préférences réseau.
Sudo launchctl list
- affiche les travaux launchctl en cours d'exécution. rappelles toi launchctl stop X.XX.X
va simplement "arrêter" (tuer) l'instance en cours d'exécution d'un processus persistant; pour vraiment le faire cesser de fonctionner, utilisez launchctl unload /System/Library/LaunchDaemons/X.XX.X.plist
.
Sudo slapconfig -destroyldapserver
Forcer la rétrogradation d'une réplique LDAP en mode autonome. Si votre Open Directory Master est mal configuré, il peut arriver que la rétrogradation d'un réplica Open Directory à l'aide d'Admin Serveur échoue (par exemple: vous pourriez constater que votre serveur de réplica refuse de rétrograder). Vous pouvez utiliser slapconfig pour le forcer à rétrograder à ces occasions.
which program
a recherché le chemin d'accès au programme et vous indique quel exécutable est appelé si vous exécutez le programme sans spécifier de chemin d'accès complet.
Il est généralement plus utile comme raccourci pour taper un chemin.
$ 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
Vous avez toujours voulu savoir quelle est l'adresse IP d'un autre Mac que vous pouvez voir dans le Finder sur votre réseau local grâce à Bonjour?
dscacheutil -q Host -a name OtherMac.local
dscacheutil est étonnamment utile et polyvalent. Vous pouvez faire beaucoup plus avec cela que simplement vider le cache DNS (comme mentionné ailleurs ici), c'est-à-dire les recherches d'utilisateurs et les statistiques et les vidages du cache.
Quelles licences DHCP le client détient-il?
Sudo ls -lt /private/var/db/dhcpclient/leases
Répertoriez le pare-feu autoriser/refuser:
Sudo ipfw list
Générez un mot de passe à haute entropie (double-cliquez sur une chaîne prometteuse de 16 caractères à copier/coller):
head -c90 /dev/random | uuencode -m pwd | hexdump -C
Ce sont basiques, mais pratiques si vous souffrez d'amnésie:
Qui suis je?
id
Où suis-je?
pwd
Quel bâtiment suis-je?
hostname
Quelle est son adresse?
ifconfig |grep inet
Ce n'est peut-être pas la commande la plus "utile" mais say
est assez amusant.
Par exemple say I love serverfault
pour qu'il relise ce que vous tapez après "dire".
locate "foo"
Affiche n'importe quel fichier sur votre système avec "foo" dans son nom de fichier. Je dois l'utiliser presque aussi souvent que j'utilise Spotlight.
Sudo reboot
redémarre l'ordinateur.