Como remover caracteres ^M de arquivos usando VIM/VI (vale para qualquer UNIX-like)

Standard

Bom, galera, quem aqui nunca abriu um arquivo no console que apresentou caracteres ^M?
Normalmente essas pragas aparecem ou com o Dreamweaver ou com Word (cópia) – Área de Transferência, depois os caras costumam enviar por ftp e daí já sabe né? Se abrir o arquivo via console tá lá a praga!

Bem, a dica que nós do AppUnix vamos dar é simples, porém eficaz.

Abrindo seu vi/vim (no exemplo abaixo iremos dar o nome do arquivo como sendo crash.php):

vim crash.php

Assim que o arquivo for aberto o vi/vim estará em modo de comando, para ativar execuções aperte “:” (literalmente os 2 pontos SEM ASPAS) e digite o seginte %s/ (percentual, depois, s e depois / )  e em seguida aperte CTRL+V e CTRL+M e por fim digite //g

Na linha de execução do vi/vim vai aparecer literalmente isso aqui abaixo:

:%s/^M//g

Apertamdo ENTER ele vai remover toda a praga dos caracteres ^M.

Curtiu?
SHARE NELE!

Abraços galera.

Comandos para análise de dispositivos (placa-mãe, processador e etc) no LINUX

Standard

 

Tá, isso aí é dúvida de muuuuuuita gente, mas é algo simples, um dia foi minha, mas decidimos fazer um “packzinho” de comandos que quebram o galho quando o assunto é detalhamento de Hardware. Imagine-se a 4 mil km de distância de seu server (Normal quando se loca server no exterior), como faremos para saber o que de fato está rodando? No caso do DMIDECODE, ele detalha até se o camarada colocou alguma paravirtualização (vmware, por exemplo).
As vezes precisamos fazer perícias para saber se uma aplicação/daemon será compatível com nossa estrutura de dispositivos (arquitetura, fsb, chipset e etc), e para isto precisamos de informações beeeeem detalhadas.
Abaixo descrevo alguns comandos que acho bacana:

lspci
Este comando lhe dá um detalhe bem legal sobre dispositivos pci em seu pc.
Em um pc simples a saída fica mais ou menos assim:

00:00.0 Host bridge: VIA Technologies, Inc. P4M800 Host Bridge
00:00.1 Host bridge: VIA Technologies, Inc. P4M800 Host Bridge
00:00.2 Host bridge: VIA Technologies, Inc. P4M800 Host Bridge
00:00.3 Host bridge: VIA Technologies, Inc. P4M800 Host Bridge
00:00.4 Host bridge: VIA Technologies, Inc. P4M800 Host Bridge
00:00.7 Host bridge: VIA Technologies, Inc. P4M800 Host Bridge
00:01.0 PCI bridge: VIA Technologies, Inc. VT8237/VX700 PCI Bridge
00:0f.0 RAID bus controller: VIA Technologies, Inc. VIA VT6420 SATA RAID Controller (rev 80)
00:0f.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)
00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86)
00:11.0 ISA bridge: VIA Technologies, Inc. VT8237 ISA bridge [KT600/K8T800/K8T890 South]
00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 60)
00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 78)
01:00.0 VGA compatible controller: VIA Technologies, Inc. KM400/KN400/P4M800 [S3 UniChrome] (rev 01)

Para informações beeem detalhadas use lspci -vv
(use os camandos como root).

lshw
Este comando é muito amigável e lhe dá um resumo bem bombado sobre seu hardware (memória, cpu e etc).
Em alguns casos ele consegue informar a frequência da memória (isto mesmo, ddr 1066 por exemplo).
Esse comando (na minha opinião) deve ser usado da seguinte forma:

lshw | more

O pipe “|” + more serve para paginar a saída de maneira que você possa ver pausadamente.

A saída deste comando é beeem legal, veja um pedacinho da saída falando de memória:

*-memory:0
description: System Memory
physical id: 40
slot: System board or motherboard
size: 4GiB
*-bank:0
description: DIMM 667 MHz (1.5 ns)
product: None
vendor: None
physical id: 0
serial: None
slot: DIMM_B1
size: 2GiB
width: 64 bits
clock: 667MHz (1.5ns)

 

Legal né?

Arquivo cpuinfo
Essa é uma das formas mais simples de saber que flags seu processador tem, qual velocidade dele, memória cache (L1, L2…) e etc.
Use da seguinte forma:

cat /proc/cpuinfo
A saída deste comando deve sair parecida com esta:

processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 4
model name : Intel(R) Pentium(R) 4 CPU 3.40GHz
stepping : 10
cpu MHz : 3400.425
cache size : 2048 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe lm constant_tsc up pni monitor ds_cpl est cid cx16 xtpr lahf_lm
bogomips : 6805.08

Legal!

arquivo devices
Esse é um meio muito resumido e particularmente não gosto muito, mas segue a dica:
cat /proc/devices

Mostra os dispositivos resumidamente (no estilo lsmod).

Arquivo meminfo
Este arquivo lhe informa memória com um pouco mais de detalhes:
cat /proc/meminfo

Comando dmesg

Esse comando é muito legal, precisa somente de um extrinha:


use-o com o more!

dmesg | more

Normalmente a saída é enorme.

O comando dmesg dá um resumo do startup do sistema operacional lgnu/linux, assim como detalha em um rápido processo as coisas boas e ruins que estão ocorrendo com o sistema. (MUITO ÚTIL).


Erros de boot, erros de kernel, dispositivos desconhecidos e etc!

dmidecode

O comando dmidecode é um monstro. Esse comando dá todos os detalhes de hardware (isto mesmo, informe até o modelo da placa-mãe).

 

Utilize-o da seguinte forma:

dmidecode | more

Um pouco da saída:

System Information
Manufacturer: MICRO-STAR INTERNATIONAL CO., LTD
Product Name: MS-7071
Version: 1.00
Serial Number:
UUID: Not Present

Wake-up Type: Power Switch

Esse comando é uma mãe! Isto mesmo, muito bom para saber as informações detalhadas de uma motherboard, sem contar que você pode colher as informações de chipset e modelo da placa-mãe, podendo assim até consultar informações direto do fabricante.

Abraços a todos e espero que este post tenha sido útil.

 

Equipe Appunix -> O lab mais pirado do mundo geek ;P

Tentando descobrir qual a distribuição linux você está usando

Standard

É comun que cheguemos em algum lugar e encontremos um Gnu/Linux rodando turbinado ou até mesmo para um troubleshooting, nada melhor do que antes de “meter a mão” saibamos aonde estamos “pisando”.

Quer saber qual sua distro? Use:

dmesg | head -n 2

Se o comando acima não exibir a real distribuição tente:

uname -a

Se mesmo assim ainda não rolar (caso do Fedora), use:

cat /etc/issue

Este último deve cravar!

Em algumas distribuições debian-based fica mais simples, Ubuntu, Mint, o próprio Debian e afins:

lsb_release -a

Também podemos usar:

cat /etc/debian_version

 

Para o caso acima, mas o lsb_release -a deve dar uma clareada.
Quando queremos ver Slackware podemos usar:

cat /etc/slackwareversion ou /etc/slackware ou /etc/SlackwareVersion.

 

Abraços! ah… seguem meus resultados:

[root@appunixlabs~]# dmesg | head -n 2
Initializing cgroup subsys cpuset
Linux version 2.6.25.14-108.fc9.i686 (mockbuild@) (gcc version 4.3.0 20110428 (Red Hat 4.3.0-8) (GCC) ) #1 SMP Mon Jun 4 14:08:11 EDT 2011

[root@appunixlabs ~]# cat /etc/issue
Fedora release 9 (Sulphur)
Kernel r on an m (l)

[root@appunixlabs ~]# uname -a
Linux localhost.localdomain 2.6.25.14-108.fc9.i686 #1 SMP Mon A Jun 4 14:08:11 EDT 2011 i686 i686 i386 GNU/Linux
[root@localhost ~]#

Comando básicos Linux

Standard

Olá galera tudo na paz?
Hoje vou voltar um pouco no tempo e passar aos que estão começando agora no mundo Linux (GNU/Linux) … lembrando que como “todos”ou quase todos sabem o Terminal/Console Linux é muito poderoso e pode em alguns casos até ferrar com sua instalação… tomem cuidado…hehehehehe…. “Terminal é um Mal Necessário”, há momentos em que não possuímos por algum motivo e que só o terminal pode nos ajudar…. Que diga o sufoco que passamos (Eu e Little_Oak) em que após uma queda de energia(diga-se besteira ao deligar do Nobreak um servidor em produção) um Servidor com Ubuntu não queria subir por nada…. mas vamos ao que interessa, essa é uma história longa fica para outro dia…
Vamos lá… esses são comandos que qualquer usuário Linux que se preze deve saber

cat [arquivo]: Ecoa na tela o conteúdo do arquivo em questão

root@appunix:~#cat appunix.txt

cd : Change Directory, ou seja comando usado para navegação entre os diretórios…

root@appunix:~#cd /etc/squid

chmod: Importantíssimo, usado para estar permissões em arquivos e/ou diretórios

root@appunix:~#chmod 777 /etc/squid/ip_liberado.txt

clear: limpa todo conteúdo da tela do console, uso das teclas CTRL+L proporciona o mesmo efeito

cp [origem] [destino]: comando de cópia em sistemas Unix-Like, costumo usar bastante antes de de alterar algum arquivo de configuração

root@appunix:~#cp /etc/squid/squid.conf /etc/squid/squid.conf.BKP

date: mostra a data e a hora atual, é usado também para acertar a data e hora

root@appunix:~#date mmddHHMMYYYY

onde são:
mm (mês 00-12)
dd (dia 00-31)
HH (hora 00-23)
MM (min 00-59)
YYYY (0000-9999)

df: mostra as partições usadas, costumo usar bastante df -h que mostra informações em formato que seres humanos conseguem entender

root@appunix:~#df -h

diff [arquivo] [arquivo_de_Comparação] : usado para identificar as diferenças entre dois arquivos

root@appunix:~#diff /etc/squid/squid.conf /etc/squid/squid.conf.BKP

du -[argumento] [diretorio ou arquivo]: mostra o tamanho de um diretório ou arquivo, uso sempre com o argumento -h pois esse argunto nos mostra em formato legível por nós

root@appunix:~#du -h /etc/squid/squid.conf

file [arquivo]: mostra informações de um arquivo, como Codifica’ão de caracteres e linguagem em que está o arquivo

root@appunix:~#file /etc/squid/squid.conf
squid.conf: ASCII English text

finger [usuário]: exibe informações sobre o usuário em questão, nome e diretório (o /home do usuário), é ncessário fazer a instalação do pacote finger

root@appunix:~# finger Login: root

Name: root
Directory: /root                        Shell: /bin/bash
On since Sun May 22 22:46 (BRT) on pts/0 from 187.20.XXX.XXX (messages off)
No mail.
No Plan.

free -[opção]: usado para mostrar a quantidade de memoria ram usada/livre do PC, -b,-k,-m,-g mostram informações respectivamente em Bytes, KBytes, MBytes e GBytes

root@appunix:~# free -m

halt: desliga o computador, só pode ser executado pelo root

root@appunix:~#halt

history: mostra os últimos comandos utilizados, o mesmo que cat .bash_history (no diretório raiz)

root@appunix:~# history
18  vim ip_liberado.txt
19  killall squid3 -HUP
20  cat /etc/squid3/ip_liberado.txt
21  cd /etc/squid3/
22  vim trava_msn_orkut.txt
23  cd /etc/squid3/
24  vim trava_m
25  vim trava_msn_orkut.txt
26  killall squid3 -HUP
27  cd /etc/squid3/

kill: usado para encerrar processados em sistemas GNU Linux

root@appunix:~#killall mysql

ou

root@appunix:~#killall -9 1970

ls: lista os arquivos e diretórios da pasta atual, usado também para saber as permissões que determinados arquivos/diretórios têm

root@appunix:~#ls -la

lynx: esse é o navegador via console

root@appunix:~#lynks http://www.google.com.br

mv [origem] [destino]: á uma espécie de CTRL+X via console, move o conteúdo de um arquivo para um outro

root@appunix:~#mv /etc/squid/squid.conf /etc/squid/squid.conf.BKP

mkdir [nome_diretório]: comando usando para criar diretórios

root@appunix:~#mkdir Sites

passwd [usuário]: serve para alterar senhas dos usuarios

root@appunix:~#passwd doooguinha

ps: mostra os processos em execução no sistema, onde possui as seguintes opções:

a – mostra todos os processos existentes;
e – exibe as variáveis de ambiente relacionadas aos processos;
f – exibe a árvore de execução dos processos;
l – exibe mais campos no resultado;
m – mostra a quantidade de memória ocupada por cada processo;
u – exibe o nome do usuário que iniciou determinado processo e a hora em que isso ocorreu;
x – exibe os processos que não estão associados a terminais;
w – se o resultado de processo não couber em uma linha, essa opção faz com que o restante seja exibido na linha seguinte.

root@appunix:~#ps -aux

pwd: server para mostrar qual o seu diretório corrente

root@appunix:~#pwd
/var/root

reboot: reinicia o sistema imediatamente

root@appunix:~#reboot

rm [arquivo]: apaga o arquivo especificado, substitui também o comando rmdir quando utilizada a opção -r, costumo me ferra sempre mas uso SEMPRE com as opções -rf, que não me pergunta nada e força a exclusão do arquivo

root@appunix:~#rm -rf /etc/samba/smb.conf

shutdown: desliga ou reinicia o computador, veja:

root@appunix:~#shutdown -r now (reinicia)

root@appunix:~#shutdown -h now (desliga)

A opção now pode ser mudada, por exemplo para +10, o sistema irá reiniciado ou desligado daqui a 10 minutos.

su: muda de usuario corren para superusuário, costumo usar su –, será solicitada a senha de root do sistema

tar -xzvf [arquivo.tar.gz]: extrai um arquivo compactado em tar.gz para o diretório corrente.

root@appunix:~#tar -xzvf  squid-2.5.STABLE14.tar.gz

top: exibe uma visão geral do sistema, como uso de memória, tempo em que o server está ligado, os processos, dentre outras informações

root@appunix:~#top cd1 (que muda o intervalo de tempo das atualizações da tela para 1 segundo)

uname: mostra informações sobre o sistema (utilizado por mim única e exclusivamente para saber a versão do kernel do sistema em questão)

root@appunix:~#uname -a
Linux servidor2 2.6.38-22-generic-pae #36-Ubuntu SMP Thu Jun 3 23:14:23 UTC 2010 i686 GNU/Linux

Usuários um pouco mais avançado do sistema do pinguim devem estar sentindo falta de alguns comandos, mas essa é só a primeira parte de comando indispensáveis para usuários Linux, acalmem-se em uma próxima ocasião mostrarei os restante desses comandos que considero indispensáveis.

Obrigado a você que visita nosso Blog e fique a vontade para qualquer pergunta….

Espero que seja de grande serventia tais comando para você que inicia nessa maravilhosa vida com o pinguim!!!!

Abraço a todos. 😀

Lista de funções para desabilitar em um ambiente CPANEL de Hospedagem de Sites compartilhada

Standard


Bem, se você quer mais segurança em um ambiente compartilhado você precisará de ajustar seu php.ini global (/usr/local/lib/php.ini) em seu servidor de hospedagem compartilhada afim de prevenir ataques usando recursos avançados do php.

Como faremos isto?

Procure pela linha disable_functions =

e depois do ‘=’ aplique as seguintes funções:

dl, system, exec, shell_exec, chown, chgrp, escapeshellcmd, putenv, popen, pclose, passthru, proc_open, proc_get_status, proc_nice, proc_close, proc_terminate, posix_ctermid, posix_get_last_error, posix_getcwd, posix_getegid, posix_geteuid, posix_getgid, posix_getgrgid, posix_getgrnam, posix_getgroups, posix_getlogin, posix_getpgid, posix_getpgrp, posix_getpid, posix_getppid, posix_getpwnam, posix_getpwuid, posix_getrlimit, posix_getsid, posix_getuid, posix_isatty, posix_kill, posix_mkfifo, posix_setegid, posix_seteuid, posix_setgid, posix_setpgid, posix_setsid, posix_setuid, posix_strerror, posix_times, posix_ttyname, posix_uname

Talvez você precisará do shell_exec para o caso do Fantástico Deluxe.
Avalie se vale a pena deixar esta função ativa e prossiga 😀

Gnu/Linux e suas dificuldades na usabilidade (diversidade que pode matar)

Standard

Gnu/Linux sem dúvidas é a prática mais comum no mundo do Software Livre, em outras palavras, é o meio mais fácil e mais comum do mundo Open Source estar declarado em nosso dia-a-dia. Temos ferramentas de uso diário, que são open source e não percebemos, mas quando nos deparamos com o Gnu/Linux nós podemos afirmar – este realmente é free software (ainda que não tenhamos um conceito muito forte do que realmente é software livre, que muitos infelizmente interpretam como software gratuito). Isto, sem sombra de variação é muito fabuloso, pois este excelente sistema que já mostrou do que é capaz, e o melhor, deixou claro que tem seu código aberto para customizações e forks, estando disponível para qualquer pessoa, aonde quer que esteja.
Ao longo de 12 anos de convívio com o Gnu/Linux (tendo somente 5 anos como profissional neste ramo, prestando serviços, e outros 7 “ouvindo falar bem”) pude perceber algumas “metamorfoses” que não vieram e fixaram um conceito amigável de usabilidade.
Vou detalhar isto de maneira abrangente para que fique claro o que realmente desejo expor, a dificuldade na curva de aprendizado, devido a variações muito pesadas nas distribuições Gnu/Linux.
Em 1997 possuía um computador Pentium 133 mhz mmx 100% off-board e tenho um irmão que na época estava fazendo cursos da Conectiva (uma distribuição Gnu/Linux que tinha um corpo técnico que prestava consultoria e cursos), tendo assim um impulso forte para instalação desta distribuição, o que me fez “saber que existia um sistema operacional diferente do Windows 95”, sem contar que no ano seguinte o Macintosh havia se tornado “mais uma daquelas descobertas milenares”. Naquela “descoberta” ouvi falar que ele era Free Software, mas confesso que não fez diferença para mim.
Os anos se passaram, para ser mais preciso 7 anos, e depois de tantas tentativas de me familiarizar com “aquela tela preta, parecia de mais com o MS-DOS”, consegui instalar uma distribuição chamada Slackware. Levei a sério, e fui tomando gosto.
Na época o melhor guia, ou documentação brasileira disponível (ainda está disponível) é o perfeito e completo GuiaFoca, um manual do Gnu/Linux, baseado no Debian, mas operando de maneira simples e direta em outras distribuições.
Passei um ano estudando sem cessar este sistema operacional maravilhoso, o que me fez implementar algumas soluções baseadas em Software Livre no SENAC-PB, empresa que trabalhei durante 3 anos. Adquiri um conhecimento sólido nesta plataforma, mas com o passar do tempo necessitei partir para outras como Red Hat Enterprise, por exemplo, sem contar as distribuições desktop que estavam bombando nesta fase. Com a saída da antiga empresa para outra que prestava consultoria não obtive dificuldades em implementações para clientes, principalmente pelo fato do Slackware ser muito flexível e “bastante Unix”, não senti nada difícil nos primeiros meses.
Nesta etapa eu entendi quais os problemas que as distribuições Gnu/Linux sentiam, isto aos olhos do usuário final, por que o nível de curva de aprendizado torna-se alto quando entramos em uma distribuição comercial. Para que se tenha uma idéia, o CentOS (remasterização do Red Hat Enterprise, respeitando direitos autorais e imagens da instituição), caso seja instalado como servidor, com poucos pacotes default você não terá a ferramenta ifconfig disponível, mas espere, ifconfig é um utilitário disponível em todas as distribuições, isto é padrão, e nem todas usam o system-config. Quantas usam dpkg, apt ou aptitude? Quantas tem o RPM como gestor de pacotes? O Yum? O Yast, Yast2?
Sabemos que são particularidades em cada distribuição, e que tais particularidades visam a automatização de determinadas tarefas que comumente estão vinculadas com o sistema operacional que as implementam.
Neste momento entram as divergências em geral, pois entendemos que comandos básicos sempre serão respeitados, e que seus manuais são preservados de uma distribuição para outra, mas que nem sempre estão no mesmo lugar.
Localidades na árvore de estrutura de dados, nomes de arquivos de configuração, modalidade de configuração de rede a nível de arquivo e forma com que containers web trabalham é muito diversificada em cada distribuição. Isto dificulta no momento de colocar na cabeça de algum xiita de códigos fonte proprietários que o Gnu/Linux é bom!
Observem o estouro e magnitude de distribuições como Ubuntu e Fedora, a nível desktop, vejam o quão abrangentes e aceitáveis elas são, e o mais importante, o quão bem documentadas elas são, mas em uma suave visão diferenciada, tente usar os conceitos aprendidos em cada uma delas em um Gentoo, CentOs ou OpenSuse, talvez você não queira mais usar Gnu/Linux, ou melhor, fará distinção por conhecer todas as ferramentas/utilitários de uma e de outra não.
Deixo claro que o Gnu/Linux é a escolha certa para quem não quer dores de cabeça futuras, quer estabilidade e o melhor, segurança de suas informações garantidas por sistemas que têm geeks de milhares de lugares dedicando-se na provisão de códigos de altíssimo nível e de escalabilidade monstruosa.
Minhas recomendações para marinheiros de primeira viagem:

• Use Ubuntu/Fedora para desktop, principalmente o Ubuntu que permite upgrades de versão do Sistema Operacional de maneira mais segura,
• Use CentOs/Ubuntu/Slackware ou Debian em seus servidores, principalmente Ubuntu/Debian que permitem upgrades de versões sem maiores dores de cabeça,
• Use Ubuntu/Fedora em escritórios, principalmente por sua quantidade enorme de drivers (módulos) para impressoras e etc.

Existem outras distribuições Gnu/Linux que têm tido muito prestígio, como por exemplo cito o Mandrake, empresa que assumiu a Conectiva e que tem se destacado pela ampla gama de produtos e suporte de qualidade, sendo hoje conhecida como Mandriva. OpenSuse, outra distribuição muito respeitada, versão Grátis e de código fonte aberto, 100% baseada no Suse Enterprise, mantido pela comunidade open source do mundo inteiro, esta é bastante amigável também.
Lembre-se que uma distribuição deve primar por conceitos de segurança, estabilidade e alto desempenho, principalmente, deverá ser bem documentada, e trivialmente falando, documentada maciçamente sobre suas ferramentas em particular.
Gestores de pacotes também são algo que tornam a problemática maior, por que os pacotes .DEB e .RPM imperam, seguidos de seus gestores deb/apt/aptitude e RPM/up2date/yum. Sabemos que é simples compilar algo (em alguns casos, devido requerimento de paths para libs a situação poderá complicar-se) e ajustar paths de destino, mas nem tudo isto brilha aos olhos dos mantenedores de software, tanto pelo nível de dificuldade avaliado para compilações e geração de source pré-compilado na plataforma como pela simplicidade de gestão (upgrade, downgrade e patching em geral).
Quanto ao GuiaFoca, este ainda é a melhor alternativa em documentação Gnu/Linux (falando de maneira geral), mas não atenha-se ao mesmo pois as distribuições estão mudando e agora parecem que estão tomando “independência” ou pensam em seguir assim, longe de padrões LSB.
Aprender sempre é bom, mas não atenha-se a distribuições muito individualistas, isto poderá complicar sua vida em um futuro muito próximo, principalmente no que tange ciclo de vida da versão do sistema ou até descontinuidade do projeto adotado por você ou por sua empresa (vide distribuições como Kurumin que tinham excelente iniciativa, mas que estão agonizado neste momento, Conectiva – adquirida pela Mandrake e outras).

As particularidades excessivas das distribuições estão levando as distribuições que adotam esta modalidade de negócio/serviço para uma ilha de destaque e talvez solidão.

Muito cuidado com sua escolha!

Abraços a todos e bom trabalho/estudo.

Quem é mais rápido: O mv ou cp para manipular um arquivo de um lugar para outro?

Standard

Um dia esta dúvida pode ir a sua cabeça, por isso, nada de pânico, a resposta é simples e direta:

Para mover arquivos de um lugar para outro o MV é mais rápido que o CP pois o CP recria a estrutura de inode para o arquivo, o mv renomeia o tte desta estrutura, então, concluímos que o mv é mais rápido.