---
# System prepended metadata

title: Conceitos Básicos GNU/Linux

---

# Conceitos Básicos GNU/Linux

Os comandos Linux são usados para enviar pedidos ao terminal Linux, também conhecido como Shell. O objetivo do terminal é receber esses comandos, de forma semelhante ao Prompt de comando ou Powershell do Windows e ao Terminal do MacOS, e repassá-los ao sistema operacional, executando as ações solicitadas.  Por meio do terminal, é possível realizar modificações no sistema de forma semelhante ao que fazemos utilizando a interface gráfica, porém com mais agilidade e poderes. Contudo, vale lembrar que você deve tomar cuidado ao executar comandos no terminal, já que ele pode realizar modificações drásticas  no sistema.



# Caminho absoluto e relativo

Um caminho absoluto é baseado na raiz da árvore e começa com /, por exemplo: /home/usuario/<pasta>/<arquivo>. Ele permanece válido em qualquer contexto (desde que ainda esteja no mesmo sistema da mesma máquina).

    
Um caminho relativo é a priori relativo ao diretório atual onde o usuário está localizado. Um caminho que começa com algo diferente de / ou ~ é um caminho relativo. Esta noção de posicionamento depende do contexto, mas no Linux você geralmente é encontrado por padrão em seu diretório pessoal, que é /home/<nome do usuário>. Em um terminal, você pode navegar de um diretório para outro com o comando cd.
    
# SSH 
    
SSH (Secure Socket Shell) é um protocolo de rede que permite aos usuários acessar e gerenciar servidores pela internet. 
    
## 1. Comando pwd

Use o comando **pwd** para visualizar o caminho do diretório atual (da pasta) em que você está. O comando vai retornar um caminho completo (cheio), que é basicamente um caminho que começa com uma barra inclinada (/). Um exemplo de um caminho completo é /home/username.
```
pwd
```

## 2. Comando cd

Para navegar pelo filesystem do Linux, use o comando **cd**. Ele requer ou um caminho completo ou o nome de um diretório, dependendo do diretório atual em que você estiver.

Vamos dizer que você esteja em /home/username/Documents e quer ir para Photos, um subdiretório de Documents. Para fazer isso, simplesmente digite cd Photos.

Outro cenário em que você quer mudar completamente de diretório, digamos, para /home/username/Movies. Nesse caso, você tem que digitar cd seguido pelo caminho absoluto do diretório.

```
Navegar pelos diretórios:
cd "home/documentos1/documentos2"

Voltar para diretório anterior:
cd ..
cd "home/diretorio1"
```

## 3. Comando ls

O comando ls é usado para visualizar conteúdos em um diretório. Por padrão, esse comando vai mostrar os conteúdos apenas do diretório atual em que você estiver.

```
Visualizar conteúdos no diretório documentos2:
ls
```

## 4. Comando mkdir

Use o comando mkdir para criar um novo diretório

```
mkdir "nome_diretorio"
```

## 5. Comando rmdir

Se você precisa apagar (deletar) um diretório, use o comando rmdir. Porém, o rdmir só permite que você apague diretórios vazios (sem conteúdos).

```
rmdir "nomeDiretorio"
```
## 6. Comando RM

O comando rmdir é ótimo para remover diretórios não usados e vazios de forma segura. Se você quer remover arquivos ou diretórios que contém arquivos, você deve usar o comando rm.

Nota: Tenha muito cuidado com este comando e sempre verifique duas vezes em qual diretório você está. Isso irá deletar tudo e não há opção para desfazer.

```
rm article.txt

rm -rf Dir1
```


## 7. Comando touch

O comando touch permite criar novos arquivos em branco através de uma linha de comando.

```
touch "arquivo1"
```


## Comando ping

Use o comando ping para verificar o status da conexão do seu servidor. O comando vai checar se você está ou não conectado e também medir o tempo de resposta.

```
ping www.globo.com
```

## Comando history

Quando você já estiver familiarizado com o Linux, vai perceber que você pode executar centenas de comandos todos os dias. Por exemplo, o comando history (histórico) é particularmente útil se você quer rever quais comandos já usou antes.

```
history
```

## Comando cat

O cat (abreviação para concatenar) é um dos comandos Linux mais usados. Ele é usado para visualizar o conteúdo de um arquivo na saída.

```
cat "nome_arquivo
```
## Comando cp

Use o comando cp para copiar arquivo do diretório atual em que você estiver.

```
cp "arquivo1 /home/diretorio1"
```

## Comando mv

O usuário habitual do comando mv é mover arquivos, ainda que ele possa também ser usado para renomear arquivos.

```
mv "arquivo1 /home/diretorio1"
```
Já para renomear arquivos.

```
mv "arquivo1 arquivo2"
```
## Comando uname

O comando uname, que significa Unix Name, vai mostrar informações detalhadas sobre seu sistema Linux. Isso inclui o nome da máquina, do sistema operacional, do kernel e assim por diante.

```
uname
```
## Comando top

Equivalente ao gerenciador de Tarefas do Windows, o comando top vai mostrar uma lista de processos que estão em execução e o quanto de CPU cada processo usa. É muito útil para monitorar o uso de espaço no sistema, especialmente para saber qual processo deve ser encerrado porque ele consome muitos recursos. 

```
top
```




## Comando wget

Baixar arquivos da internet com a ajuda do comando wget. Para fazer isso, simplesmente digite wget seguido pelo link de download do arquivo.

```
wget "link_arquivo"
```

## Comando ps

comando ps em Linux nos permite obter informações sobre o estado dos processos que estão sendo executados no momento. Estas informações são visualizadas na saída padrão do sistema. É uma ferramenta poderosa para o administrador do sistema, que com ele pode obter muitas informações valiosas para compreender o que está ocorrendo com a máquina em um dado instante. 

```
ps -axu 
```
## Comando echo

echo é um dos comandos embutidos mais comumente usados para Linux bash e shells C, que normalmente são usados em linguagem de script e arquivos em lote para exibir uma linha de texto / string na saída padrão ou em um arquivo.

```
echo 
```

## Comando sleep

Podemos forçar a espera de um certo período de tempo entre a execução de comandos no Linux usando o comando sleep. Este é um comando muito útil em scripts do shell, por exemplo, nos quais podem haver diversas tarefas que devam ser executadas após um certo período de tempo especificado.

```
sleep "10"
```

## Criar usuários no linux

```
sudo adduser nome
```
## Excluir usuário

```
sudo userdel nome
```
## Adicionar grupo

```
sudo addgroup rh
```
## Deletar Grupo

```
sudo delgroup rh
```

## 8. Pesquisa sobre Estrutura De Diretórios Do Linux


```

1.Pesquise sobre estruturas de diretórios no linux.
2.Inicializar a máquina Centos.
3.Dentro de cada diretório criar um arquivo de texto explicando sobre o diretório.

Exemplo: Dentro do diretório /etc, criar um arquivo com nome “pesquisa-etc”.
Dentro do arquivo deve ter uma explicação com suas palavras referentes aos 
diretórios que foram pesquisados.
Observação: É necessário um arquivo para cada diretório.

```



## Configurar placa de rede

Endereço do arquivo de configuração:

* /etc/sysconfig/network-scripts
* Editar arquivo "ifcfg-enp0s3"
* /etc/resolv.conf
* /etc/init.d/network restart
```
## Autocompletando nomes de arquivos e pastas

O console pode autocompletar o nome de um arquivo ou pasta para que você economize o teclado. 

## Tipos de usuários

Separação de privilégios é algo fundamental para a segurança de qualquer sistema operacional seja ele um servidor ou um computador pessoal. O Linux faz este papel muito bem não permitindo que nenhum usuário padrão execute tarefas que podem afetar a segurança do sistema como um todo (com exceção do superusuário – root).

