terça-feira, 22 de outubro de 2013

Removendo Kernel antigo e em desuso no Linux

Como verificar versões de Kernel instaladas e remover Kernel em desuso:

IntroduçãoPor Fabio Eduardo Amaral :: O Kernel é um componente do Sistema Operacional, mas fica tão escondido que a maioria dos usuários domésticos sequer ouviu falar nele. Isso se deve à sua importância: ao contrário do que pode parecer, ele é tão essencial para o funcionamento de um computador que é melhor mantê-lo a salvo de pessoas bisbilhoteiras e inexperientes.

O cérebro do S.O.

Um PC divide-se, basicamente, em duas camadas: hardware e software. Até aí, nenhuma novidade. Onde entra o Kernel na história, então? Pois bem: ele é o grande responsável por fazer a interação entre essas camadas. Em outras palavras, é o Kernel que gerencia os recursos do sistema e permite que os programas façam uso deles.

Simples assim?

Na verdade, não. O fato é que o Kernel é complexo demais para ser explicado de forma técnica a um público leigo no assunto. Basicamente, ele começa a funcionar assim que o computador é ligado; nesse momento ele inicia a detecção de todo o hardware indispensável ao funcionamento da máquina (monitor, placa de vídeo etc.). O Sistema Operacional é carregado em seguida e, uma vez que o usuário faça seu login, o Kernel passa a administrar as principais funções dentro do S.O.: isso inclui o gerenciamento da memória, dos processos, dos arquivos e de todos os dispositivos periféricos.

Dessa forma o Kernel pode ser descrito como um grande organizador: é ele o responsável por garantir que todos os programas terão acesso aos recursos de que necessitam (memória RAM, por exemplo) simultaneamente, fazendo com que haja um compartilhamento concorrente – mas sem oferecer riscos à integridade da máquina.

Fonte: http://www.tecmundo.com.br/mac-os-x/1636-o-que-e-kernel-.htm

Vamos então agora , identificar em sua máquina o kernel atual em uso, aquele que seu sistema operacional está utilizando, NOTE: esse kernel atual não pode ser removido caso você tenha desisnstalado versões anteriores .

Procede-se (para verificar a versão do Kernel atual, o que está sendo utilizado no seu Linux :

uname -r

root@root [~]# uname -r
2.6.32-042stab078.28

Veja que a versão '2.6.32-042stab078.28' do kernel está sendo executada no seu servidor ( a tempo de kernel), esse é o kernel atual .

Ou um outro comando para uma print maior detalhado de seu kernel e sistema:

root@root [~]# uname -a
Linux root.hostname.com.br 2.6.32-042stab078.28 #1 SMP Mon Jul 8 10:17:22 MSK 2013 x86_64 x86_64 x86_64 GNU/Linux


Para verificar versões anteriores de Kernel instalado em seu servidor/Linux :

Proceda:

root@br [~]# rpm -q kernel
kernel-2.6.32-042stab078.28.x86_64
kernel-2.6.32-042stab079.5.x86_64
kernel-2.6.32-042stab079.6.x86_64
kernel-2.6.32-042stab081.3.x86_64
kernel-2.6.32-042stab081.5.x86_64

Veja que, nessa máquina utilizada , temos 5 kernels instalados e um deles está em uso:

2.6.32-042stab078.28

Sendo assim, você tem duas opções:

1- Editar o seu arquivo grub.conf em /etc/grub.conf para utilizar a versão mais atual do kernel:

Edite a linha 'default=' e selecione o kernel desejado, lembrando que, inicia-se de 0 ( o primeiro da lista ) e consequentemente 1,2,3 etc .

Salve o arquivo.

2- Manter o kernel instalado e que está sendo utilizado, caso não queira alterá-lo  e apenas remover os velhos kernels conforme abaixo será descrito.

Agora, que você está utilizando a versão mais recente do seu kernel em seu Linux, dê um reboot na máquina para aplicações de configurações .

Atenção: Antes, tenha total certeza de que o Kernel atualizado e configurado em seu grub.conf seja completamente funcional e compatível com o seu sistema.

Após o reboot, o seu novo kernel já estará em funcionamento em tempo de execução. Sendo assim, você já pode remover os "old kernel" Kernels antigos e em desuso da seguinte maneira:

Proceda:

rpm -ev versao_kernel_lista
Exemplo: rpm -ev kernel-2.6.32-042stab078.28.x86_64

Faça isso para todos os kernels antigos e que você não esteja utilizando mas sempre lembrando de que o kernel atual deverá permanecer.

Para maior segurança, é sempre aconselhável deixar um kernel na máquina além do usual pois caso você tenha algum problema no kernel atualizado (novo) você terá a opção de retornar ao antigo kernel evitando maiores problemas como ( kernel Panic) o que, nesse caso, seria a perda completa de seu linux/ OS .

Boa sorte !

 

terça-feira, 15 de outubro de 2013

O que você precisa saber sobre o SWAP e Memória RAM no seu Linux


Otimizando o uso do swap( memória Virtual) e da memória ram( memória Física)

Post escrito por:  Gustavo Picoloto

Introdução:  No Linux, o swap é a memória virtual (também é conhecido como área de troca). A memória virtual funciona como uma extensão da memória RAM, que fica armazenada no disco. O porquê da memória swap precisar existir é simples: o sistema operacional precisa de memória para funcionar, e se a memória acabar, o sistema falha. O swap fica como uma reserva emergencial caso a memória RAM acabe. A memória swap era bastante útil em tempos passados onde memória RAM era algo mais escasso. Hoje em dia, tanto a RAM quanto espaço em disco estão baratos. É sempre recomendado utilizar swap, mesmo com muita memória RAM.

O swap pode ficar tanto em uma partição, quanto em um arquivo no disco. No caso de ficar numa partição em um disco comum (não-SSD), recomenda-se colocar a partição no início do disco, assim a leitura durante a rotação do disco magnético é mais rápida. No caso de partições em disco SSD, tanto faz pois não há rotações como um disco comum. Algumas distribuições, como Debian e Ubuntu, tem no instalador uma opção para colocar a partição no início do disco.

Importante: lembre-se que o swap é bem mais lento que a memória RAM. Se você colocar swap demais num sistema e começar a usá-lo muito você vai ganhar uma grande de uma lentidão! (muita lentidão em discos convencionais e mesmo assim lentidão em discos SSD)

Otimizando o uso do swap e da memória ram

Nas últimas versões do kernel 2.6.x (se não me engano da 2.6.6 em
diante), se tornou possível configurar manualmente como o Linux vai
decidir o quanto de memória vai ou não para swap.
Você pode visualizar a configuração atual desta maneira:

# cat /proc/sys/vm/swappiness
60

Ou, de uma maneira “mais elegante”:
# sysctl -a|grep swappiness
vm.swappiness = 60

Os valores podem variar entre 0 e 100, sendo que 0 significa que
o kernel vai tentar manter toda a memória alocada na ram e 100
significa que o kernel vai tentar mover toda a memória alocada
mas não usada no momento para o swap.

- Como isso pode afetar o desempenho da máquina ?
Com valores muito altos para swappiness, o Linux quase sempre
terá memória ram livre, permitindo que aplicativos sejam carregados
mais rapidamente e que os softwares em uso no momento, caso precisem
alocar mais memória, tenham a memória alocada mais rapidamente, pois
o sistema terá memória ram livre (e não memória no swap livre).

Com valores muito baixos para swappiness, o Linux tentará manter toda
a memória alocada na ram. A vantagem é que provavelmente a memória
alocada por um software estará na ram (mais rápida que o swap), caso
você fique muito tempo sem usar um software que esteja aberto
(minimizando ele, por exemplo), ele provavelmente retornará para uso
em um tempo mais rápido.

- Então, qual o melhor valor para swappiness ?
Isto depende de quais softwares você utiliza mais, depende de quanto
de memória ram você tem instalada no sistema, dentre outras coisas.
Se você tiver pouca memória ram, provavelmente um valor mais alto
para swappiness vai melhorar o desempenho do sistema, deixando ram
livre. Se você tiver muita memória ram, provavelmente um valor mais
baixo para swappiness vai melhorar o desempenho, porque se você tiver
ram suficiente para rodar seus softwares, por que alocar a memória
para eles no swap ?

Sendo assim, fica como sugestão realizar vários testes com valores
diferentes para swappiness e, depois de realizados, deixar setado
com o valor que melhor se adequou ao seu sistema. Ah sim, aumente
em incrementos grandes, algo como de 10 em 10 ou 20 em 20… de um
em um você não irá perceber a diferença e ainda fica bem demorado
pra terminar de testar :)
Na minha estação (um notebook Toshiba com 196 Mbytes de ram, onde
sempre tenho o Mozilla, o OpenOffice, o Gaim e o Gnome executando
num Fedora Core 2), o valor que melhor se adaptou foi o de “80″.

- Como alterar o valor para swappiness em tempo de execução ?
#sysctl -w vm.swappiness=XX
Ou
#echo XX > /proc/sys/vm/swappiness
(onde XX é o valor que você quer setar, lembrando que o intervalo
é entre 0 e 100)

- Como fixar este valor de swappiness para que não volte para
o default no próximo boot ?
Edite /etc/sysctl.conf e adicione a seguinte linha (ou altere,
caso não existir no arquivo):

vm.swappiness = XX

Salve o arquivo e pronto.

Boa Sorte

segunda-feira, 14 de outubro de 2013

Limpando e removendo últimos acessos do SSH


Remova acessos 'last' demasiados em seu SSH (Console) 

Introdução: Com o passar do tempo, seus acessos ao console da máquina, registrados ao longo de um período , tornam-se inviáveis para visualização de últimos acessos onde, por um período salvo nos logs, você não irá conseguir administrar seus acessos recentes . 

Para isso , existe uma solução básica, simples e rápida

Removendo últimos acessos do console (SSH):

Como root, acesse o SSH da máquina 

Execute as linhas de comando:


#rm -f /var/log/wtmp && touch /var/log/wtmp ( Removendo acessos do Log )
#chown root.utmp /var/log/wtmp && chmod 664 /var/log/wtmp ( recriando arquivos de logs para novos acessos)

Pronto, agora dê um comando 'last' e você notará que os acessos demasiados foram removidos e novos serão gravados:

Acessos velhos removidos . Novos acessos serão regravados
Boa Sorte !

Gerenciar processos do Mysqld - MYTOP


Gerencie os processos do Mysql correntes em seu servidor usando essa poderosa ferramenta : MyTop

Introdução: Com o  comando 'top' você poderá visualizar os processos que estão sendo executados no servidor, e sem dúvida é um dos comandos mais utilizados por administradores linux, porém através do 'top' você não poderá gerenciar e acompanhar os comandos do MYSQL mais detalhadamente.
Para este fim temos o MyTop que irá nos permitir mostrar os processos que estão sendo executados, ordenar por uso de memória, uso de cpu, tempo, usuário etc .
Instalando o MyTop: Crie uma pasta  na raiz de seu servidor, por exemplo: downloads.
Execute o download do MyTop utilizando o comando: 
wget http://jeremy.zawodny.com/mysql/mytop/mytop-1.4.tar.gz ( ver versão nova disponível ).
Descompacte o arquivo: tar -zxf mytop-1.4.tar.gz
Acesse o diretório recém descompactado: cd mytop*
Então, execute : perl Makefile.PL 
make test
make 
make install 


Após a instalação execute:

mytop -dmysql 

Você verá um console com todos os usuários do processo Mysqld .

Caso você obtenha a seguinte mensagem de erro ao rodar o comando mytop :

#mytop
Error in option spec: "long|!"

Faça o seguinte:

Abra o arquivo mytop em
nano /usr/local/bin/mytop ( para abrir o arquivo mytop )

procure por "long|!" => \$config{long_nums}, e apenas comente esta linha usando #

Salve o arquivo e execute novamente o comando:

mytop -dmysql
Esse é o MyTop sendo executado :
Boa Sorte !


Mantenha o seu cPanel atualizado

Mantenha o cPanel sempre atualizado para evitar BUGs


Introdução: O cPanel sempre lança novas atualizações de pacotes para melhorar e garantir a segurança dos servidores web que o utilizam.

É muito simples a atualização do cPanel que pode ser realizada de 2 formas:

Via WHM: Acesse o seu WHM, clique na guiaServer Configuration >> Update Preferences , selecione a opção (RELEASE) de atualização .

Daily Updates : Selecione a caixa 'Automatic' para atualizações automáticas no sistema

Operating System Package Updates: Selecione a caixa Automatic para atualizações do seu OS e pacotes .

SpamAssassin® Rules Updates: Da mesma forma, selecione ' automatic' para atualizações de regras do SpamAssassin .

Terminado, clique em 'save'

Essas opções encontram-se facilmente no seu WHM e é de fácil utilização, porém caso você queira atualizar seu cPanel manualmente, desmarque a guia (Daily Updates) selecionando a opção manual Only.

Via SSH (CONSOLE): Uma outra maneira, caso você opte em atualizar o seu cPanel manualmente ( conforme descrito acima) é via SSH da máquina, dessa forma utilize a linha de comando:

/scripts/upcp para atualização manual do cPanel .

Note: A versão mais estável do cPanel é a RELEASE portanto, mesmo que você atualize o seu cPanel via SSH esta opção deve estar selecionada no seu WHM , ( conforme supramencionado) .

Note: Ferramentas disponíveis em servidores Linux .


Dicas de segurança para seu Linux

Aumente a segurança de seu servidor Linux com algumas medidas simples

Publicidade


Introdução: Aumentar a segurança de seu servidor , nunca é demais . Procedimentos básicos e simples podem ser tomados afim de que, seu servidor torne-se mais seguro e confiável .

Segue abaixo, algumas medidas que podem auxiliá-lo e deixá-lo mais seguro e confortável .

Arquivo sysctl.conf::

No arquivo /etc/sysctl.conf você pode ajustar parâmetros do seu Linux que podem ajudar no desempenho e na segurança do mesmo.

Abra o arquivo em /etc/sysctl.conf e edite-o

# Seguranca
security.bsd.see_other_uids=0
# TCP
net.inet.tcp.rfc1323=1
net.inet.tcp.blackhole=2
net.inet.tcp.syncookies=1
net.inet.tcp.sack.enable=1
net.inet.tcp.log_in_vain=1
net.inet.tcp.sendspace=65535
net.inet.tcp.recvspace=65535
# UDP
net.inet.udp.blackhole=1
net.inet.udp.log_in_vain=1
# ICMPnet.inet.icmp.bmcastecho=0
net.inet.ip.redirect=0
# Configuracoes
net.inet.ip.rtexpire=2
net.inet.ip.rtminexpire=2
# Tuning 1 Stack TCP/IP & Kernel Tuning
kern.maxfiles=131392
kern.maxfilesperproc=16424
kern.ipc.somaxconn=8192
kern.ipc.maxsockbuf=8388608
# Ideal, segundo Matt Dillon – man tuning(7)
net.inet.tcp.always_keepalive=1
net.inet.tcp.keepidle=24000
net.inet.tcp.keepintvl=3000
net.inet.tcp.keepinit=70000
net.inet.ip.intr_queue_maxlen=50
# ARP Exaustion – 1200 = 20 Minutos. Ideal Segundo Matt Dillon.net.link.ether.inet.max_age=1200
net.inet.icmp.bmcastecho=0
# Calcula o atraso de banda para cada conexao e limita a quantidade de dados enfileirados para a penas a quantidade requerida.net.inet.tcp.inflight.enable=1

Salve o arquivo e valide-o:
sysctl -e

Arquivo hosts:

Abra o seu arquivo em /etc/hosts

Remova a linha ::localhost 127.0.0.1 , isso desativará o IPV6 uma vez que você utiliza IPV4 sendo desnecessário o IPV6 ativado.

Ainda, para desativar o IPV6 , re-edite o seu arquivo /etc/sysctl.conf e adicione a linha:

net.ipv6.conf.all.autoconf=0 ( isso desativará automaticamente o IPV6 ).

Para finalizar, edite o seu arquivo /etc/sysconfig/network e procure pela linha:

NETWORKING_IPV6=yes
Altere para:
NETWORKING_IPV6=no
Ou se preferir, remova essa linha

Para certificar de que o protocolo IPV6 foi devidamente desativado , execute o comando:

#ifconfig

Você deverá visualizar algo dessa natureza onde o IPV6 não irá aparecer:

Link encap:Ethernet  Endereço de HW 00:1C:C0:F8:A2:29
          inet end.: 187.0.0.0  Bcast:187.0.0.255  Masc:255.255.255.0
          UP BROADCASTRUNNING MULTICAST  MTU:1500  Métrica:1
          RX packets:2952594603 errors:0 dropped:101 overruns:0 frame:0
          TX packets:800294818 errors:0 dropped:0 overruns:0 carrier:0
          colisões:0 txqueuelen:1000
          RX bytes:319729997267 (297.7 GiB)  TX bytes:616063491169 (573.7 GiB)

          IRQ:10 Memória:d0700000-d0720000

Outras dicas serão atualizadas!
Boa Sorte !



Meu HD principal deu problemas , o que fazer?

Como recuperar seus dados quando seu HD principal com o OS apresenta falha de sistema de arquivos

Introdução: Lamentavelmente, os discos rígidos possuem uma vida útil e na maioria dos casos podem chegar até 5 anos , porém, alguns data centers utilizam de HDs já defeituosos na instalação do seu OS que podem comprometer seus dados futuramente com erros de sistema de arquivos onde, o Linux não irá bootar apresentando falha ( File System error) .

Nesse caso, existe uma solução muito útil porém trabalhosa afim de recuperar seus dados.

O primeiro passo será solicitar ao seu DataCenter que faça um 'restore' de OS ( Restauração e re-instalação do seu sistema operacional Linux) onde nesse caso, será re-instalado um OS limpo sem dados, obviamente .

Após a instalação do novo OS, solicite ao seu fornecedor Datacenter que, seja instalado na máquina o seu HD antigo , esse por sua vez como um HD secundário ( Ver nesse blog como montar um HD secundário) .

Atenção: Muito cuidado com esse HD antigo pois ele contém todos os seus dados e de seus clientes como: Banco de dados, arquivos de sites, tabelas de DNS, configurações etc . 

Lembrete: Esse HD antigo , que contém todos os seus dados jamais poderá ser formatado ou utilizado do comando 'mkfs' pois caso seja executado , você perderá todos os dados nele contido.

O segundo passo, após todos os procedimentos acima realizados é copiar os arquivos de seus clientes e suas configurações antigas para o novo HD afim de recuperar esses dados e configurações anteriores.

Para esse procedimento, utilize o comando:

#cp -axr

Por exemplo: acesse o HD antigo que foi montado como secundário ( cd /hd_old) , vá ao diretório  /home e copie todos os usuários para o seu HD recé-montado (novo) da seguinte forma:

cp -axr * /home ( isso irá copiar os usuários do /home de seu HD antigo para seu HD novo ).
Após feito, copie a base de dados do Mysql de seus usuários utilizando o mesmo procedimento:

cd /old_hd/usr/lib/mysql
cp -axr * /usr/lib/mysql ( isso copiará todas as data bases de seus usuários para o novo HD )

Você precisa ainda, copiar os arquivos de configuração como Apache, PHP, Tabelas de DNS (NAMED) e outras configurações que pertenciam ao seu HD defeituoso, para isso, siga os mesmos passos supramencionado .

Exemplo: Copiando httpd.conf com entradas de usuários:

cp -axr /old_hd/etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf

Copiando tabelas de DNS (named):

cp -axr /hd_old/var/named/*.db /var/named

Lembre-se ainda que você deverá copiar o seu arquivo named.conf do seu HD defeituoso para o novo HD, seguindo os mesmos procedimentos .

Se você utiliza do cPanel, antes de qualquer procedimento mencionado acima, instale o cPanel do início ( ver postagem de como instalar o cPanel nesse Blog) e logo após instalado, prossiga com os procedimentos mencionados .

Boa Sorte !

Montando um novo HD (Disco rígido) secundário em seu Linux


Saiba como montar (configurar e instalar) um novo HD secundário em seu Linux

Introdução: Existem algumas maneiras simples e outras mais detalhadas para montar um novo HD em seu servidor Linux . Iremos aqui demonstrar duas maneiras .

Antes, certifique-se de que o seu HD secundário encontra-se instalado em seu servidor:

fdisk -l

Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000aecb3

Dispositivo Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1        6374    51199123+  83  Linux
/dev/sdb2            6375       60291   433088302+  83  Linux
/dev/sdb3           60292       60801     4096575   82  Linux swap / Solaris

Formate o seu novo HD utilizando:

[root@localhost]# mke2fs designação-da-partição-não-formatada

Usando o comando : #mount

Antes, você deverá criar um diretório na raiz do seu servidor, chamaremos esse de 'backup':

Utilize o comando ( que você já aprendeu na listas de comandos aqui no blog) mkdir:

mkdir /backup

Esse será o ponto de partida para a criação e montagem do seu HD secundário.

Após criada a pasta ( partição) você irá utilizar o comando supramencionado: mount, da seguinte maneira:

mount /dev/sdb /backup/ 
/dev/sdb = o hd
/backup/ = o lugar onde irá montar

Levando em consideração que , estamos montando um HD SDB 

Logo após, é necessário editar o arquivo fstab para que o sistema possa reconhecê-lo no boot , caso contrário, em um próximo boot o HD deverá ser remontado novamente:

nano /etc/fstab

/dev/sdb               /backup           ext2         defaults            1 1

Salve o arquivo e execute o comando: mount -a para certificar de que o HD foi montado .

Para desmontar o HD, basta utilizar o comando também aprendido em nosso blog:

umount /dev/sdb /backup

Utilizando  blkid -L label

Há muitos dispositivos ou pontos de montagem montados em sistema. 
Mas, às vezes, precisamos montar esses pontos de montagem por ID único. Neste caso, geralmente acontece em rede, porque na mesma rede, pode ter os mesmos pontos de montagem de nome em discos diferentes.Para evitar este conflito, vamos montar os pontos de montagem pelo seu ID bloco que é sempre único.

Antes de fazer a entrada no arquivo / etc / fstab, precisamos encontrar ID bloco do arquivo.Vamos fazê-lo, seguindo os comandos da seguinte forma:

root @ Olá: ~ / myhome / teste # 
blkid / dev/sdb1
/ Dev/sda1: UUID = "s91ed12-d675-46bf-a42f-07fgc2313505" TYPE = "ext3"
root @ Olá: ~ / myhome / teste #
root @ Olá: ~ / myhome / teste # blkid / dev/sdb3
/ Dev/sda3: UUID = "k4161839-0b4d-45aa-b4d5-49c76g989628" TYPE = "ext3"
root @ Olá: ~ / myhome / teste #

De acordo com o exemplo acima, id bloco vai mostrar para as partições criadas e só precisamos fornecer um parâmetro para este comando e que é o nome da partição.

Após isso, podemos montar sistema de arquivos ou partição do sistema operacional com este ID bloco. É permanente id bloco para esta partição e isso nunca vai mudar. Para cada partição física, não é a única ID de bloco para ele.
Exemplo de / etc / arquivo de configuração do fstab por UUID.

# Troca foi na / dev/sdb5 durante a instalação
UUID = 72c7301e-239b-44a0-9ccd-41693680d91c none swap sw 0 0


Se você ver no exemplo acima, usamos o UUID para que não device ou nome da partição enquanto montá-lo no arquivo / etc / fstab.

Este método de montagem, ou seja, bloco de ID não é útil para desktop em casa só porque não vamos Enterprise Storage ou requisitos de qualidade.  


Boa Sorte !



Conhecendo os comandos básicos do seu Linux

Conheça os comandos básicos do Linux para melhor administração.

Introdução: Um bom administrador em servidores web deverá ter em mente dos comandos básicos de seu Linux . Esses comandos são necessários para a manipulação de seu servidor no dia-a-dia.

Abaixo uma lista de comandos para que você possa se familiarizar com seu Linux

Comandos de Controlo e Acesso
exitTerminar a sessão, ou seja, a shell (mais ajuda digitando man sh ou man csh)
logoutDeslogar, ou seja, terminar a sessão actual, mas apenas na C shell e na bash shell
passwdMudar a password do nosso utilizador
rloginLogar de forma segura noutro sistema Unix/Linux

sshSessão segura, vem de secure shell, e permite-nos logar num servidor através do protocolo ssh
sloginVersão segura do rlogin
yppasswdMudar a password do nosso utilizador nas páginas amarelas (yellow pages)
Comandos de Comunicações
mailEnviar e receber emails
mesgPermitir ou negar mensagens de terminal e pedidos de conversação (talk requests)
pineOutra forma de enviar e receber emails, uma ferramenta rápida e prática
talkFalar com outros utilizadores que estejam logados no momento
writeEscrever para outros utilizadores que estejam logados no momento
Comandos de Ajuda e Documentação
aproposLocaliza comandos por pesquisa de palavra-chave
findLocalizar ficheiros, como por exemplo: find . -name *.txt -print, para pesquisa de ficheiros de texto por entre os ficheiros da directoria actual
infoLança o explorador de informações
manManual muito completo, pesquisa informação acerca de todos os comandos que necessitemos de saber, como por exemplo man find
whatisDescreve o que um determinado comando é
whereisLocalizar a página de ajuda (man page), código fonte, ou ficheiros binários, de um determinado programa
Comandos de Edição de Texto
emacsEditor de texto screen-oriented
picoEditor de texto screen-oriented, também chamado de nano
sedEditor de texto stream-oriented
viEditor de texto full-screen
vimEditor de texto full-screen melhorado (vi improved)
Comandos de Gestão de Ficheiros e Directorias
cdMudar de directoria actual, como por exemplo cd directoriacd ..cd /
chmodMudar a protecção de um ficheiro ou directoria, como por exemplo chmod 777, parecido com oattrib do MS-DOS
chownMudar o dono ou grupo de um ficheiro ou directoria, vem de change owner
chgrpMudar o grupo de um ficheiro ou directoria
cmpCompara dois ficheiros
commSelecciona ou rejeita linhas comuns a dois ficheiros seleccionados
cpCopia ficheiros, como o copy do MS-DOS
cryptEncripta ou Desencripta ficheiros (apenas CCWF)
diffCompara o conteúdo de dois ficheiros ASCII
fileDetermina o tipo de ficheiro
grepProcura um ficheiro por um padrão, sendo um filtro muito útil e usado, por exemplo um cat a.txt | grep ola irá mostrar-nos apenas as linhas do ficheiro a.txt que contenham a palavra “ola”
gzipComprime ou expande ficheiros
lnCria um link a um ficheiro
lsLista o conteúdo de uma directoria, semelhante ao comando dir no MS-DOS
lsofLista os ficheiros abertos, vem de list open files
mkdirCria uma directoria, vem de make directory”
mvMove ou renomeia ficheiros ou directorias
pwdMostra-nos o caminho por inteiro da directoria em que nos encontramos em dado momento, ou seja apathname
quotaMostra-nos o uso do disco e os limites
rmApaga ficheiros, vem de remove, e é semelhante ao comando del no MS-DOS, é preciso ter cuidado com o comando rm * pois apaga tudo sem confirmação por defeito
rmdirApaga directorias, vem de remove directory
statMostra o estado de um ficheiro, útil para saber por exemplo a hora e data do último acesso ao mesmo
syncFaz um flush aos buffers do sistema de ficheiros, sincroniza os dados no disco com a memória, ou seja escreve todos os dados presentes nos buffersda memória para o disco
sortOrdena, une ou compara texto, podendo ser usado para extrair informações dos ficheiros de texto ou mesmo para ordenar dados de outros comandos como por exemplo listar ficheiros ordenados pelo nome
tarCria ou extrai arquivos, muito usado como programa de backup ou compressão de ficheiros
teeCopia o input para um standard output e outros ficheiros
trTraduz caracteres
umaskMuda as protecções de ficheiros por defeito
uncompressRestaura um ficheiro comprimido
uniqReporta ou apaga linhas repetidas num ficheiro
wcConta linhas, palavras e mesmo caracteres num ficheiro
Exibição ou Impressão de Ficheiros
catMostra o conteúdo de um ficheiro, como o comando type do MD-DOS, e é muito usado também para concatenar ficheiros, como por exemplo fazendo cat a.txt b.txt > c.txt” para juntar o ficheiro a.txt e b.txt num único de nome c.txt
foldEncurta, ou seja, faz um fold das linhas longas para caberem no dispositivo de output
headMostra as primeiras linhas de um ficheiro, como por exemplo com head -10 a.txt, ou usado como filtro para mostrar apenas os primeiros x resultados de outro comando
lpqExamina a spooling queue da impressora
lprImprime um ficheiro
lprmRemove jobs da spooling queue da impressora
moreMostra o conteúdo de um ficheiro, mas apenas um ecrã de cada vez, ou mesmo output de outros comandos, como por exemplo ls | more
lessFunciona como o more, mas com menos features, menos características e potenciais usos
pageFunciona de forma parecida com o comando more, mas exibe os ecrãs de forma invertida ao comandomore
prPagina um ficheiro para posterior impressão
tailFunciona de forma inversa ao comando head, mostra-nos as últimas linhas de um ficheiro ou mesmo do output de outro comando, quando usado como filtro
zcatMostra-nos um ficheiro comprimido
xvServe para exibir, imprimir ou mesmo manipular imagens
gvExibe ficheiros ps e pdf
xpdfExibe ficheiros pdf, usa o gv
Comandos de Transferência de Ficheiros
ftpVem de file transfer protocol, e permite-nos, usando o protocolo de transferência de ficheirosftp, transferir ficheiros entre vários hosts de uma rede, como aceder a um servidor de ftp para enviar ou puxar ficheiros
rsyncSincroniza de forma rápida e flexível dados entre dois computadores
scpVersão segura do rcp
Comandos de Notícias ou Rede
netstatMostra o estado da rede
rshCorre umam shell em outros sistemas UNIX
sshVersão segura do rsh
nmapPoderoso port-scan, para visualizarmos portas abertas num dado host
ifconfigVisualizar os ips da nossa máquina, entre outras funções relacionadas com ips
pingPingar um determinado host, ou seja, enviar pacotes icmp para um determinado host e medir tempos de resposta, entre outras coisas
Comandos de Controlo de Processos
killMata um processo, como por exemplo kill -kill 100ou kill -9 100 ou kill -9 %1
bgColoca um processo suspenso em background
fgAo contrário do comando bg, o fg traz de volta um processo ao foreground
jobsPermite-nos visualizar jobs em execução, quando corremos uma aplicação em background, poderemos ver esse job com este comando, e termina-lo com um comando kill -9 %1, se for o jobnúmero 1, por exemplo
topLista os processos que mais cpu usam, útil para verificar que processos estão a provocar um uso excessivo de memória, e quanta percentagem decpu cada um usa em dado momento
^ySuspende o processo no próximo pedido de input
^zSuspende o processo actual
Comandos de Informação de Estado
clockDefine a hora do processador
dateExibe a data e hora
dfExibe um resumo do espaço livre em disco
duExibe um resumo do uso do espaço em disco
envExibe as variáveis de ambiente
fingerPesquisa informações de utilizadores
historyLista os últimos comandos usados, muito útil para lembrar também de que comandos foram usados para fazer determinada acção no passado ou o que foi feito em dada altura
lastIndica o último login de utilizadores
lpqExamina a spool queue
manpathMostra a path de procura para as páginas do comando man
printenvImprime as variáveis de ambiente
psLista a lista de processos em execução, útil para saber o pid de um processo para o mandar abaixo com o comando kill, entre outras coisas
pwdMostra-nos o caminho por inteiro da directoria em que nos encontramos em dado momento, ou seja apathname
setDefine variáveis da sessão, ou seja, da shell, na C shell, na bash ou na ksh
spendLista os custos ACITS UNIX até à data
timeMede o tempo de execução de programas
uptimeDiz-nos há quanto tempo o sistema está funcional, quando foi ligado e o seu uptime
wMostra-nos quem está no sistema ou que comando cada job está a executar
whoMostra-nos quem está logado no sistema
whoisServiço de directório de domínios da Internet, permite-nos saber informações sobre determinados domínios na Internet, quando um domínio foi registado, quando expira, etc
whoamiDiz-nos quem é o dono da shell
Comandos de Processamento de Texto
abiwordProcessador de Texto Open Source
addbibCria ou modifica bases de dados bibliográficas
colReverte o filtro a line feeds
dictionIdentifica sentenças com palavras
diffmkMarca diferenças entre ficheiros
dvipsConverte ficheiros TeX DVI em ficheiros PostScript
explainExplica frases encontradas pelo programa diction
grapPreprocessador pic para desenhar gráficos, usado em tarefas elementares de análises de dados
hyphenEncontra palavras com hífenes
ispellVerifica a ortografia de forma interactiva
latexFormata texto em LaTeX, que é baseado no TeX
pdfelatexPara documentos LaTeX em formato pdf
latex2htmlConverter LaTeX para html
lookbibEncontra referências bibliográficas
macrefCria uma referência cruzada listando ficheiros de macros nroff/troff
ndxCria uma página de indexação para um documento
neqnFormata matemáticas com nroff
nroffFormata texto para exibição simples
picProduz simples imagens para troff input
psditFiltra um output troff para a Apple LaserWriter
ptxCria uma indexação permutada mas não em CCWF
referInsere referências de bases de dados bibliográficas
roffbibFaz o run off de uma base de dados bibliográfica
sortbibOrdena uma base de dados bibliográfica
spellEncontra erros de ortografia
styleAnalisa as características superficiais de um documento
tblFormata tabelas para nroff/troff
texFormata texto
tpicConverte ficheiros pic source em comandos TeX
wgetPermite-nos fazer o download completo de páginas web, com todos os ficheiros, de forma fácil e não interactiva, sem exigir por isso presença do utilizador, respeitando também o ficheirorobots.txt
Web
html2psConversor de html para ps
latex2htmlConversor de LaTeX para html
lynxNavegador web baseado em modo de texto, ou seja, é um web browser que nos permite abrir todo o tipo de páginas visualizando apenas os textos elinks, não vendo assim as imagens, e sendo por isso bastante rápido, mas requere prática para ser manuseado
netscapeNavegador web da Netscape
sitecopyAplicação que nos permite manter facil e remotamente web sites
weblintVerificador de sintaxes e de estilos html

Agora que você já conhece os comandos básicos, bom trabalho !