it-swarm-pt.tech

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

De acordo com os segmentos Windows e Linux , quais comandos você considera mais úteis em Mac OS X Server (ou Cliente)?

58
username
say "some text"

Usado de maneira famosa para levar as pessoas de volta para seus apartamentos , say pega seus argumentos e os lê em voz alta através do dispositivo de saída de áudio.

28
Tim

pbpaste e pbcopy para 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:

23
kch
fs_usage

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

19
username
open .

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

17
richardhoskins

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

Crie e grave um CD/DVD "universal":

 $ mkisofs -allow-multidot -owow-pontos-principais -d -hide-rr-moveu\
 - 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 | abra -f -a /Applications/Preview.app
13
Gary Chambers

O utilitário 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.

12
Jason Luther
drutil tray open

Inestimável (acima do ssh) quando não há teclado conectado, pois o botão de ejeção de Apple não está acessível fora do gabinete).

11
James
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

11
username

Não se pode dizer o suficiente, "aberto" é ótimo. Você pode abrir documentos em seu programa GUI e também pode selecionar o programa 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

abriria 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.

11
w00t
softwareupdate

Atualize seu mac a partir da CLI.

10
dvoita
networksetup

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

9
Chealion
Sudo changeip -checkhostname

Verifica se a resolução de 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.

8
username
dscacheutil -flushcache

Eu me pego usando essa pilha para liberar o cache do DNS, na versão 10.5 ou superior.

8
Bruce McLeod
ping 224.0.0.1

Ping todos dispositivos na sua sub-rede

7
username
srm

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

7
Jauder Ho
last

mostra quem está conectado a 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 
7
Clinton Blackmore
 lsof

lista de 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 cded na unidade e, portanto, o bash estava acessando o volume.

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

7
Clinton Blackmore

O guia Administração da linha de comando apresentado por Apple é inestimável.

Pesquisando em "mac da administração da linha de comando" fornece bons resultados.

Administração de linha de comando para Mac OS X 10.5 , 10.4 e 10. .

Outros guias úteis estão em http://www.Apple.com/server/macosx/resources/ .

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

Permite sair de um aplicativo do Shell.

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

A última linha útil de um longo script do 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 canaliza para script.sh. Os resultados são colocados na área de transferência para você editar-> colar em um documento.

6
sal

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á.

6
Clinton Blackmore
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.

5
Clinton Blackmore
sw_vers

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

5
username
df -h

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

4
hendrasaputra
opendiff file1 file2

Executa FileMerge (um diff gráfico que acompanha Apple Developer Tools) em file1 e file2.

4
las3rjock
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.

4
James
system_profiler

Forneça 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 ver se o computador vê um dispositivo (ou, se, por exemplo, o Parallel o pegou ou está morto). App System Profiler GUI, 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.

4
Clinton Blackmore
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:

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. Corre apropos DTrace para obter 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. 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.

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

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

4
username

Verdadeiramente apenas para Mac: vi 'aberto'. acima, mas abrir abrirá qualquer documento ou aplicativo que você passar para ele.

Unix genérico que eu mais uso: O Sudo é bastante útil para alterar os arquivos de configuração do sistema, etc, que eu realmente edito no vi.

kill não pode ser superestimado quando algo trava (ou quando outro usuário ainda está conectado à minha área de trabalho em segundo plano e eu quero desconectá-los, desagradável eu sei, mas é minha área de trabalho)

ssh/scp - Eu amo que, no OSX, posso simplesmente abrir um terminal e conectar-me a qualquer um de nossos servidores. Só isso me fez feliz em abandonar o Windows.

ifconfig/ping/whois/nmap etc

3
Alex

scutil --dns

Exibe a ordem da resolução do DNS. Útil para quando você estiver criando ou depurando suas configurações de rede.

3
romant
lsof -i 

lista as portas da Internet que estão abertas. Saída de amostra:

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)

Use Sudo se desejar que as portas sejam abertas por todos os usuários e os sinalizadores -n e -P desativará a resolução de nomes e nomes de portas e fornecerá números.

3
Clinton Blackmore
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 do Mac cliente). Para obter mais opções, consulte: http://support.Apple.com/kb/HT237

3
username
drutil eject

irá ejetar um CD.

3
Clinton Blackmore

Se você quiser saber que tipo de final de linha um arquivo possui, basta executar

file /path/to/your-file

ex:

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

Um pouco pedestre para esse público, sem dúvida, mas eu uso:

screencapture -i -c

pegar o que eu quiser da tela É realmente útil e faz coisas que o Grab não me permite pegar.

2
Dave

Obtenha um Shell raiz sem ativar o usuário root (como o próprio Apple exige algumas vezes em seus documentos para fazer algumas coisas "nerds", ou seja, para definir o idioma do sistema)

Sudo bash

Isso fornece um Shell raiz onde você pode fazer tudo o que deseja como root, sem precisar acrescentar todos os comandos com o comando Sudo.

Isso pode ser perigoso, mas somos administradores de sistemas, sabemos o que estamos fazendo, não sabemos? :)

2
drAlberT

Além dos habituais suspeitos de Unix, acho o seguinte útil:

  • dsconfigad - Edita as configurações do Active Directory e liga um computador

  • padrões - Editar preferências

  • plutil - Converte plist para e do texto

  • softwareupdate - execute a Atualização de software na linha de comando

  • installer - instala pacotes a partir da linha de comando

  • networksetup - defina e obtenha várias coisas, como o nome do computador

Se você domina essas e as coisas comuns do Unix, tem tudo o que precisa para administração do Mac a partir da linha de comando.

2
Honestpuck

Como habilitar o Time Machine para fazer backup em um NAS.

defaults write com.Apple.systempreferences TMShowUnsupportedNetworkVolumes 1

Encontre o endereço MAC

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

Comando para criar pacote esparso para copiar para o NAS

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

Funciona como charme fazendo backup do meu ReadyNAS.

2
Jauder Ho

É uma ferramenta de terceiros freeware, mas

edit

é realmente útil. É uma ferramenta de linha de comando que você pode instalar opcionalmente na primeira vez em que executa TextWrangler . [Outros editores de texto (BBEdit, TextMate) provavelmente fornecem algo análogo.]

edit path/to/somefile

Abre o arquivo no TextWrangler e permite que você se autentique se normalmente não tiver permissão para editá-lo. (Você pode até fazer isso a partir de uma sessão ssh, e ela será aberta para o usuário gráfico conectado).

Melhor ainda é que você pode canalizar as coisas para ele.

lsof -i | edit

por exemplo, mostrará suas conexões de rede abertas e as abrirá no TextWrangler, onde você pode pesquisar (e rolar) através delas com facilidade.

2
Clinton Blackmore

Esta questão se sobrepõe um pouco a esta sobre ferramentas que um administrador UNIX não pode viver sem . Muitas das ferramentas de linha de comando do Mac OS X têm raízes UNIX, como df, du e which; no entanto, existem exceções notáveis ​​que não têm equivalentes óbvios ao UNIX, como osascript, open, pbcopy, pbpaste e say.

2
las3rjock

killall -9 appname force sai de um aplicativo. Bastante útil se você não conseguir acessar o Activity Monitor.

2
al.

o ipconfig às vezes é útil:

Obtendo o endereço IP atual na interface:

$ ipconfig getifaddr en1
10.110.2.25

Obtendo as informações de DHCP que foram recebidas pela última vez:

$ 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

é ótimo para obter seu endereço IP e

ifconfig en1 | grep eth

funciona bem para obter um endereço MAC. O uso de en1 (quase sempre) obterá o endereço MAC do aeroporto, o que é útil se apenas dispositivos conhecidos forem permitidos na sua rede sem fio. Por outro lado, se você usar en0 - a porta Ethernet integrada - poderá procurar a máquina no seu Open Directory, da seguinte maneira:

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

(Supondo que seu servidor seja 'odm' e o domínio seja ODM.PRETENDCO.COM).

2
Clinton Blackmore

Acabei de descobrir que há uma construção bacana bacana que você pode usar em vez do comando seq ausente no Mac OS:

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

Inicia uma sessão SQLite interativa. Se foo.db não existir, ele será criado.

1
richardhoskins

du -d 1 -h

Exibe estatísticas de uso do disco para o diretório atual em formato legível por humanos.

homem [comando]

Um dos comandos mais usados. Informa como usar todo o resto.

1
Peter Hoven

Coisas específicas do OS X que eu não vi mencionadas:

mdfind usa os índices de pesquisa Spotlight na linha de comando, para que você possa fazer pesquisas de texto completo sem usar o menu suspenso Pesquisar.

networksetup - mostrará a você toda a sintaxe maluca que ele suporta; esse é o equivalente da linha de comando do painel de preferências de rede.

Sudo launchctl list - mostra os trabalhos launchctl em execução. lembrar launchctl stop X.XX.X irá apenas 'parar' (matar) a instância atualmente em execução de um processo persistente; para realmente parar de rodar, use launchctl unload /System/Library/LaunchDaemons/X.XX.X.plist.

1
eric sorenson
Sudo slapconfig -destroyldapserver

Forçar rebaixar uma réplica LDAP para autônomo. Se o seu mestre do Open Directory estiver configurado incorretamente, às vezes, a tentativa de rebaixar uma réplica do Open Directory usando o Admin do servidor falhará (por exemplo: você pode achar que o servidor de réplica se recusa a rebaixar). Você pode usar slapconfig para forçá-lo a rebaixar nessas ocasiões.

1
username
 which program

procurou o caminho pelo programa e informa qual executável é chamado se você executar o programa sem especificar um caminho completo.

Geralmente é mais útil como uma abreviação para digitar um caminho.

$ 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
Clinton Blackmore

Sempre quis saber qual o endereço IP de outro Mac que você pode ver no Finder está na sua LAN, graças ao Bonjour?

dscacheutil -q Host -a name OtherMac.local

o dscacheutil é surpreendentemente útil e versátil. Você pode fazer muito mais com isso do que apenas liberar o cache DNS (como mencionado em outro lugar aqui), ou seja, pesquisas de usuários, estatísticas e despejos de cache.

1
Joe Carroll

Quais licenças DHCP o cliente possui?

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

Liste o firewall permite/nega:

Sudo ipfw list

Gere uma senha de alta entropia (clique duas vezes em uma promissora cadeia de 16 caracteres para copiar/colar):

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

Estes são básicos, mas úteis se você tiver amnésia:

Quem sou eu?

id

Onde estou?

pwd

Que prédio eu sou?

hostname

Qual é o endereço dele?

ifconfig |grep inet
1
username

Talvez não seja o comando mais "útil", mas say é bastante divertido.

Por exemplo say I love serverfault para ler novamente o que você digita após "dizer".

0
HostBits
locate "foo"

Exibe qualquer arquivo no seu sistema com "foo" no nome do arquivo. Devo usar isso quase sempre com o Spotlight.

0
username
 Sudo reboot

reinicia o computador.

0
Clinton Blackmore