O que são comandos de linha de comando úteis no Mac OS X?

58

De acordo com os threads do Windows e Linux , quais comandos você considera mais úteis no Mac OS X Server (ou Client)?

nome de usuário
fonte
concordou, este site parece ser muito mais negativo do que o stackoverflow, as pessoas parecem preparadas para 'reprimir' qualquer publicação que acham que não atende aos seus padrões - é o suficiente para me fazer ir embora.
Chopper3 12/05/09
thx, chopper3. talvez tenha sido rejeitado por estar relacionado ao mac. Eu entendo que não quero ver muitas coisas da maçã, mas apenas adicione / ignore o "mac" nas suas tags e ele será classificado
nomedousername
2
há muitas coisas específicas da maçã neste site, as pessoas aqui parecem gostar de ser negativas.
Chopper3 12/05/09
2
esperado ... suponho ... nós somos sysadmins :-)
username
11
Eu gosto do seu nome de usuário ... nome de usuário :)
Chopper3

Respostas:

28
say "some text"

Famosamente usado para levar as pessoas de volta para seus apartamentos , saypega seus argumentos e os lê em voz alta através do dispositivo de saída de áudio.

Tim
fonte
4
+1 para conteúdo xkcd
nome de usuário
4
E ele fala muito bem - ver macosxhints.com/comment.php?mode=view&cid=107211 para uma lista de frases como Meu nome é Dr. Smith e eu vivo em Smith Dr. , O soldado decidiu abandonar sua sobremesa o deserto e como não há tempo como o presente, ele pensou que era hora de apresentar o presente :-)
Arjan
23

pbpastee pbcopypara interagir com a área de transferência (também conhecida como área de transferência).

Exemplos:

# copies the directory listing
ls -l | pbcopy

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

Eu acho que eles usam a codificação macroman, por isso, se você quiser UTF-8 (o que você faz), verifique estes links:

kch
fonte
19
fs_usage

Permite monitorar a atividade do sistema de arquivos. Prático, se você quiser ver quais arquivos um aplicativo cria. Veja http://rentzsch.com/macosx/fs_usageIntro para mais explicações.

nome de usuário
fonte
Agora que Rentzsch mudou seu blog para o Tumblr sem republicar seus arquivos, pode-se ler sua explicação sobre essa ótima ferramenta aqui: web.archive.org/web/20091231090628/http://rentzsch.com/macosx/…
Joe Carroll
Também vale a pena ler: cocoadev.com/index.pl?FsUsageTips
Joe Carroll
17
open .

Abre uma janela do localizador no diretório de trabalho atual.

richardhoskins
fonte
para o lançamento de outros aplicativos, use algo como: open -a "monitor de atividade"
nome de usuário
Freunde schöner Götterfunke ... Quero dizer, obrigado, obrigado, obrigado !! Eu estava procurando por um Windows como "start". e é isso aí!
Daniel Schneller
'abrir nome do arquivo' funciona da mesma forma que clicar duas vezes em um arquivo no Finder - ele inicia o aplicativo associado e abre o arquivo.
Clinton Blackmore
13

Na linha de comando, eu gosto de ter a capacidade de:

Crie e grave um CD / DVD "universal":

$ mkisofs -allow-multidot -owow-líderes-pontos -d -hide-rr-movido \
-l -joliet-long -R -T -v \
-V VOLUME_NAME -o output.iso root-cd-dir /
$ hdiutil burn -noverifyburn output.iso

Crie uma imagem ISO a partir de um CD / DVD:

$ diskutil unmountDisk / dev / disk2s0
$ dd se = / dev / disk2s0 de = cdname.iso bs = 32m

Ser capaz de esquecer o comando otool quando estou procurando o ldd:

$ alias ldd = 'printf "Enviando comando para \' \ '' otool -L \ '\' '- \ n" && otool -L'

Monte uma imagem de disco na linha de comando:

$ hdid diskimage.dmg (ou .iso)

Use a visualização para acessar uma página de manual:

$ man -t rsync | open -f -a /Applications/Preview.app
Gary Chambers
fonte
11
+1 para a página de manual / dica de visualização. Impressionante.
21320 Sam Halicke
12

O utilitário da CLI 'airport' é o meu favorito. Consulte http://osxdaily.com/2007/01/18/airport-the-little-known-command-line-wireless-utility/ . Ele mostrará detalhes como o nível do sinal, o nível de ruído e o BSSID do AP ao qual você está associado.

Jason Luther
fonte
11
Legal. Por exemplo: /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I Mostra informações detalhadas sobre qualidade do sinal, ruído, segurança e outros atributos da rede WiFi.
nome de usuário
11
ipconfig getpacket en0

Exibe a configuração de rede para a interface Ethernet primária (en0).

Se você está acostumado ao Windows e acha que "ipconfig" está quebrado - não está ;-) Você só precisa adicionar alguns argumentos

nome de usuário
fonte
4
Obviamente, se você está acostumado ao Linux, 'ifconfig en0' funciona da mesma forma.
Tim
Ou use en1se você estiver sem fio.
Dana the Sane
11
drutil tray open

Inestimável (sobre ssh) quando não há teclado conectado, pois o botão de ejeção nas unidades ópticas da Apple não é acessível de fora do gabinete.

James
fonte
11

Não se pode dizer o suficiente, "aberto" é ótimo. Você pode abrir documentos no programa da GUI e também pode selecionar o programa da GUI com -a. Por exemplo,

open -a vlc movie.avi

irá abrir o VLC e pedir para carregar o movie.avi no seu diretório atual.

open movie.avi

iria abri-lo com qualquer programa que seja o padrão. Se você deseja apenas abrir um programa, também pode fazer isso:

open -a system\ preferences

irá executar as Preferências do Sistema. Você também pode abrir URLs:

open vnc://myserver:5900

abrirá o compartilhamento de tela e se conectará ao myserver.

Verificação de saída

man open

para ver todos os sinalizadores que você pode usar.

w00t
fonte
10
softwareupdate

Atualize seu mac a partir da CLI.

dvoita
fonte
9
networksetup

Configure tudo o que encontrar no Painel de Preferências de Rede em Preferências do Sistema na linha de comando. Faz escrever scripts, ou fazendo coisas remotamente muito mais fácil.

Chealion
fonte
8
sudo changeip -checkhostname

Verifica se a resolução do DNS para frente e para trás é íntegra e geralmente mostra o comando que você pode usar para corrigir o problema. Se diz "os nomes correspondem, não há nada para mudar", você está em boa forma. É vital se você alterar a configuração de rede do servidor. Também é importante usar isso antes de promover seu servidor para um Open Directory Master.

nome de usuário
fonte
8
dscacheutil -flushcache

Encontro-me usando esse monte para liberar o cache do DNS, em 10.5 ou superior.

Bruce McLeod
fonte
De notar que este só funciona em Mac OS X 10.5
Chealion
Acabei de verificar, ele também funciona em 10.6.
9139 Bruce McLeod
Votado como eu me vejo tendo que executar isso com mais frequência, no entanto, não me lembro de ter que liberar o cache DNS do Linux ou do Windows. Talvez o OS X seja particularmente agressivo no cache do DNS?
petertonoli
7
ping 224.0.0.1

Faça ping em todos os dispositivos da sua sub-rede

nome de usuário
fonte
7
last

mostra quem efetuou login em um sistema, por quanto tempo eles foram usados ​​e quando o sistema foi reiniciado.

Aqui está uma amostra da saída:

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 
Clinton Blackmore
fonte
7
srm

Versão da linha de comandos para exclusão segura.

Jauder Ho
fonte
7
 lsof

listar arquivos abertos

Prático quando você deseja ejetar sua unidade USB e lhe dizem que ela está em uso, feche todos os aplicativos e tente novamente.

$ 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

Nesse caso, eu tinha cdinstalado a unidade e o bash estava acessando o volume.

Observe que, se você vir entradas 'mds', significa que o foco está indexando a unidade.

Clinton Blackmore
fonte
6

http://www.commandlinefu.com

Embora não seja especificamente um recurso do Mac, ele está usando o ícone do Terminal, e a maior parte da lista de comandos realmente úteis funcionará.

Clinton Blackmore
fonte
6
osascript -e 'tell application "AppName" to quit'

Permite sair de um aplicativo do shell.

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

Útil última linha de um longo script de shell, coloca o Mac em suspensão quando o script é concluído. Eu tenho o alias do iSleep.

pbpaste | script.sh |pbcopy

pega o conteúdo da área de transferência (editar-> copiar) e a canaliza para script.sh. Os resultados são colocados na área de transferência para você editar-> colar em um documento.

sal
fonte
5
mcxquery

isso permitirá que você veja quais tipos de configurações do MCX (cliente gerenciado) estão sendo aplicadas a uma máquina cliente.

[O equivalente da GUI é acessar o System Profiler e, na seção Software, clique em "Managed Client".]

É útil determinar se uma máquina é gerenciada e verificar se está obtendo as configurações esperadas.

Clinton Blackmore
fonte
5
sw_vers

Exibe a versão atualmente instalada e a compilação do Mac OS X.

nome de usuário
fonte
4
system_profiler

Obtenha os mesmos resultados que você obtém ao escolher Sobre este Mac -> Mais informações, apenas na linha de comando.

Corrida

system_profiler -usage

ou, olhando a página do manual, você terá dicas sobre como usá-lo.

Alguns exemplos:

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

isso despejará o perfil do sistema em um arquivo que poderá ser visto posteriormente em uma máquina diferente.

system_profiler SPUSBDataType

Informa sobre todos os seus dispositivos USB (incluindo IDs de fornecedor e produto, que podem ajudar a rastrear drivers).

system_profiler SPUSBDataType | grep "Product ID" -c

informará quantos dispositivos USB estão conectados (incluindo dispositivos USB internos), o que é útil para verificar se o computador vê um dispositivo (ou, por exemplo, o Parallel o pegou ou está morto). App GUI do System Profiler, você pode escolher Exibir -> Atualizar no menu para atualizar a lista; isso pode ser mais fácil.]

system_profiler SPHardwareDataType

você obterá informações básicas de hardware (úteis para rastreamento de ativos) e

system_profiler SPHardwareDataType | grep Serial

fornecerá o número de série do equipamento.

Clinton Blackmore
fonte
4
ifconfig en0 ether 00:00:00:00:00:00

Altera (falso) o endereço MAC até a próxima reinicialização

nome de usuário
fonte
Me deparei com este há poucos dias aqui: krypted.com/mac-os-x/... - útil para testar as configurações dos serviços de DHCP
nome de usuário
4
df -h

Para verificar quanto espaço em disco tenho atualmente em todo o disco.

hendrasaputra
fonte
4
dns-sd -B _ssh
dns-sd -B _rfb
dns-sd -B _services._dns-sd._udp

Listar servidores que anunciam em Bonjour. A última sugestão lista os tipos de serviço que você pode listar. A listagem está no ar. Pressione Ctrl-C quando tiver visto o suficiente.

O mesmo comando vem nos Linux recentes e no Bonjour SDK para Windows.

James
fonte
4
opendiff file1 file2

Executa o FileMerge (um gráfico difffornecido com o Apple Developer Tools) em file1e file2.

las3rjock
fonte
4
sudo opensnoop

no Leopard e mais recentes, relatórios que processam arquivos abertos, com ou sem êxito. Você pode solicitar que ele analise todos os arquivos que estão sendo abertos no sistema, por um processo específico ou se algum processo está abrindo um determinado arquivo, com diferentes tipos de data e hora, e mostre se ocorrem erros.

Aqui estão mais alguns detalhes:

O opensnoop é um script dtrace ; existem muitos outros em / usr / bin que analisam coisas como qual sistema o processo está chamando, quais processos ele está criando e o que a E / S está fazendo. Corra apropos DTracepara uma lista e consulte as páginas do manual para obter detalhes.


Descobri o opensnoop ao tentar diagnosticar por que um Comic Life Magiq 1.1 estava travando no OS 10.5.8 para usuários com contas de rede.

Corri (várias vezes, em contas diferentes, via ssh):

sudo opensnoop -e -n Comic > output.txt

O último arquivo aberto pelos usuários da rede era mais ou menos assim (com um caminho completo):

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

o que me lembrou que o Safari 5.0 estava travando para os usuários da rede, e resolvemos isso gerenciando uma preferência para não armazenar em cache os favoritos ou redirecionando um arquivo. A Apple aparentemente corrigiu o problema no Safari 5.0.1 e, quando atualizei para o Safari 5.0.2 ontem, corrigiu a falha dos usuários do Comic Life Magiq.

Clinton Blackmore
fonte
3
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -restart -agent

Inicia o serviço Área de trabalho remota (útil se você tiver apenas acesso SSH, mas quiser fazer algo usando a GUI no Mac do cliente). Para mais opções, consulte: http://support.apple.com/kb/HT2370

nome de usuário
fonte
3
drutil eject

irá ejetar um CD.

Clinton Blackmore
fonte