4

Comandos do terminal Linux

#Linux
G
Gabriel

Arquivos

touch - cria arquivos e modifica horários de arquivos existentes(horário de modificação e horário de acesso).   

ex:
   touch arquivo.txt
   touch -m arquivo.txt //altera o horário de modificação(última modificação do arquivo)
   touch -a arquivo.txt //altera o horário de acesso(quando foi acessado(lido) a última vez)


stat - obtém informações sobre um arquivo.

ex:
   stat arquivo.txt //por aqui pode-se ver também os horários do arquivo que o touch altera.


rm - remove um arquivo.

ex:
   rm arquivo.txt
   rm -r diretório //o argumento -r significa recursive, é útil para excluir diretórios não vazios.



cat - concatena arquivos e exibe seu conteúdo.

ex:
   cat arquivo.txt //para ler um arquivo
   cat arquivo1 arquivo2 //para concatenar dois arquivos


tac - funciona como o cat, porém exibe o conteúdo dos arquivos de cabeça para baixo.



grep - consulta padrões em arquivos. O uso mais comum é com outros comandos.

ex:
   cat listaDeFrutas.txt | grep "uva" //caso no arquivo tenha a palavra uva ele exibe a saída.
   ls | grep Java //verifica se a palavra Java aparece em algum arquivo ou diretório.



head - usado para ver as primeiras 10 linhas de um arquivo.

ex:
   head arquivo.txt
   head -n 20 arquivo.txt //para ver as 20 primeiras linhas



tail - usado para ver as últimas 10 linhas de um arquivo.

ex:
   tail arquivo.txt
   tail -n 20 arquivo.txt //para ver as últimas 20 linhas



nl - conta o número de linhas de um arquivo.

ex:
   nl arquivo.txt



wc - usado para contar caracteres de um arquivo, normalmente usado com "cat".

ex:
   cat arquivo.txt | wc -c //exibe a quantidade de caracteres do arquivo
   cat arquivo.txt | wc -l //exibe a quantidade de linhas do arquivo



diff - compara o conteúdo de dois arquivos.

ex:
   diff arquivo1.txt arquivo2.txt



echo - exibe uma mensagem na tela que pode ser redirecionada para um arquivo.

ex:
   echo "Ola mundo"
   echo "Novo arquivo" > arquivo.txt // cria o arquivo.txt caso não exista
                  ou substitui o conteúdo do original por "Novo arquivo" caso já exista.

   echo "Adiciona linha" >> arquivo.txt //cria o arquivo.txt caso não exista
                  ou adiciona "Adiciona linha" à última linha do arquivo caso já exista.

nano - editor de textos. Útil para fazer edições rápidas pelo terminal.

ex:
   nano arquivo.txt


------------------------------------------------------------------------------------------------------------------------------

Diretórios

ls - listar conteúdo de diretório.

ex:
   ls  
   ls -a //exibe tudo, incluindo arquivos e diretórios ocultos
   ls -l //exibe saída em formato de lista
   ls -la //combina os dois argumentos


pwd - exibe diretório atual.



mkdir - cria diretório.

ex:
   mkdir diretorio



rmdir - remove diretório.

ex:
   rmdir diretorio



cd - navega entre diretórios.

ex:
   cd /root //vai para o diretório root
   cd .. //retorna um diretório
   cd ~ //vai para o diretório home do atual usuário
   cd - //retorna para o diretório onde estava antes desse
        ex. está em /root e usa um "cd /var/www", depois usa "cd -", vai voltar para /root



tar - um arquivador de arquivos.

ex:
   tar -cf arquivos.txt.tar arqu1.txt arqu2.txt arqu3.txt //une todos os arquivos em arquivos.txt.tar
                           //vale lembrar que tar por si só não compacta arquivos,
                              isso pode ser visto dando um cat "arquivos.txt.tar",
                              onde é possível ver em texto claro o conteúdo dos 3 arquivos unidos.



clear - limpa o terminal.



------------------------------------------------------------------------------------------------------------------------------

Buscadores

find - procura por arquivos.

ex:
   find . -name "arqui23.txt" // procura a partir do diretório atual um arquivo com nome de "arqui23.txt"
   find / -type d -name "aaa" // procura a partir da raiz do sistema um diretório com nome de "aaa"
   find /root/ -name "file.txt" //procura por "file.txt" em root
   find /home/ -name "uva" -maxdepth 1 //procura por "uva" em home, com profundidade máxima igual a 1 a partir de "/home/",
               significa que se uva estiver em "/home/dire1/dire2/dire3/uva" não será encontrada,
                                    pois a busca só vai até "dire1".



locate - procura por arquivos.

ex:
   locate "arquivo.txt"



whereis - procura pelo binário dos comandos e também os manuais deles.

ex:
   whereis ls //consulta onde está o programa ls e também os manuais desse comando
   whereis pwd //o mesmo com pwd
   whereis whereis //o mesmo com whereis



------------------------------------------------------------------------------------------------------------------------------

Compactadores

gzip - compacta arquivo para .gz

ex:
   gzip arquivo.txt


gunzip - descompacta arquivo .gz

ex:
   gunzip arquivo.gz


zip - compacta arquivo para .zip

ex:
   zip arquivo.zip arquivo.txt


unzip - descompacta arquivo .zip

ex:
   unzip arquivo.zip


bzip2 - compacta arquivo para .bz2

ex:
   bzip2 arquivo.txt
   bzip2 -d arquivo.txt.bz //"bzip2 -d" serve para descompactar arquivos .bz2



bunzip2 - descompacta arquivo .bz2

ex:
   bunzip2 arquivo.txt.bz2


rar - compacta arquivo para .rar

ex:
   rar a arquivo.rar arquivo.txt // rar com o arqumento "a" de adicionar serve para criar o arquivo
   rar e arquivo.rar // com "e" de extrair serve para descompactar
   rar x arquivo.rar // serve para descompactar também


tar - tar pode ser usado para compactar para tar.gz e tar.bz2

ex:
   tar -xvzf arquivo.tar.gz // extrai um tar.gz
      -x //extrair
      -v //verbose(visualizar a saída do comando, não é obrigatório)
      -z //representa o gzip
      -f //depois de f deve vir o nome do arquivo a ser extraido

   tar -xvjf arquivo.tar.bz2 // extrai um tar.bz2
      -j //representa o bz2, é a única diferença entre extrair tar.gz e bz2, troca-se o z por j
//z = gzip
//j = bz2


------------------------------------------------------------------------------------------------------------------------------

Ganho de Informação

uname - exibe informaçoes do sistema.

ex:
   uname -a //exibe todas as informaçoes disponíveis para o comando
   uname -m //exibe a arquitetura do sistema(x86,x64...)
   uname -o //exibe o sistema operacional



whoami - exibe o nome do usuário.



hostname - exibe o nome do host.



id - exibe todos os ids do usuário(o id do usuário e o id de todos os grupos que o usuário faz parte)

ex:
   id //exibe todos os ids
   id -u //exibe apenas o id do usuário, omitindo os ids dos grupos



ps - exibe informações dos processos.

ex:
   ps aux //Uso mais comum, exibe todos os processos do sistema
   ps aux | grep "firefox" //exibe todos os processos que contenham "firefox" em algum campo



groups - exibe todos os grupos a qual o usuário pertence.



man - exibe o manual dos comandos.

ex:
   man ls //manual de ls
   man pwd //manual de pwd
   man cat //manual de cat



whatis - exibe a descrição do que o comando faz.

ex:
   whatis echo //exibe a descrição de echo
   whatis grep //exibe a descrição de grep
   whatis echo grep rmdir //exibe a descrição de echo grep e rmdir ao mesmo tempo

      Note que o que o whatis exibe é exatamente a mesma coisa exibida no campo "NAME" do comando "man",
         vale lembrar que alguns comandos podem ter mais de uma descrição




apropos - apropos funciona como o "whatis", porém em vez de consultar a descrição de um comando, ele consulta os comandos que contenham algum padrão na sua descrição.

ex:
   apropos "list" //exibe todos os comandos que possuam a palavra "list" em suas descrições
   apropos "create" //todos os comandos que possuam create..

      Apropos é útil em casos em que esquecemos o comando mas lembramos para o que ele serve



history - exibe o histórico dos comandos digitados no terminal.




ifconfig - exibe informações das interfaces de rede.

ex:
   ifconfig //exibe as informações de todas as interfaces
   ifconfig wlan0 //exibe as informações da interface wlan0



------------------------------------------------------------------------------------------------------------------------------

Desligar o Sistema


shutdown - desliga o sistema.

ex:
   shutdown //uso comum
   shutdown -r //reboot, reinicia o sistema



reboot - reinicia o sistema.




halt - para a máquina.

ex:
   halt //deixa a máquina inativa
   halt -p //desliga a máquina
   halt --reboot //reinicia a máquina



init 0 - desliga a máquina



------------------------------------------------------------------------------------------------------------------------------

Usuários e Grupos


addgroup - cria um grupo.

ex:
   addgroup novogrupo //cria o grupo "novogrupo"




adduser - cria um usuário.

ex:
   adduser tony //cria o usuário tony
   adduser tony avengers //coloca o usuário tony no grupo avengers



userdel - apaga um usuário do sistema.

ex:
   userdel tony //apaga o usuário tony
   userdel -r tony //apaga o usuário e a pasta do usuário do sistema



gpasswd - adiciona um usuário a determinado grupo.

ex:
   gpasswd -a usuario grupo //adiciona usuário ao grupo
   gpasswd -d usuario grupo //remove o usuário do grupo



passwd - muda a senha do usuário.



------------------------------------------------------------------------------------------------------------------------------

Permissões

chmod - altera permissão de arquivos.

ex:
   chmod 222 arquivo.txt //dá permissão de escrita para o usuário o grupo e outros.
   chmod 700 arquivo.txt //dá permissão de leitura escrita e execução para o usuário
   chmod 060 arquivo.txt //dá permissão de leitura e escrita para o grupo.
   chmod 001 arquivo.txt //dá permissão de execução para outros.
   chmod +x arquivo.txt //dá permissão de execução pra todo mundo.
   chmod -x arquivo.txt //tira permissão de execução de todo mundo.
   chmod +r arquivo.txt //dá permissão de leitura pra todo mundo.
      r = read/ler
      w = write/escrever
      x = execute/executar

      como pode ser visto em "ls -la" aparecem risquinhos e letras na frente dos arquivos,
      o primeiro risquinho representa se o arquivo é um diretório, se tiver um "d" em vez de "-" ele é,
      os outros representam as permissões do usuário do grupo e de "outros",
      com "-" representando a falta da permissão.

r=4 w=2 x=1  
___________________________
| Usuario|  Grupo | Outros |
|--------------|-------------|--------------|
| 4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
| r |w | x | r | w| x | r | w| x |
------------------------------------------




chown - altera relação entre arquivos, usuários e grupos.

ex:
   chown usuario arquivo.txt //muda o dono do arquivo
   chown usuario:grupo arquivo.txt //muda o dono do arquivo e o grupo do arquivo
   chown :grupo arquivo.txt //muda apenas o grupo do arquivo



------------------------------------------------------------------------------------------------------------------------------

Informações Adicionais

Informações sobre o uso de qualquer comando podem ser obtidas com o argumento "--help", bem como o uso do comando "man". Ex:

  • ls --help
  • adduser --help
  • man ifconfig


No linux variáveis podem ser criadas e depois utilizadas com o uso do caractere especial '$'. Ex:

  • variavel="Uma frase qualquer"
  • echo $variavel

echo irá exibir o conteúdo de "variavel".

Assim como é possível criar variáveis o sistema possui as variáveis nativas dele, que são as variáveis de ambiente, as principais são:

$HOME $PATH $SHELL $USER

elas podem ser vistas com o comando "env" ou é possível ver o conteúdo delas com "echo $PATH" ou "echo $SHELL", etc...

home contém o caminho do diretório home, shell contém o caminho do shell em uso, user contém o usuário e path contém os caminhos dos diretórios onde ficam comandos. PATH é importante porque sem ele não é possível acessar os comandos diretamente, assim em vez de apenas digitar um "ls" no terminal teríamos que digitar "/bin/ls" todas as vezes que quiséssemos usar o comando.


Outra coisa importante são os caracteres especiais:

  • <
  • >
  • &&
  • &
  • |
  • .
  • ..


< é redirecionador de entrada, serve para direcionar conteúdo de arquivos para comandos. Ex:

  • cat < arquivo.txt

cat irá exibir o conteúdo de arquivo, pois está sendo direcionado para ele.


> é redirecionador de saída, serve para direcionar a saída dos comandos para arquivos. Ex:

  • echo "aaa" > arquivo.txt

echo irá gravar a cadeia de caracteres "aaa" em arquivo.txt


&& serve para executar mais de um comando por vez. Ex:

  • ls && echo "o comando ls foi executado"


& serve para executar um programa em background, isso faz com que a saída do programa não seja exibida no terminal, mesmo ele estando em execução. Ex:

  • ./idea.sh &


| serve para direcionar a saída de um comando para outro comando, isso é muito visto em comandos como:

  • cat listaDeNomes.txt | grep "Bruce"


"." e ".." representam o diretório em que estamos e o diretório anterior ao que estamos. Ex:

Estando no diretório /home/usuario/java/

ao executar um "ls ." estamos nos referindo ao próprio diretório, porém quando executamos um "ls .." o conteúdo de "/home/usuario/" é exibido, pois é o diretório anterior ao nosso.

0
61

Comentários (0)

None

Brasil