Linux é um sistema operacional. Como o Windows (Windows), apenas mais seguro. No Windows, é fácil pegar um vírus; no Linux, é quase impossível. E o Linux é gratuito e você é seu próprio chefe: não há atualizações automáticas inevitáveis para o seu sistema!É verdade que entender isso é um pouco mais complicado ... Porque a maioria das operações é realizada na linha de comando. E se você vir um "conhecimento do linux" em uma vaga - espera-se que você tenha apenas a capacidade de executar operações simples - vá para outro diretório, copie um arquivo, crie um papai ... Neste artigo, falarei sobre operações típicas que um novato deve ser capaz de fazer. Bem, além de algumas coisas úteis para testadores.Vou dar uma breve descrição dos comandos básicos com exemplos (verifiquei tudo no sistema OSC), com links para artigos nos quais você pode ler mais. Se você quiser aprofundar ainda mais, consulte a seção "Livros e vídeos sobre o tópico". E também comenta o artigo, eles escreveram muitas coisas úteis)Conteúdo
Onde estou? Como entender onde você está
Comando Pwd:pwd ---
/home/test --- , test
Um comando muito útil quando você não tem nada além da linha de comando em mãos. Suportes para P rint W orking D irectory. Lembre-se dela, venha a calhar.Como entender o que está na pasta
O comando ls permite visualizar o conteúdo de um diretório:
Embora seja melhor usar o comando imediatamente com o sinalizador "l":ls -l
Esse comando exibirá uma lista mais legível, na qual é possível ver imediatamente a data em que o arquivo foi criado, seu tamanho, autor e os direitos concedidos ao arquivo.
A equipe tem outras bandeiras, mas na maioria das vezes você usará exatamente "ls - l".Veja também:A equipe ls Linux - mais sobre a equipe e todos os seus sinalizadoresO comando ls - exibe o diretório - sobre a equipe para iniciantes (sem listar todos os sinalizadores)Como mudar para outro diretório
Usando o comando cd:cd < >
O caminho pode ser absoluto ou relativo.Ao longo do caminho absoluto
Seu caminho está escrito em algum lugar, “para onde ir” ou você o espiou na interface gráfica (por exemplo, no WinSCP ).Insira o caminho para a linha de comando após "cd"cd /home/student/log
Bem, passamos do diretório inicial (indicado por ~) para / home / student / log .
Caminho relativo
O caminho relativo é relativo ao seu diretório atual em que você está localizado atualmente. Se eu já estou em / home / student e preciso / home / student / log , o comando será assim:cd log --- log ,
Se eu precisar de / home / student / photo para / home / student / photo / city / msk / 2017 / cat_1 , o comando será assim:cd city/msk/2017/cat_1
Não escrevo / casa / estudante / foto, pois já estou lá.
No Linux, você pode definir o caminho relativo à pasta pessoal do usuário atual. O diretório inicial é indicado por ~ /. Note, não ~, a saber ~ /. Além disso, você já pode especificar subpastas:cd ~/log
Essa equipe trabalhará de qualquer lugar. E mova-nos para / home / user / log .Aqui está um exemplo em que eu entrei como alunos. Ele estava originalmente no diretório / var, mas entrou em / home / students / log :
Com conclusão automática
Se você começar a digitar o nome da pasta e pressionar Tab, o próprio sistema a substituirá. Se você pressionar Tab sem inserir nada, o sistema começará a classificar as opções possíveis:- (guia cd) Talvez você tenha desejado a pasta 1?- (separador) Não? Talvez pasta 2?- (tab) De novo? Talvez pasta 3?- (tab) De novo? Talvez o arquivo 1 (itere sobre os nomes de todos os arquivos e diretórios que estão naquele onde você está agora)?- (guia) Eu fiquei sem opções, vamos primeiro. Pasta 1?
cd lon (Tab) -> pasta pasta nome longo, longo e longo- começou a digitar o nome da pasta e o próprio sistema substituiu o nome (daqueles que estão no diretório em que estamos).cd (Guia) (Guia) (Guia) - o sistema repete todos os arquivos / pastas no diretório atual.Isso é muito conveniente ao navegar na linha de comando. Não é necessário lembrar o nome exato da pasta, mas você pode lembrar a primeira letra ou duas, isso reduzirá o número de opções.Suba as escadas
Suba um nível:cd ..
Se você precisar aumentar dois níveis, entãocd ../..
E assim por diante ad infinitum =) Você pode usar um arquivo em um nível superior ou apenas alterar o diretório.Observe que o comando para Linux é diferente do comando para Windows - a barra é diferente. No Windows, é "cd .. \ ..", e no Linux, é "cd ../ ..".Veja também:Caminho do arquivo no linuxComo criar um diretório
Use o comando mkdir :mkdir test --- «test» ,
Você também pode criar uma pasta em outro local:mkdir /home/test --- «test» /home,
Quando é necessário? Por exemplo, se você precisar fazer backup de logs. Crie uma pasta e salve os logs necessários lá. Ou se você ler as instruções para instalar o software e ver "criar uma pasta" lá. Isso é feito dessa maneira através da linha de comando.Consulte também:Como criar um diretório no Linux usando o comando mkdirComo criar um arquivo
Comando de toque :touch app.log
Esse comando criará um arquivo vazio com o nome "app.log". E então você pode abrir o arquivo no editor e editar.Como editar um arquivo
Aqui está a minha palavra: é melhor fazê-lo através da interface gráfica!Mas se não houver essa possibilidade, bem ... Se você usa programas que estão por toda parte, você tem duas opções:- nano é um programa mais simples desenvolvido para iniciantes
- vim - mais complexo, mas permite que você faça um monte de tudo
Vamos começar com o nano. Especifique o nome e o caminho do comando no arquivo:nano test_env.json
Use os botões de seta para percorrer o arquivo. Depois de terminar de editar o arquivo, clique em:- Ctrl + O - para salvar
- Ctrl + X - para sair
A melhor parte do nano são as dicas na parte inferior da tela que clicam para sair.
Mas com o vim, isso é mais complicado. É fácil entrar nele:vim test_env.json
vi test_env.json ( vim)
Conectado, mas como sair, ahhh? Aqui começa um leve pânico, porque nenhuma das combinações padrão funciona: Esc, ctrl + x, ctrl + q ... Se você possui um segundo laptop ou pelo menos um telefone / tablet com a Internet disponível, pode pesquisar no Google como sair do vim e se você tiver apenas uma janela com um terminal que você bloqueou com o editor?Eu compartilho um segredo, para sair você precisa digitar:- : q - fecha o editor
- : q! - feche o editor sem salvar (se algo foi alterado, simplesmente “: q” não funcionará)
Os dois pontos iniciam o modo de comando, e aí entramos no comando q (sair) .Inicialmente, quando abrimos o arquivo pelo vim, vemos seu conteúdo e abaixo das informações do arquivo:
Quando pressionamos os dois pontos, ele é impresso abaixo:
Se não for impresso, não entraremos em pânico! Em seguida, tente pressionar Esc (retornar ao modo normal), pressione Enter (confirme o comando) e digite novamente. Ah, ajudou, saímos de lá !!!De fato, agora nem tudo é tão assustador. Mesmo se você foi enviado para trabalhar em um banco em que não tem acesso à Internet e fez login no vi e não sabe como sair, sempre pode sair do telefone. Glória à Internet móvel! Bem, se você souber a senha de login do servidor, basta fechar o terminal e abri-lo novamente.Se você precisar sair, salvando as alterações, use o comando:w — ;
:q — ;
Bem, sobre as opções de edição, consulte os artigos abaixo =)Veja também:Como editar arquivos no Ubuntu - mais sobre as diferentes maneirasComo usar o editor de texto do vim - mais sobre o vim e todas as suas opçõesComo sair do editor do Vi ou Vim? - por que pressionar EscComo transferir / copiar arquivo
Suponha que temos no diretório / opt / app / log é app.log , que queremos preservar em outro lugar. Como transferir o log para o local certo, se não houver interface gráfica, apenas a linha de comando?Copiar arquivo
Equipe:cp _ _
Se estivermos no diretório / opt / app / log :cp app.log /home/olga
Neste exemplo, usamos o caminho relativo para "o que copiar" - já estamos perto do log, então apenas o pegamos. E para "onde copiar", usamos o caminho absoluto - copiar para / home / olga .Você pode renomear imediatamente o arquivo:cp app.log /home/olga/app_test_2020_03_08.log
Nesse caso, pegamos app.log e o colocamos na pasta / home / olga , renomeando app_test_2020_03_08.log . Mas você nunca sabe quantos logs você já possui nesta pasta. Para distinguir entre eles, é possível dar um nome mais abrangente ao arquivo.Se já houver um arquivo com o mesmo nome no arquivo “para onde copiar”, o sistema não solicitará nada, simplesmente o substituirá. Por exemplo, coloque o arquivo “app.log” na pasta de log dentro do diretório inicial , que já está lá: sem erros, o sistema acabou de executar o comando. Veja também: Copiando arquivos no linux
Copiar diretório
O comando permanece o mesmo, "cp", apenas a tecla R é usada - "copiar pasta recursivamente":cp -r __ ___
Por exemplo:cp /opt/app/log /home/olga
Assim, no diretório / home / olga aparecerá a pasta "log" .Mover arquivo
Se você precisar mover o arquivo, e não copiá-lo, em vez de cp (copy), usamos mv (move) .cp app.log /home/olga
↓
mv app.log /home/olga
Você pode usar caminhos relativos e absolutos:mv /opt/app/logs/app.log /home/olga — ,
Você pode renomear imediatamente o arquivo:mv app.log /home/olga/app_2020_03_08.log — /home/olga
Mover diretório
Semelhante à movimentação de um arquivo, o comando mvmv /opt/app/log/ /home/olga/bakup/
Como excluir um arquivo
Usando o comando rm (remove) :rm test.txt — test.txt
Se você precisar excluir todos os arquivos no diretório atual (por exemplo, limpamos os logs antigos antes de reinstalar o aplicativo), use "*":rm * —
Se você precisar excluir a pasta, adicione o sinalizador -r (recursivo) :rm -r test_folder
Se você estiver tentando excluir arquivos que já são usados no programa ou somente leitura, o sistema perguntará novamente:
Agora imagine que você está limpando muitos arquivos. E solicita cada sistema, e você deve responder constantemente "sim, sim, sim ..." (y - digite, y - digite, y - digite) ... Para excluir tudo sem questionar, use o sinalizador -f (force) :rm -rf test_folder ---
Mas lembre-se de que este é um time muito perigoso! É assim que você se cansa de confirmar a exclusão e digita "-rf" e especifica o diretório incorretamente ... Bem, é isso, desculpe, adeus aos arquivos que você precisa. Tenha cuidado com este comando, especialmente se você tiver privilégios de root!A opção -v mostra os nomes dos arquivos a serem excluídos:rm -rfv test_folder --- ,
Aqui você pode pelo menos perceber o que fez)))Veja também:Como remover o diretório LinuxComo alterar o proprietário do arquivo
Se você tiver acesso root, provavelmente executará todas as ações nele. Bem, ou muitos ... E então qualquer arquivo criado, qualquer pasta pertencerá ao usuário root.Isso é ruim, porque ninguém mais pode trabalhar com eles. Mas você pode criar o arquivo como root e, em seguida, alterar seu proprietário usando o comando chown.
Digamos que estou aumentando o serviço testbase . E ele deve ter acesso ao diretório do usuário e ao arquivo test.txt em outro diretório. Como ninguém mais precisa desses arquivos, e eu os criei na raiz, apenas alterei o proprietário:chown testbase:testbase test.txt —
chown -R testbase:testbase user —
Como resultado, foi o proprietário do root e tornou-se testbase . O que você precisa!Veja também:Comando chown do LinuxComo instalar o aplicativo
Se você está acostumado com o Windows, para instalar o aplicativo, faça o download de um determinado arquivo de instalação, inicie e aperte "próximo, próximo, além" todo o caminho. No Linux, tudo é um pouco diferente. Aqui os aplicativos são entregues como pacotes. E para cada sistema existe um gerenciador de pacotes:- yum - chapéu vermelho, centos
- dpkg, apt - debian
Veja também:5 melhores gerenciadores de pacotes do Linux para iniciantes no LinuxVamos dar uma olhada em um exemplo de como isso funciona. Usar a linha de comando é muito conveniente para trabalhar com o Midnight Commander (mc) - é como o FAR no Windows. Infelizmente, o programa está longe de estar sempre em uma distribuição "limpa".E, assim, você elevou a máquina virtual no centos 7, deseja ligar para Midnight Commander, mas que chatice.mc
Tudo bem, instale este aplicativo via yum:yum install mc
Ele fará algo lá, fará o download e depois esclarecerá se você concorda em colocar o programa em vista de seu tamanho. Se sim, imprima “y”:
E o sistema termina a instalação.Isso é tudo! Não é chato "mais, mais, mais", disse "instalar", o programa foi instalado! Agora, se você digitar “mc” na linha de comando, o Midnight Commander inicia:
Veja também:Como instalar programas LinuxYum, cábula - todos os tipos de opções e pluginsComo executar o aplicativo
Alguns aplicativos executam scripts. Por exemplo, para iniciar o servidor de aplicativos WildFly, você precisa ir para a pasta bin e executar standalone.sh lá . Um arquivo com a extensão .sh é um script.Para executar o script, você precisa especificar o caminho completo para ele:/opt/cdi/jboss/bin/standalone.sh — standalone.sh
É importante! Mesmo se você estiver na pasta onde está o script, ele não será encontrado se você simplesmente especificar o nome do script sh. É necessário escrever assim:./standalone.sh — ,
A pesquisa é apenas em diretórios gravados na variável PATH. Portanto, se o script for usado com frequência, adicione o caminho e chame simplesmente pelo nome:standalone.sh --- standalone.sh, PATH
Consulte também:Executando o script sh no Linux - mais sobre scripts.
Se o aplicativo iniciar como um serviço, será ainda mais fácil:service test start — «test»
service test stop —
Para que o serviço de teste seja iniciado automaticamente quando o sistema reiniciar, use o comando:chkconfig test on
Ela adicionará o serviço à execução automática.Como entender onde o aplicativo está instalado
Por exemplo, para integrar Jenkins e newman ao Jenkins, você deve especificar o caminho completo para o newman no parâmetro PATH. Mas como fazer isso se newman foi instalado automaticamente através do comando install? E você já esqueceu qual caminho de instalação ele trouxe? Ou você não apostou?Para descobrir onde o aplicativo foi instalado, use whereis (sem espaço):whereis newman

Como criar um arquivo morto
O utilitário padrão que funcionará mesmo em um sistema simples é o tar. É verdade que, para usá-lo, você precisa se lembrar das bandeiras. Para criar um arquivo morto , a combinação padrão do cvzf :tar -cvzf archive.tar.gz /home/test
Neste exemplo, compilamos o diretório / home / test , no qual havia duas imagens - 502.jpg e 504.jpg .Para desembalar, altere a bandeira "c" para "x" e remova "z":tar -xvf archive.tar.gz
Embora o sistema escreva que descompactou “/ home / test” , na verdade a pasta “test” aparece onde estamos agora.Vamos ver o que todas essas bandeiras significam:- c - criar arquivo no linux
- x - extrai arquivos do arquivo
- v - mostrar informações detalhadas sobre o processo de trabalho (sem ele, não veríamos quais arquivos foram compactados / descompactados)
- f - arquivo para gravar o arquivo
- z - compressão
Para embalagem, use a opção c - C reate e para desembalar o x - e X tract.
Se você realmente deseja usar o rar, precisa expulsar. A instalação não funcionará através do yum:yum install rar
yum install unrar
Diz que não existe esse pacote:No package rar available.
Error: Nothing to do
Tem que completar um monte de equipes! Primeiro, baixe, descompacte e compile:wget http://rarlabs.com/rar/rarlinux-x64-5.4.0.tar.gz
tar xzf rarlinux-x64-5.4.0.tar.gz
cd rar
make install
Instalar:mkdir -p /usr/local/bin
mkdir -p /usr/local/lib
cp rar unrar /usr/local/bin
cp rarfiles.lst /etc
cp default.sfx /usr/local/lib
E aplique:unrar x test.rar
Consulte também:Instale o RAR no LinuxComo visualizar comandos usados anteriormente
Então, digamos que você executou algumas ações complexas. Ou nem você, mas um desenvolvedor ou administrador! Algo quebrou para você, um colega entrou, deslizou para dentro e para fora com canetas, magia - funciona. O que ele fez? É interessante!Ou talvez você tenha escrito um comando longo e agora precise repeti-lo. Canetas de novo? Relutância! Além disso, existem assistentes:↑ ( «») —
history — 1000
Se você precisar "relaxar", é mais fácil rolar pela seta. Uma vez pressionado - o sistema mostrou o último comando. Clicou novamente - o penúltimo. E assim por diante até 1.000 vezes (porque é isso que é armazenado no histórico).
O grande bônus é que o Linux mantém um histórico mesmo quando você reinicia o console. Isso não é o que acontece no Windows - você copiou o texto, copiou outro e o primeiro já está perdido. E quando você reinicia o sistema, em geral, tudo se perde.Se você não quiser cutucar a flecha ou houver comandos há muito tempo, poderá imprimir o "histórico" e estudar cuidadosamente os comandos.Consulte também:Linux Command History - mais sobre os recursos do históricoComo ver o espaço livre
Quanto espaço livre em discodf -h
Quanto pesa o diretóriodu -sh
du -sh * ---
Como descobrir o IP de um computador
Se você configurou nomes DNS, você está conectado à máquina Linux usando-os. É mais fácil lembrar - é a base de teste, é construída ... Mas às vezes você só precisa de IP. Por exemplo, se uma conexão DNS funciona apenas dentro da rede de trabalho e um colega deseja se conectar de casa, é isso que os endereços IP especificam.Para descobrir o IP de uma máquina, use o comando:hostname -I
Você também pode usar o ifconfig :ifconfig — , IP
ip a — , Ifconfig ,
Consulte também:Exibindo endereços IP privadosComo descobrir a versão do sistema operacional
Você está sentado no cliente em uma máquina Linux. Tentando instalar algo - não funciona. Suba o google e os métodos de instalação são diferentes para diferentes sistemas operacionais. Mas como entender o que está instalado nesta máquina?Use o comando:cat /etc/*-release
O CentOs 7. está instalado nesta máquina virtual.Se você precisar de uma versão do kernel:uname -a
Veja também:Como descobrir a versão do LinuxComo descobrir como uma equipe funciona
Se você não sabe como o comando funciona, sempre pode perguntar ao sistema usando o comando man interno:man ls
Você pode fechar o manual usando a tecla q. Pela primeira vez em um console Linux, isso não é óbvio e não há dicas em todos os lugares.O comando é conveniente, pois você nem precisa sair da linha de comando, obtém imediatamente todas as informações. Além disso, essa é sempre uma informação relevante . E o que você pesquisa no Google é desconhecido =))Embora seja mais fácil para mim, pessoalmente, pesquisar no Google algum comando, pois dessa maneira receberei uma descrição do russo + primeiro as bandeiras mais importantes (e pode haver muitas). Mas eu sou novo no Linux, essa é uma abordagem para iniciantes. E é melhor aprender imediatamente a aumentar a habilidade de pesquisar pelo homem. É muito útil para você para tarefas mais complexas!Se o programa não possuir man, use o sinalizador -h (--help) :ls -h
Como criar muitas pastas e arquivos de teste
Digamos que temos uma certa pasta de teste. Crie cem diretórios nele e um monte de arquivos em cada um:mkdir -p test/dir--{000..100}
touch test/dir--{000..100}/file-{A..Z}
Isso é tudo, então você pode brincar com eles!
Agora explicações:- mkdir - cria um diretório
- toque - crie um arquivo (ou modifique um arquivo existente, mas se não houver um arquivo com o mesmo nome, o comando criará um novo e vazio)
E as expressões entre parênteses desempenham o papel de uma função que é executada em loop e faz o trabalho manual para você:- {000..100} - percorra todos os números de 0 a 100
- {A..Z} - percorrerá todas as letras do alfabeto inglês de A a Z
Como eu tentei esse comando. No começo, olhei onde estava:$ pwd
/home/test
O caractere $ na descrição dos comandos indica o início da linha em que escrevemos o comando. Portanto, separamos o que inserimos (pwd) da resposta do sistema (/ home / test).Sim, no diretório inicial. Crie uma sandbox para mim:mkdir olga
Aqui nele vou criar!mkdir -p olga/dir--{000..100}
touch olga/dir--{000..100}/file-{A..Z}
E então você pode verificar o que aconteceu:cd olga
ls -l
Algo assim! IMHO, comandos úteis.Eu os encontrei na linha de comando do Linux. The Complete Guide ” , eles são usados para criar uma sandbox para analisar o comando find . Eu, como o autor, admiro o poder da linha de comando neste caso. Apenas duas linhas e quanta dor traria para criar uma estrutura semelhante através de uma interface gráfica!E, mais importante, é útil para o testador - pode ser útil para testes.Como testar IOPS no Linux
Isso é muito útil se o cliente lhe der um carro. Existem exatamente SSDs? E eles dão boas idéias? Se você estiver desenvolvendo um aplicativo de servidor e precisar suportar a carga, precisará ter certeza de que os discos foram fornecidos a você de acordo com o ToR.Nosso aplicativo usa ativamente o disco. Portanto, se o cliente deseja ver bons resultados na carga, queremos ver bons resultados no desempenho das próprias unidades.
Mas você não pode confiar nos administradores do outro lado com a palavra. Se o aplicativo for lento, eles dirão que estão indo bem, que eles são os culpados. Portanto, devemos testar os discos nós mesmos.
Vou falar sobre como testamos as unidades. Como verificar quantas IOPS eles emitem.
Usamos o utilitário fio - https://github.com/axboe/fio/releases .1) Faça o download da versão mais recente, descompacte, vá para o diretório Nos comandos abaixo, você precisa substituir "fio-3.19" pela versão atual da listacd /tmp
wget https://github.com/axboe/fio/archive/fio-3.19.tar.gz
tar xvzf fio-3.19.tar.gz
rm fio-3.19.tar.gz
cd fio-fio-3.19
2) Deve haver pacotes para montagemapt-get install -y gcc make libaio-dev | yum install -y make gcc libaio-devel
3) Nós coletamosmake
4) Teste./fio -readonly -name iops -rw=randread -bs=512 -runtime=20 -iodepth 32 -filename /dev/sda -ioengine libaio -direct=1
Quais devem ser os resultados:- O SSD médio lançado há 2-3 anos é de 50 mil IOPS.
- Novo Samsung 960 Pro, que fica em uma das glândulas de nosso escritório - 350 mil IOPS.
O frescor é determinado no momento da redação do artigo em 2017.Se houver 50 mil e o disco produzir muito menos, então:- não é um SSD;- existem atrasos na rede;- montado incorretamente;- Outra coisa ruim aconteceu com eles e vale a pena acionar o alarme.E é tudo?
Claro que não =))Também é útil examinar o comando find e expressões regulares. No mínimo, um testador precisa ser capaz de "pegar logs" - use grep. Mas isso já continua sendo uma disputa independente.A base sempre necessária é pwd, cp, mv, mkdir, touch . Você pode facilmente pesquisar o resto no Google assim que necessário.Aqui estão mais alguns links meus:Para entender a estrutura de pastas, recomendo o artigo “ Estrutura de pastas do SO Linux. Qual pasta é o que você precisa. O que e onde está o Linux "Livros e vídeos sobre o tema
Vídeo:Software GNU / Linux - vídeo aulas de George Kuryachy - muito boas aulas de vídeoLivros:linha de comando do Linux. William ShottsScott Granneman. Linux guia de bolsoOnde treinar
Você pode aumentar a máquina virtual. É verdade, aqui você primeiro precisa descobrir como aumentar amáquina virtual)))) Ou pode comprar uma máquina em nuvem. Quando eu precisava brincar com o Linux, fui ao SimpleCloud (ele foi um dos primeiros a pesquisar no Google e ele tem uma interface amigável. Mas você pode escolher qualquer analógico) e comprei o carro mais barato - por 150 rublos por mês. Um mês para os seus olhos "tocarem", e esta máquina com um mínimo de memória também.Certa vez, eu tinha um plano para pagar esses 150 rublos por dar acesso público ao carro. Mas infelizmente. Como não tentei incluí-lo (comandos fechados como ssh, ping etc.), não obtive êxito. Sempre há pessoas que não alimentam pão, vamos estragar o de outra pessoa. Compartilhar senhas? Você tem um ataque de ddos no seu servidor. Bem, o servidor está bloqueado. Depois do enésimo bloco, cuspi nessa coisa. Quem quer aprender, encontrará 150r.Para conectar à máquina, use as ferramentas:- Massa - linha de comando
- WinSCP - GUI
Veja também:WinSCP - o que é e como usá-lo