Unix & Linux

LINUX: Na verdade o nome correto é GNU/LINUX; trata-se de um sistema operacional criado por Linus Torvalds em 1991 como resultado de um projeto para o curso de graduação em ciência da computação na Finlândia.

GNU: também chamado de LINUX-Like, é um projeto iniciado em 1984 para criar um sistema operacional similar ao UNIX(considerado como o mais estável entre todos os existentes), mas com a ideologia de "software livre", ou seja, que possui distribuição livre e gratuíta, podendo ser alterado por qualquer pessoa visando melhorias e por isso possui colaboradores de desenvolvimento e aperfeiçoamento em todo o mundo; a Universidade de Berkeley também possui um porjeto (FreeBSD) que assim como o GNU, é uma variação do sistema operacional UNIX.

GNU/LINUX: é portanto a união dos projetos GNU e LINUX e consequentemente a ideologia de distribuição de um sistema operacional com distribuição livre; o núcleo/interface desta união é chamado de Kernel.<br><br>

DISTRIBUIÇÃO: para se ter acesso/adiquirir um GNU/LINUX, deve-se procurar por uma das distribuições existentes tais como: Red Hat, Debian, Mandrake, Conectiva, Monkey, Suse, SlackWare, etc; estes são exemplos de empresas que criam um pacote com o GNU/LINUX e mais programas aplicativos, tais como editor de texto, editor de foto, planilha, mutimídia, etc, com manuais e vendem este pacote praticamente a preço de custo, mas que também pode ser baixado gratuitamente por download direto destes distribuidores; escolher uma ou outra distribuição depende de uma pesquisa para saber qual apresenta um melhor conjunto de aplicativos e suporte técnico.






Linha de comando:





apache /usr/local/apache2/bin/apachectl restart apropos format consulta no manual todo o conteúdo referente ao comando alias mostra sinônimos existentes alias l="ls -laG" cria sinônimo de comando unalias desmonta o alias existente cal calculadora cat x mostra conteudo de um arquivo cat /etc/fstab cat /etc/passwd | head -n19 mostra conteudo cat /etc/passwd | head -n19 | tail -n10 lista apartir 19 e 10 ultimas linhas cat /etc/passwd | sort cat /etc/passwd | sort -t : -k3 -nr cat passwd | cut -d ":" -f 1,3 | head -n10 | tr :, --> troca (translater : por ,) cat PCI informação kernel de IRQs cat IOPORTS informação kernel de portas cd volta para o diretório default do usuário (/home) chmod - permissao de acesso a arquivos chmod -h chmod +x *.jar - permissao de execucao nos arquivos (-rwxr-xr-x) chmod +x s.sh - torna executável chmod -x s.sh chmod u + x x.sh chmod ug + xw x.sh chmod +x --- - para todos chmod a +x - para todos chmod u +rwx x.sh chmod u=rwx, g=rw, o=r x.sh chmod -R 777 /tmp/etc - para todos os arquivos, diretorios e subdiretorios chmod u+s arq - u+s faz com que qualquer usuário execute o arquivo como root chmod o+t /teste - t = stck bit (aderencia) { * importante * } chmod (r,w,x) (- +) chmod u+r file chmod g+w file chmod o+x file chgrp altera grupo de um arquivo chgrp nomenovogrupo nomedoarquivo chgrp -R nomenovogrupo nomedoarquivo chown nomenovousuario nomedoarquivo chown -R nomenovousuario nomedoarquivo (*) se não funcionar, faça: cat /etc/passwd | grep -i nomeusuario chown 11111 nomeusuario ==> onde 1111 sera o numero em passwd chsh gilmar alterar shell de um usuario chsh gilmar /usr/bin/vi quando logar, executara o vi clear limpa a tela clear;ls ; # ";" e ; = \; cp -v -v, exibe o processamento cp -R -R, recursivo, ou seja, com sub-diretórios crtl+alt+f2 altera terminal crtl+alt+f7 volta terminal crtl+c break CTRL+L restaura tela cut pega parte da listagem cut passwd | cut -d ":" -f 1 cut passwd | cut -d ":" -f 1, 2, 5-7 date date 060515252006 (MesDiaHoraMinutoAno) 05/06/2006 15:25h (para corrigir data) date +%D mostra data date +%d mostra dia date +%H mostra hora date -f %s 1126992004 +%d/%m/%Y converte timestamp (data unix) para normal (ex. log squid) dd copia de fisica de HD (fazer boot, init 1 e comando) dd if=/dev/sda of=/dev/sdb ( if = input file / of = output file) dig ip mostra dados de um determinado ip dmesg log boot do sistema /var/log/dmesg drak configurador (mandrake?) du /etc mostra conteúdo (tamanho) du -m --max-depth = 0 nível 0 ou 1, em mega, em k = -k (default) egrep '(reject|warning|error|fatal|panic):' /some/log/file env exibe variaveis definidas export x disponibiliza variavel para o login file * exibe instruções de um arquivo file postifix.db find localiza arquivo find / -name "cp*" procura apartir do raíz find / -uid 500 encontro arquivos com usuario id 500 find /tmp -a time 10 -exec ls -f {} ";" find / -perm +4000 procura arquivo com permissões específicas * importante * +--> bit 4 ligado firewall IPTABLES -L teste firewall $IPTABLES -A INPUT -p tcp --destination-port 22 -j ACCEPT libera conexoes de fora pra dentro $IPTABLES -A OUTPUT -p tcp --destination-port 22 -j ACCEPT libera conexoes de dentro pra fora cd /usr/sbin sudo vi firewall ./firewall reload groupadd groups mostra qual grupo faz parte gpasswd -a bob pop adiciona usuário no grupo gpasswd -d bob pop remove o usuário do grupo gpasswd -A elvis rock define o administrador halt reiniciar head -n 5 /etc/passwd mostra primeiras 5 linhas do arquivo head -c 512 /dev/hda primeiros 512 bits do hd (boot) historico de comandos echo $hist echo $hist size .bash_history http2 -l lista modulos pre-instalados id mostra grupos e número de grupos ifconfig placa rede ifconfig eth0 ifconfig eth1 ifconfig eth2 ifconfig eth1:0 down ifconfig eth1:0 192.168.0.16 netmask 255.255.255.0 ifup eth0 start placa rede ifdown eth0 stop placa rede iptables firewall (regras) iptables -L lista regras iptables -F output iptables -F input joe editor = wordstar Konqueror = explorer kedit editor texto less /etc/bashrc ln z y gera um link do arquivo y de z origem - destino ==> linkname => hand link (versão original primeiro link) Obs. nao exibe link com outras partições, caso existam ln -s ln "mais completo", permite outras partições locate localiza um arquivo locate abc locate abc | less ls lista pasta atual (formato basico) ls -a lista todos arquivos (-a = all/tudo) ls -al lista todos arquivos (-a = all/tudo) com permissões ls -li lista todos arquivos com ids ls -lia lista todos arquivos com ids ls > arquivo gera conteudo do comando para um arquivo ">" ou ls >> arquivo complemento de um arquivo ">>" ls -Fltr lista por ordem de data ls | less lista por pagina ls -Fltr | grep -i "Apr 22" lista por data especifica lspci lista dispositivos ls -v lsmod lista drivers carregados lsmod -v lynx blowser linha comando lynx http://localhost:9080 mail sudo tac /var/log/maillog | grep -i dominio.com.br sudo tac /var/log/maillog | grep -i dominio.com.br man apresenta o manual/help do comando e sintaxe man ls (1) numero do manual on line man ls manual comando ls (lista diretorio) man printf vai para seção 1 do manual man 3 printf vai para seção 3 do manual q (quit) sai do manual make whatis cria um índice do manual, agilizando pesquisa mcedit mc, igual ao explorer, com editor mod.info def3 modprobe lista placas instaladas /etc/log.d/conf/services/modprobe.conf /etc/modprobe.conf mkdir cria diretórios mkdir /tmp/dados/janeiro deverá existir a pasta /tmp/dados mkdir -p /tmp/dados/janeiro força a criação da pasta mesmo não tendo p /tmp/dados mount exibe particoes/diretorios existentes mount 192.168.0.1/tmp /mount/tmp mount /dev/cdrom /mount/cdrom mount /dev/floppy/ /mnt/floppy mount /dev/fd0/ /mnt/floppy mv zzz x move o arquivo zzz para o arquivo x mv zzz /bin/x move o arquivo zzz da pasta atual para a pasta /bin com o nome x named sudo service named restart netstat -nac | grep Para checar entradas no firewall Verifica ip de quem esta conectado -n = resolve somente número de ip -a = resolve todas as entradas no firewall -c = deixa o comando rodando até ser parado com as teclas Ctrl+D netstat -nac | grep :8080 netstat -nac | grep 200.210.48.29 netstat -neca | grep :81 netstat -neca | grep :22 ntsysv verifica serviço ativado/desativado ntsysv --level 35 newgrp altera grupo do usuário newgrp rock pico editor email postfix postqueue -p verifica lista de e-mail tail -f /var/log/maillog verifica lista de e-mail no log /usr/sbin/postfix stop start ps ax | grep -i sql exibe processos em uso ps axu -H arvore de processos puty 192.168.0.1 cai no home do usuario pwd exibe caminho da pasta atual (print work dir) rev /etc/fstab rm rm -i exclui arquivos rm -fr força e recursivo p/ demais diretorios rpm rpm -qa mostra pacotes instalados rpm -e postfix desinstala rpm (mantem pacotes) rpm -ql postfix lista informacoes do pacote rpm -ivh instala pacote rpm -Uvh atualiza pacote rpm -e --nodeps postfix desinstala pacotes rpm -e --nodeps libpostfix1-2.1.0.0.20040209-18mdk.rpm rpm -v --rebuilddb rpmbuild -tb instalacao de driver route exibe rotas de IP (*) -p persistir (rota estatica) route print lista rotas route -p add 172.24.200.0 mask 255.255.255.0 192.168.0.10 route -p delete 172.24.200.0 scp efetua copia de uma maquina a outra (moldes do ssh) scp -v /usr/tmp/xxxx root@192.168.0.11:/home/tmp/xxxx (de /usr/tmp/xxxx para root@192.168.0.11:/home/tmp/xxxx) servico /etc/rc.d/init.d/ pasta com serviços, cada arquivo é um servico services all exibe serviços em execução service xxxxxx reload atualiza parametros em execução vi xxxxxxxx script do servico chkconfig --add xxxxx registra o servico no sistema chmod 777 xxxxx torna o servico executavel ntsysv --level 35 conferir se o servico esta ativo [*] sftp 192.168.0.1 mget inteleva tar -tvzf php-5.0.3.tar.gz lista conteudo tar sleep faz uma pausa de acordo com o tempo informado sleep 5 5 segundos sleep 1m 1 minuto sleep 1h 1 hora smbmount smbmount 192.168.0.5/sys /mnt/win -o username=xxxxxxxx smbmount 192.168.0.5/desenv /mnt/win -o username=xxxxxxxx smbmount //sol/sys /mnt/upload -o username=xxxxxxxx smbmount //internet/upload /mnt/tomcat4 -o username=xxxxxxxx squid /etc/squid pasta com regras sudo vi sites_excessao sudo service squid stop sudo service squid start sudo service squid reload log squid, sarg, para acompanhar a internet, você usar o squidview. ssh -l email 192.168.0.1 source (reload) /etc/rc.local su usuário atual se loga como outro su elvis usuário sem paths su --login elvis usuário "completo" sudo comando sudo tcpdump | grep -i xxxxx.com.br.81: sudo tcpdump | grep smtp sudo man dump sudo --h suid set user identification tail mostra fim de um arquivo; pesquisa em log tail -n 5 /etc/passwd mostra ultimas 5 linhas do arquivo tail -f /var/log/squid/access.log tail -f /var/log/messages tail -f /var/log/squid/access.log | grep 192.168.1.00 para um determinado ip tail -f /var/log/squid/access.log | grep sexo com a palavra sexo tail -100 /var/log/squid/access.log ultimas 100 linhas tac x mostra conteudo de um arquivo (fim para o inicio) tac /etc/fstab tar tar -tvzf php-5.0.3.tar.gz lista conteudo tar tar -cvzf tomcat.tar * compacta dados tar -cvzf tomcat.tar.gz * compacta dados tar -xvzf extrai dados tcpdump exibe ip conectados sudo tcpdump -i eth1 | grep 192.168.0.100 sudo tcpdump -i eth1 sudo tcpdump | grep -i site.com.br.81: sudo tcpdump | grep smtp sudo man tcpdump sudo --h touch zzz cria o arquivo zzz na pasta atual top task manager tr a-z A-Z troca minusculas por maiusculas tracert mostra rota de um determinado IP tracert 192.168.0.1 umask elvis: 002 uname -a mostra versão do kernel unzip xxxx.zip descompacta arquivo zipado usuario (gambiarra) /usr/bin/tail -f /home/nomeusuario/.bash_history historico de comandos /etc/profile variaveis ambiente do sistema /usr/usuario/.bash_profile variaveis ambiente do usuario cp .bash_prpofile para /home/usuario usermod -c "Gilmar de Moura Gaspar" Gilmar altera comentario Gilmar /usr/sbin/sudo passwd usuário (senha atual, senha nova) altera senha /usr/sbin/sudo adduser nomeusario inclusao /usr/sbin/sudo userdel -r nomeusario (arquivos e home) deleta usuario /usr/sbin/sudo userdel -a nomeusario (arquivos e home) deleta(?) usuario internet ( /etc/squid/ ) sudo ./htpasswd passwd usuario incluir sudo ./htpasswd -D passwd usuario deletar /var/log/secure usuario e IP logado updatedb gera/atualiza indice de arquivos do hd (por nome) ==> melhor desempenho para o find vi editor de texto 1a. vez entra no modo de comando, ESC sai i insere linha yy copia linhas 1000yy dd apaga linhas 1000dd 4yy apaga apartir da atual, 4 linhas a final linha corrente :q sai :q! sai sem salvar :wq! grava e sai vi /etc/profile pode incluir mensagens para o login echo $USER, seja bem vindo ao DesenvLinux vimtutor tutorial edicao vi wget https://www.emporiobrasil.eti.br/testes/postcastserver.zip whatis format consulta o título no índice which vi localiza vi -------------------------------------------------------------------------------- gerais TERM=vt100 para melhorar o display remoto (sem cores) um comando ou arquivo pode ter mais que um nome, por exemplo "ls" e "dir" comando -color = comando c+o+l+o+r (*) não é uma regra comando --color = comando color (*) não é uma regra echo "teste" | smbclient -I 192.168.0.162 -M DESENV_06 envio mensagem echo $classpath conteudo variavel /etc/resolv.conf rastreameno linux grep :x:0: /etc/passwd /etc/sysconfig/network-scripts/ifcfg-eth0 configura placas rede /etc/fstab set cdrom no fstab para mount /dev/hdc /media/cdrom iso9660 defaults,ro 00 sudo /etc/sudoer usuario1 ALL=(ALL)ALL usuario2 ALL=(ALL)ALL /etc/ssh ssh_config AllowUsers usuario1 usuario2 -------------------------------------------------------------------------------- teste hd (cuidado!!) boot entrar modo failsaf umont /home umont / fsck -f -------------------------------------------------------------------------------- tela boot, teclar esc linux 1 root=/dev/hda1 linux rescue -------------------------------------------------------------------------------- Dicas - Tutoriais http://www.zago.eti.br/ - Sites para chegar lista de SPAM www.ordb.org www.spamcop.net Boot UNIX: alt sysrq f8 (root) powerdown (y)