Comandos Índice

Apple OSX - linha de comando Índice

abril 23, 2012 at 1:33 pm by aprigio

Como gerenciar o seu Mac OS X por linha de comando

é possível gerenciar o OSX por linha de comando? Claro! Muita gente me pergunta isso e se assusta com a resposta. Vale lembrar que o OSX é uma fusão do antigo System 9 da Apple com o NextOS do Steve Jobs, que teve variações do BSD UNIX. Até a versão do OSX Leopard, 10.5, o sistema passou por uma grande mudança com o Snow Leopard. Eu particularmente, prefiro o Linux no hardware da Apple do que o próprio OSX, eu tenho 2 máquinas da Apple, sendo um MacBook com OSX e Linux e um MacMini apenas com Linux (distribuição Ubuntu), sendo o meu desktop. Antes o meu macbook apenas com Linux, mas por uma única necessidade, e como eu nem morto vou usar o sistema do mal, o Windows, eu preferi manter o OSX em uma das máquinas, o que em breve vai morrer. Mas não ache que o meu OSX esta somente com softwares da Apple e sim com muitos softwares GNU, é claro. Mas, o que eu vou mostrar abaixo é configuração Apple, e apenas do OSX. Porque hardware da Apple? As máquinas não possuem BIOS (maldita BIOS), que corrompe muitos PCs de hoje em dia. Os Apples, são equipados de EFI que permitem usar do flag GPT para criar partições com grandes extenções. Ao contrário do padrão MBR, e partições msdos do PC.

Por isso que o OSX vinha com o BootCamp instalado, para criar e redimencionar na área extendida da EFI GPT, partições msdos para a instalação de sistemas como do Windows (heresias, mas tudo bem). Sendo que o Linux não precisa nada disso, com um boot direto do CD, vc pode instalar no hardware da Apple, apenas respeitando a partição EFI GPT para até 2GB. Caso vc venha manter um dual boot com o OSX, vc pode usar o rEFIt, para dualboot.

Todo o sistema é gerenciado não por init e sim pelo launchd, o principal processo que é responsável por todo o sistema de gerenciamento de boot do OSX e a carga de todos os scripts launchd por LaunchAgents, que são inicializados por configurações específicas do seu formato xml dos arquivos \354preference files\356, ou plist. Vc ja deve ter inicializado o MacOS X em single user sem a interface gráfica com a função COMMAND + S, no boot da EFI, não? Se não! Faça isso agora! é muito interessante vc instalar o xcode e o X11 que se encontra no CD de instalação do OSX ou baixar no site da própria Apple. pois o xcode contem todos os comandos GNU e o X11 permite vc abrir aplicações Linux ou UNIX exportadas por DISPLAY. Outro fator é utilizar o seu sistema de gerenciamento de pacotes por linha de comando pelo macports, o que coloquei na matéria http://www.aprigiosimoes.com.br/2009/10/15/macports-para-mac-os-x/, de como utilizar o ports no OSX. Ao ficar pagando para a Apple no store ou colocando softwares crackeados, que feio.

Para comecarmos vamos entender que a Apple tem por grande contribuição com o mundo opensource, como o CUPS (exemplo), cujo comprou da EASY Software a anos e passou a ser a mantedora. Sim o mesmo sistema de impressão que acompanha o Linux, antes LPR/NG.

Quando vc digita o comando uname -a no terminal, vc pode reparar o nome do verdadeiro sistema UNIX da Apple, o Darwin OS, e a sua versão, sendo que o kernel do MACOS X é o XNU.No meu caso, na versão 1504.15.3~1/RELEASE_I386. (Ei, MacOS roda em 64 bits).

osx:~ aprigio$ uname -a
Darwin osx.local 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun 7 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386 i386

Todo o gerenciamento de daemons (serviços), do sistema geral, são armazenados em /System/Library/LaunchDaemons/. Toda a estrutura de serviços de apliçações que são automaticamente carregados no perfil do sistema, ficam armazenados em /System/Library/LaunchAgents/ (digo os arquivos xml). Um deles é o org.x.startx.plist que é responsável por carregar todo o servidor X11 pelo /usr/X11/bin/startx, dentro do OSX. Os scripts preference list, no formato xml para o perfil de aplicações, e não daemons, estão armazenados em /System/Library/LaunchAgents, e no perfil de usuário em $HOME/Library/LaunchAgents.

Por exemplo, no meu perfil eu coloquei em LaunchAgents para sempre inicializar o vboxwebsrv com o script org.virtualbox.vboxwebsrv.plist. Lembre-se que isso não é o mesmo encontrado em perfil de conta pela interface gráfica que automaticamente se inicia uma aplicação.

Vale lembrar que todo o gerenciamento de carga e descarga de scripts launchd no OSX é realizado não mais pelo service e somente pelo launchctl, assim como no Linux acontecerá com o poderoso systemd e pelo systemctl. Poder não?

Então vamos la,

e abrirá o terminal em /dev/ttys000. O terminal que vc esta é encontrado com o comando tty e o seu hostname com o comando hostname.

Quando vc instala o OSX ele cria o grupo admin (GID 80), e coloca o primeiro usuário nele e da previlégios de sudo, assim como no Ubuntu, e adiciona geralmente o usuário nos grupos staff (sendo o seu grupo primário), e outros grupos adicionais que gerenciam alguns daemons e permitem privilégios. Voce pode executar o comando sudo para executar qualquer comando de root ou virar root da mesma forma. Voce pode até editar o seu /etc/sudoers com o visudo.

Como é o launchd gerenciado pelo launchctl que controla todo o sistema de daemons e serviços, vc pode executar o comando launchctl list, ou apenas list no terminal do launchctl para verificar todos os serviços que estão executando e seu respectivo PID e status.

 
PID    Status    Label
771    -    com.apple.launchd.peruser.0
258    -    0x100402bb0.anonymous.Terminal
284    -    0\u25ca100402520.anonymous.login
285    -    0x1004077d0.anonymous.bash
770    -    0\u25ca100401230.anonymous.su
208    -    0\u25ca100407510.anonymous.SR_Watchdog

Existem outras opções para o launchctl que é um mundo de gerenciamento no OSX, mas as opções que se destacam sem dúvida é load para carregar daemons em background e unload para descarregar, toda as 2 opções é necessário do -w, que permite reescrever a configuração para o próximo boot. -F que força a inicialização de um plist. Antes existia o arquivo /etc/launchd.conf que pode ser que vc nao encontre mais. Dentro da gerencia do launchctl, caso vc digite sem opção, existem as opções para remover jobs, reverter umask para launchd, exportar variaveis de ambiente para launchd, iniciar ou interromper um job do launchd. Vale lembrar que cada serviço em execução no OSX pelo launchd é constituído um job. Voce pode verificar todos os serviços com o comando sudo launchctl list e filtar com o grep apenas o serviço ssh, por exemplo.

Para iniciar algum serviço, voce pode usar o launchctl para iniciar algum serviço, como exemplo o ssh, carregando ou descarregando o seu plist direto do diretório de daemons.

O MacOSX, possui o seu grenciamento de redes pelo networksetup, sendo que ele mesmo escreve nas configurações do network-admin da interface gráfica e airport. é necessário ser root ou por usuário digitar o comando sudo antes.

Pelo comando

é possível verificar todos os serviços de rede que estão ativos e configurados para uso, ja o comando

permite verificar em escala as configurações de rede e em que device se encontra cada uma. O comando

pode verificar o seu status de rede, o que facilmente voce também pode pegar com o comando

Sendo, geralmente (não nos casos de macbook air),dispositivo en0 para rede ethernet, ou seja por cabo e en1 geralmente para airport, ou o wireless. Então digite:

e

Com o comando

é possível até escrever as configurações de rede, o que facilmente voce também poderia fazer com o comando

e

sendo que o networksetup escreve a configuração do

é possível até verificar e escrever configurações de DNS e qualquer objeto de rede de System Preferences, com o comando

para airport ou ethernet, para exibir algum DNS adicional ou definir um novo com o comando:

no caso de adicionar na configuração de airport (wireless), O IP público do Google.

Até mesmo vc pode entrar em uma rede sem fio por linha de comando no OSX com o comando:

como desabilitar o seu suporte a airpot (wireless), com o comando:

ou

Voce pode verificar os processos com o comando top ou ps normalmente.

Existem muitos outros comandos UNIX e do proprio gerenciamento do OSX que eu poderia colocar aqui, mas daria para escrever um livro. Prometo escrever mais, como o samba, NFS e até mesmo o X11 para OSX.


BSD General Commands Manual Índice


comando ls Índice

unix_comando_ls

Objetivo do comando: listar o conte\u02d9do de um diretório.

SYNOPSIS

Um utilit\267rio ls apareceu na vers\u201eo original do AT & T UNIX . Hoje, duas vers\u0131es populares de ls s\u201eo a Free Software Foundation 's (parte do GNU coreutils pacote) e um liberado por v\267rios BSD variantes, tais como FreeBSD , OpenBSD , NetBSD , e Apple Computer 's Darwin . Ambos s\u201eo software livre e de c\333digo aberto .

DESCRIPTION

Listagem limpa (somente o nome do conte\u02d9do)

The following options are available:


Exemplo de comandos ls Índice


Comando cd Índice

altera diretórios.

Para alterar diretõrios em um ambiente * nix, use o comando cd.


Para saber quais diretórios estão disponíveis no atual:


Voltar um diretório:


Alterar para um determinado diretório:


Alterar para diretórios aninhados:



logar em determinado usuario

Acessar maq. unix a partir do windows

para copiar arq de linux para win

Comandos B´sicos Do FreeBSD &Iacut;ndice

adduser Cria um novo usuario
cal Mostra calendário
cat Mostra o conteúdo de um arquivo
cd Muda de diretório
chgrp Altera o grupo de um arquivo ou diretório
chmod Altera as permissões de um arquivo ou diretório
chown Altera o proprietário de um arquivo ou diretorio
cmp Compara dois arquivos e informa as diferencas
cp Copia um arquivo
cpio Utilitário de backup
cut Copia uma coluna especí fica de um arquivo
date Mostra a data e a hora do sistema
dd Copia discos
df Mostra informações sobre as particoes montadas no sistema
du Informa o uso (em bytes) do disco/sistema
dump Utilitario de backup
ee Editor de textos
fdisk Editor de particoes
fdformat Formata um disco
find Procura por nome, um arquivo ou diretorio
fsck Procura/Corrige erros em um sistema de arquivos
gdb Debug
grep Procura por um string ou palavra
hostname Mostra o nome do sistema
kill Termina/Restarta um processo
ln Cria link entre um arquivo e outro
lpq Informa o status dos jobs enviados para impressao
lpr Envia um arquivo para ser impresso
lprm Remove um arquivo da fila de impressao
ls Lista arquivos e diretorios
mail Envia ou recebe um e-mail
man Mostra o manual online de um comando
mkdir Cria um diretorio
more Faz uma pausa entre a exibicao de uma tela e outra
mount Monta o conteudo de uma particao em um diretorio
mv Move/Renomeia um arquivo
newfs Formata um disco
nohup Informa o sistema para nao interromper a execucao do comando apos seu logout
passwd Altera seu password no sistema
pkg_add Instala um aplicativo do packages (pkg_add)
pkg_delete Remove um aplicativo (pkg_delete)
ps Mostra informacoes sobre o status dos processos em execucao
pwd Mostra o diretorio atual
rm Remove um arquivo
rmdir Remove um diretorio
rmuser Remove um usuario
split Divide um arquivo
su Assume o Login de outro usuario
tar Utilitario de Backup
a href="#vi">vi Editor de textos
who Mostra os usuarios logados no sistema


vi &Iacut;ndice

Comandos b\341sicos no Vi (editor de texto no linux)

Um guia para os iniciantes no mundo Linux

Comandos basicos do editor vi.

O editor de texto preferido de 9 entre cada 10 usuarios UNIX \351 o vi. A sintaxe para executar o vi \351 a seguinte:

$ vi nome_do_arquivo

Uma vez carregado o vi, veja abaixo uma lista dos principais comandos:

Observacao:

Comandos basicos de insercao de texto:

Shift+g coloca o cursor no final do arquivo

i Insere texto antes do cursor
a Insere texto depois do cursor
r Insere texto no in\355cio da linha onde se encontra o cursor
A Insere texto no final da linha onde se encontra o cursor
o Adiciona linha abaixo da linha atual
O Adiciona linha acima da linha atual
Ctrl + h Apaga o ultimo caracter

Comandos basicos de movimentacao:

Move o cursor para o meio da tela
Ctrl+f Move o cursor para a proxima tela
Ctrl+b Move o cursor para a tela anterior
H Move o cursor para a primeira linha da tela
M
L Move o cursor para a ultima linha da tela
h Move o cursor um caracter a esquerda
j Move o cursor para a proxima linha
k Move o cursor para linha anterior
l Move o cursor um caracter a direita
w Move o cursor para o inicio da proxima palavra (Ignora a pontuacao)
W Move o cursor para o inicio da proxima palavra (Nao ignora a pontuacao)
b Move o cursor para o inicio da palavra anterior (Ignora a pontuacao)
B Move o cursor para o inicio da palavra anterior (Nao ignora a pontuacao
0 Move o cursor para o inicio da linha atual
^ Move o cursor para o primeiro caracter nao branco da linha atual
$ Move o cursor para o final da linha atual
nG Move o cursor para a linha n
G Move o cursor para a ultima linha do arquivo

Comandos basicos para localizar texto:

/palavra Busca pela palavra ou caracter em todo o texto
?palavra Move o cursor para a ocorrencia anterior da palavra
n Repete o ultimo comando / ou ?
N Repete o ultimo comando / ou ? , na direcao reversa
Ctrl+g Mostra o nome do arquivo, o numero da linha corrente e o total de linhas

Comandos basicos para alteracao de texto:

x Deleta o caracter que esta sob o cursor
dw Deleta a palavra, da posicao atual do cursor ate o final
dd Deleta a linha atual
D Deleta a linha a partir da posicao atual do cursor ate o final
rx Substitui o caracter sob o cursor pelo especificado em x(\351 opcional indicar o caracter)
Rx Substitui a palavra sob o cursor pela palavra indicada em x
u Desfaz a ultima modificacao
U Desfaz todas as modificacoes feitas na linha atual
J Une a linha corrente a proxima
s:/palavra1/palavra2 Substitui a primeira ocorrencia de "palavra1" por "palavra2"

Comandos para salvar o texto:

:wq Salva o arquivo e sai do editor
:w nome_do_arquivo Salva o arquivo corrente com o nome especificado
:w! nome_do_arquivo Salva o arquivo corrente no arquivo especificado
:q Sai do editor
:q! Sai do editor sem salvar as alteracoes realizadas

Caso voce nao goste do vi, experimente o ee (easy editor) que tambem eh muito bom. Boa Sorte !!!

FONTE: http://www.primeirospassos.org/sessao3_4.html

http://aurelio.net/vim/

Postado por felipe \u0950 \340s 09:25
Enviar por e-mail
BlogThis!



Mac OS X: o comando sudo requer uma senha de administrador que n\343o esteja vazia

link Resumo O comando sudo do Terminal pode ser usado pelos administradores para executar comandos como outro usu\341rio (por exemplo, como raiz). Quando for executar esse comando, o sistema solicitar\341 que voc\352 digite a senha da conta de administrador na qual iniciou sess\343o. ...mais Produtos Afetados Mac OS X 10.5, Mac OS X 10.6, OS X Lion, Terminal O comando sudo do Terminal pode ser usado pelos administradores para executar comandos como outro usu\341rio (por exemplo, como root). Quando for executar esse comando, o sistema solicitar\341 que voc\352 digite a senha da conta de administrador na qual iniciou sess\343o. No Mac OS X v10.5 at\351 10.5.8, se voc\352 pressionar a tecla Return na janela de solicita\347\343o de senha sem ter digitado uma senha (mesmo que o usu\341rio n\343o tenha senha, o que n\343o \351 recomendado), o comando digitado n\343o ser\341 executado e a janela voltar\341 para o prompt de comando. No Mac OS X v10.6 ou posterior, se voc\352 pressionar a tecla Return na solicita\347\343o de senha sem inserir uma senha, a mensagem "Desculpe, tente novamente." ser\341 exibida e o sistema solicitar\341 uma senha novamente. Se sua conta de administrador n\343o tiver senha (uma senha vazia), voc\352 ter\341 que atribuir uma senha a esse usu\341rio para poder usar o comando sudo. Depois que terminar de usar o comando sudo, voc\352 pode alterar a senha da conta novamente, embora seja recomend\341vel que sua conta de administrador tenha uma senha n\343o vazia. Informa\347\365es Adicionais Notas: Muitos comandos no Terminal levar\343o voc\352 de volta a um prompt de comandos sem exibir nenhuma mensagem depois que o comando for executado com sucesso. \311 garantido que o comando usado com sudo est\341 sendo executado sempre que voc\352 digita uma senha n\343o vazia no prompt, e voc\352 \351 redirecionado para um prompt de comandos sem que outras mensagens sejam exibidas. Quando voc\352 digita a senha do usu\341rio depois que o prompt "Senha:" aparece, n\343o \351 poss\355vel ver nada na janela Terminal. Basta digitar a senha e pressionar Return. Se a senha for inserida incorretamente, voc\352 ver\341 a mensagem "Tente novamente" e ter\341 outra chance para inserir a senha corretamente. D\352 uma nota a esse artigo: N\343o ajudou Ajudou um pouco Ajudou Ajudou muito Resolveu meu problemae