Escolar Documentos
Profissional Documentos
Cultura Documentos
Apostila Comandos Shell Bash PDF
Apostila Comandos Shell Bash PDF
Índice
Primeiros Comandos Básicos.............................................................................................................................. 3
man ................................................................................................................................................................. 3
clear................................................................................................................................................................. 3
date...................................................................................................................................................................3
cal.....................................................................................................................................................................3
pwd.................................................................................................................................................................. 3
Comandos de navegação......................................................................................................................................3
cd..................................................................................................................................................................... 3
ls...................................................................................................................................................................... 3
Comandos de visualização de arquivos............................................................................................................... 4
cat ....................................................................................................................................................................4
more................................................................................................................................................................. 5
less................................................................................................................................................................... 5
Editores de textos................................................................................................................................................ 5
vi...................................................................................................................................................................... 5
Comandos de Manipulação de Arquivos e Diretórios.........................................................................................7
cp..................................................................................................................................................................... 7
mv.................................................................................................................................................................... 7
mkdir................................................................................................................................................................8
rmdir................................................................................................................................................................ 8
rm ....................................................................................................................................................................9
du .................................................................................................................................................................... 9
ln...................................................................................................................................................................... 9
find.................................................................................................................................................................10
tar................................................................................................................................................................... 10
Comandos de gerenciamento do sistema...........................................................................................................11
df....................................................................................................................................................................11
free ................................................................................................................................................................ 11
w.................................................................................................................................................................... 12
who................................................................................................................................................................ 12
whoami.......................................................................................................................................................... 12
Outros comandos de bash.................................................................................................................................. 12
grep................................................................................................................................................................ 13
| (pipe)............................................................................................................................................................ 13
; (ponto e virgula).......................................................................................................................................... 14
> .................................................................................................................................................................... 14
>>...................................................................................................................................................................14
< .................................................................................................................................................................... 15
2>................................................................................................................................................................... 15
head................................................................................................................................................................15
tail.................................................................................................................................................................. 15
wc...................................................................................................................................................................16
sort................................................................................................................................................................. 16
Primeiros Comandos Básicos
man
Manual de comandos. Mostra um pequeno manual de cada comando existente relatando a sua
funcionalidade, parâmetros e exemplos.
Sintaxe: man comando
Exemplo: man ls
clear
Limpa a tela
Sintaxe: clear
Exemplo clear
date
Imprime a data e hora do sistema. Somente o superusuário pode alterar a data e hora do sistema
Sintaxe: date
Exemplo: date
cal
Exibe o calendário do mês atual
Sintaxe: cal [ano]
Exemplo: cal 2005
pwd
Retorna a sua posição na arvore de diretórios
Sintaxe: pwd
Exemplo: pwd
Comandos de navegação
cd
Faz a navegação na árvore de diretórios.
Sintaxe:
cd Φ [diretório]
onde:
diretório - diretório em que deseja entrar.
Exemplos:
Usando cd sem parâmetros ou cd ~, você retornará ao seu diretório de usuário (diretório $HOME).
cd /, retornará ao diretório raiz.
cd -, alterna entre os dois últimos diretórios acessados.
cd .., volta um nível na árvore de diretórios.
cd ../[diretório], volta um diretório e entra imediatamente no próximo (por exemplo, quando você está em /usr,
você digita cd ../etc, o comando cd retorna um diretório (volta pra raiz, / ) e entra imediatamente no diretório etc (/etc).
ls
Lista o conteúdo de um diretório.
Sintaxe:
ls Φ [opções] Φ [caminho/diretório]
Onde:
opções é opcional e pode ser:
-a: lista todos os arquivos incluindo os ocultos (no sistema Linux um arquivo começado com ponto é um
arquivo oculto. Ex: .bash_profile)
-d: lista somente os diretórios
-l: mostra a saída longa ou detalhada de um arquivo/diretório. Ele inclui na sua listagem informações como
lista de permissões, data de modificação, donos, grupos, etc.
Uma listagem feita com o comando ls -la normalmente é mostrada da seguinte maneira:
1
Se for um diretório, mostra a quantidade de subdiretórios existentes dentro dele. Caso seja um arquivo, será 1.
João
Nome do dono do arquivo teste.
user
Nome do grupo a que o arquivo teste pertence.
89
Tamanho do arquivo (em bytes).
Jul
Mês da criação/ última modificação do arquivo.
14
Dia em que o arquivo foi criado.
10:00
Hora em que o arquivo foi criado/modificado. Se o arquivo foi criado há mais de um ano, em seu lugar é mostrado o
ano da criação do arquivo.
teste
Nome do arquivo.
Exemplo:
cat Φ /etc/passwd
cat Φ piadas.txt
more Φ [caminho/]arquivo
Exemplo:
more Φ /etc/passwd
more Φ piadas.txt
less
É um visualizador de arquivos com recurso de paginação e mais controles. O less é chamado de visualizador mais
“confortável” e por isso é mais utilizado.
Sintaxe:
less Φ [caminho/]arquivo
Comandos do less:
Exemplos:
less Φ /etc/passwd
less Φ piadas.txt
Editores de textos
vi
O vi é o editor de texto padrão dos sistemas UNIX.
O vi tem dois modos de funcionamento:
• Inserção
• Comando
Tal como é sugerido, o modo de inserção permite a inserção de texto. O modo de comando permite a navegação e a
edição do texto: saltar para linhas, mover o cursor ao longo do texto, eliminar caracteres ou linhas, substituição, etc
Modos
h ou esquerda
l ou direita
k ou cima
j ou baixo
nk n linhas para cima
nj n linhas para baixo
b palavra anterior
w palavra seguinte
0 início da linha
$ fim da linha
ctrl -f ou PgDn avançar uma tela
ctrl -b ou PgUp retroceder uma tela
1G ou gg 1ª linha
G última linha
nG n-ésima linha
Edição
Outros Comandos
:w Salva sem sair
:wq Salva e sai
:q Sai sem salvar
/ Procura por um texto
n Repete a ultima procura
N Repete a ultima procura na direção oposta
Onde:
Para obter mais opções e/ou mais explicações sobre este comando digite man Φ cp.
Exemplos:
• cp Φ piadas.txt Φ copia_piadas.txt
Gera uma cópia do arquivo piadas no diretório corrente do usuário com o nome copia_piadas.txt
• cp Φ /etc/passwd Φ .
Copia o arquivo passwd que se encontra dentro do diretório /etc para dentro do diretório corrente em que você se
encontra.
• cp Φ /etc/passwd Φ /home/joao/
Copia o arquivo passwd que se encontra dentro do diretório /etc para dentro do diretório pessoal do usuário João com
o mesmo nome da origem.
mv
Este comando tem a função de mover e/ou renomear arquivos ou diretórios.
Sintaxe:
mv Φ <origem_do_arquivo> Φ <destino_do_arquivo>
Exemplos:
• mv Φ /home/joao/piadas.txt Φ /home/joao/disciplinas/piadas.txt
Move o arquivo piadas do diretório pessoal do usuário João para o subdiretório disciplinas com o mesmo nome da
origem.
• mv Φ /home/joao/piadas.txt Φ /home/joao/sorrisos.txt
mkdir
Cria diretórios no sistema. O diretório pode ser entendido como uma pasta onde você guarda seus papéis (arquivos).
Sintaxe:
onde:
caminho/ : Localização do diretório que se deseja criar. Se omitido, assume que o diretório será criado no
diretório atual.
nome_do_diretorio : É o nome do diretório que o usuário deseja criar.
opções:
-p : Cria uma estrutura ligada de diretórios.
Exemplos:
• mkdir Φ aula
Cria vários diretórios de uma só vez no diretório corrente. Basta colocar os nomes seguidos de espaço.
• mkdir Φ -p Φ dir1/dir2/dir3/dirN
Cria uma estrutura de diretórios dentro do diretório corrente. Neste comando será criado o dirN dentro do dir3, o dir3
dentro do dir2, o dir2 dentro do dir1 e o dir1 dentro do diretório corrente em que o usuário se encontra.
rmdir
Apaga diretórios vazios. Caso o diretório contenha algum arquivo, este comando não funcionará.
Sintaxe:
opções:
-p : Apaga uma estrutura ligada de diretórios.
Exemplos:
• rmdir Φ aula
Apaga vários diretórios de uma só vez no diretório corrente. Basta colocar os nomes seguidos de espaço.
• rmdir Φ -p Φ dir1/dir2/dir3/dirN
Apaga uma estrutura de diretórios dentro do diretório corrente. Neste comando será apagado o dirN dentro do dir3, o
dir3 que está dentro do dir2, o dir2 que esta dentro do dir1 e o dir1 que está dentro do diretório corrente em que o
usuário se encontra.
rm
Remove arquivos do sistema. Também pode ser usado para apagar diretórios e subdiretórios vazios ou que
contenham arquivos.
Atenção: após apagar um arquivo ou diretório não há como recuperá-lo, por isto use este comando com muita
atenção.
Sintaxe:
rm Φ[opções] Φ [caminho/]nome_do_arquivo
onde:
caminho/ : Localização do arquivo que deseja apagar. Se omitido, assume que o arquivo esteja no diretório
atual.
nome_do_arquivo : É o nome do arquivo que o usuário deseja apagar.
opções:
-i : Remoção interativa. Pede confirmação antes de apagar algum arquivo.
-f : Remoção forcada.
-r : Usado para remover arquivos em subdiretórios. Esta opção também pode ser usada para remover
subdiretórios.
Exemplos:
rm Φ teste.txt - Apaga o arquivo teste.txt no diretório atual.
rm Φ *.txt - Apaga todos os arquivos do diretório atual que terminam com .txt.
rm Φ a*.txt - Apaga todos os arquivos do diretório atual que começam com a letra a e terminam com a
extensão .txt
rm Φ -r Φ/tmp/teste - Apaga todos os arquivos e subdiretórios de dentro do diretório /tmp/teste e também o
subdiretório /tmp/teste.
du
Mostra o espaço ocupado por arquivos e subdiretórios do diretório atual.
Sintaxe:
du Φ [opções]
onde:
opções :
-a: Mostra o espaço ocupado por todos os arquivos.
-b: Mostra o espaço ocupado em bytes.
-m: Mostra o espaço ocupado em Mbytes.
-k: Mostra o espaço ocupado em Kbytes.
-h: Mostra o espaço ocupado em formato legível por humanos (Kb, Mb) em vez de usar blocos.
-s: Mostra o espaço ocupado de forma resumida.
Exemplos:
du Φ -h
du Φ -sh
du Φ -ah
ln
É utilizado na criação de links(atalhos).
Links são apontamentos para o conteúdo de arquivos ou diretórios. Dessa maneira podem haver vários
ponteiros para o mesmo conteúdo. Podemos criar um "link hard" ou "link symbolic". A diferença é que o primeiro trata-
se de uma "cópia espelho" do arquivo original, possuindo uma cópia do conteúdo além de apontar para o original.
Assim, qualquer alteração feita no conteúdo do arquivo estará automaticamente atualizada nos links, como se fosse
um espelho. O segundo, o symbolic, é realmente apenas um ponteiro, um atalho como você conhece no sistema
Windows, para o arquivo original.
Sintaxe:
Exemplos:
• ln Φ -s Φ /etc/httpd/conf/access.conf Φ /home/joao/access.link
Cria um link simbólico para o arquivo Access.conf dentro do diretório pessoal do João.
find
Localiza arquivos/diretórios dentro da estrutura de diretórios do Linux.
Sintaxe:
onde:
nome_arquivo/expressão : Nome do arquivo ou expressão que deseja encontrar no sistema.
diretório_para_procura : O diretório inicial onde começará a procura.
opção:
-name : para indicar que deverá ser adotado o critério nome do arquivo para a procura.
-size [num] : para indicar que deverá ser adotado o critério tamanho do arquivo para a procura. O
[num] é o tamanho que deseja procurar. Pode ser antecedido dos sinais + ou - para especificar um arquivo maior ou
menor que [num].
Exemplos:
Procura dentro dos subdiretórios e no diretório /etc por arquivos com nome igual a passwd.
Procura dentro dos subdiretórios e no diretório /usr por arquivos que contenham a extensão .tar.gz.
tar
Compactador descompactador de arquivos:
Compactar:
tar cvfz nome.tar.gz arquivo1 arquivo2 arquivoN
Descompactar
tar xvfz nome.tar.gz
Visualizar
tar tvfz nome.tar.gz
Exemplos: tar cvfz bkp.tar.gz /etc/passwd /etc/issue /etc/group
tar tvfz bkp.tar.gz
tar xvfz bkp.tar.gz
Sintaxe:
df Φ [opções]
onde:
opções:
-a : Mostra todas as partições ativas (all)
-h: Mostra as informações da partição incluindo os rótulos de KB,MB e GB (human-readable)
-k : Lista em Kbytes.
-m : Lista em Mbytes.
Exemplos:
df
df Φ -h
free
Sintaxe:
free Φ [opções]
onde:
opções:
-b : lista em Bytes
-k : Lista em Kbytes.
-m : Lista em Mbytes.
Exemplos:
free
free Φ -m
Mostra quem está logado no seu sistema no momento e o que está fazendo.
Sintaxe:
w Φ [opções]
onde:
-h: Não mostra o cabeçalho das colunas
-s: Usa o formato curto para a saída.
Exemplos:
w
w Φ -s
who
Mostra quem está atualmente conectado no computador. Este comando lista os nomes de usuários que estão
conectados em seu computador, o terminal e data da conexão e de qual IP foi feita a conexão.
Sintaxe:
who
whoami
Mostra o nome que usou para se conectar ao sistema. É útil quando você usa várias contas e não sabe com qual
nome entrou no sistema. Isso é meio surrealista mas acontece
whoami
Onde:
Palavra: Palavra ou frase que será procurada no texto. Se tiver mais de 2 palavras você deve identifica-la com aspas ""
caso contrário o grep assumirá que a segunda palavra é o arquivo!
arquivo: Arquivo onde será feita a procura.
opções:
-a [número] : Mostra o [número] de linhas antes e depois da palavra encontrada pelo grep.
-A [número] : Mostra o [número] de linhas após a palavra encontrada pelo grep.
-B [número] : Mostra o [número] de linhas antes da palavra encontrada pelo grep.
-i : Ignora diferença entre maiúsculas e minúsculas da palavra procurada no arquivo.(ignore-case)
-n : Mostra o número de cada linha encontrada pelo grep (line-number).
--color : Mostra a palavra pesquisada de cor diferente, em destaque
-r : Localiza uma palavra em todos os arquivos de um dado diretório mostrando o arquivo e a linha onde apareceu a
palavra
-rl: Localiza uma palavra em todos os arquivos de um dado diretório mostrando apenas o arquivo onde apareceu a
palavra
Exemplos:
grep Φ capitulo Φ texto.txt
Localiza a palavra capitulo dentro do arquivo texto.txt e numera as linhas onde a palavra foi encontrada
Localiza a palavra capitulo, escrita em maiúscula ou em minúscula, dentro do arquivo texto.txt e ainda numera as
linhas onde a palavra foi encontrada
Mostra duas linhas antes e depois da palavra capitulo encontrada no arquivo texto.txt
| (pipe)
Envia a saída de um comando para a entrada do próximo comando para continuidade do processamento.
Os dados do primeiro comando são processados e enviados para o próximo comando que processará as informações
e mostrará o resultado. Com o conectivo |(pipe) os comandos tornam-se dependentes uns dos outros.
Sintaxe:
Exemplos:
ls Φ -l Φ /etc Φ | Φ more
ls Φ -l Φ | Φ grep Φ http
cat Φ texto.txt Φ | Φ grep Φ capitulo
; (ponto e virgula)
O sinal de ponto e vírgula executa um comando após o outro e os dois não se relacionam. Com o conectivo ;(ponto e
virgula) os comandos tornam-se independentes uns dos outros.
Sintaxe:
Exemplos:
cd Φ /tmp Φ ; Φ ls Φ -l
cp Φ /tmp/a.txt Φ ; Φ mv Φ a.txt Φ b.txt Φ ; Φ cat b.txt
>
Redireciona a saída de um comando para um arquivo especificado, inicializando-o caso não exista ou destruindo seu
conteúdo anterior.
Exemplos:
• ls Φ -l Φ > Φ listagem.txt
Joga a listagem detalhada do diretório corrente para dentro de um arquivo chamado listagem.txt. Caso não exista será
criado automaticamente e caso já exista será apagado o seu conteúdo anterior.
Joga a frase “oi isto é um teste” para dentro do arquivo listagem.txt. Caso não exista o arquivo, este será criado
automaticamente e caso já exista será apagado o seu conteúdo anterior.
>>
Redireciona a saída de um comando para um arquivo especificado, anexando-o ao seu fim. Caso este arquivo não
exista, será criado.
Exemplos:
• ls Φ -l Φ >> Φ listagem.txt
Joga a listagem detalhada do diretório corrente para dentro de um arquivo chamado listagem.txt. Caso não exista é
criado automaticamente e caso já exista é anexado no final do arquivo a saída do ls.
Joga a frase “oi isto é um teste” para dentro do arquivo listagem.txt. Caso não exista o arquivo, este será criado
automaticamente e caso já exista será anexada no final do arquivo a frase.
<
Direciona a entrada padrão de arquivo/dispositivo para um comando. Este comando faz o contrário do anterior, ele
envia dados ao comando.
Exemplo:
• cat Φ < Φ texto.txt
Envia o conteúdo do arquivo texto.txt ao comando cat que mostrará seu conteúdo (é claro que o mesmo resultado
pode ser obtido com cat Φ texto.txt mas este exemplo serviu para mostrar a funcionalidade do <).
2>
Redireciona os erros gerados por um comando para o arquivo especificado. Mesmo que não ocorram erros na
execução do comando, o arquivo será criado.
Exemplo:
Neste comando ele irá procurar o arquivo passwd no diretório /etc e havendo qualquer saída de erro ele enviará para /
dev/null, ou seja, para o buraco negro, onde tudo se perde e nada volta.
head
Mostra as X linhas iniciais de um arquivo texto.
Sintaxe:
Onde:
-numero: É a quantidade de linhas iniciais que você deseja que sejam mostradas.
Exemplos:
head Φ -20 Φ /etc/passwd
tail
Mostra as X linhas finais de um arquivo texto.
Sintaxe:
Onde:
-numero: É a quantidade de linhas finais que você deseja que sejam mostradas.
Exemplo:
tail Φ -20 Φ /etc/passwd
wc
Conta o número de palavras, bytes e linhas em um arquivo ou entrada padrão. Se as opções forem omitidas, o wc
mostra a quantidade de linhas, palavras e bytes.
Sintaxe:
wc Φ [opções] Φ [caminho/]arquivo
Opções:
-c : Mostra os bytes do arquivo.
-w : Mostra a quantidade de palavras do arquivo.
-l : Mostra a quantidade de linhas do arquivo.
Exemplos:
wc Φ /etc/group - Mostra a quantidade de linhas, palavras e letras (bytes) no arquivo /etc/group.
wc Φ -w Φ /etc/group - Mostra a quantidade de palavras.
wc Φ -l Φ /etc/group - Mostra a quantidade de linhas.
wc Φ -lw Φ/etc/group - Mostra a quantidade de linhas e palavras no arquivo /etc/group.
sort
Organiza as linhas de um arquivo texto ou da entrada padrão em ordem crescente ou decrescente. A organização é
feita por linhas e as linhas são divididas em campos que é a ordem que as palavras aparecem na linha separadas por
um delimitador.
Opções:
-b : Ignora linhas em branco.
-f : Ignora a diferença entre maiúsculas e minúsculas.
-r : Inverte o resultado da comparação. Ordem decrescente por exemplo.
-n : Organiza os números em ordem numérica e não em ordem alfabética como é o default
-t caracter : Usa caracter como delimitador durante a organização de linhas. Por padrão é usado um espaço em
branco como delimitador de caracteres.
-k num1 : Determina qual coluna será tomada como padrão para a ordenação
Exemplos:
sort Φ texto.txt - Organiza o arquivo texto.txt em ordem crescente
ls -l | sort -fk 8 - O ls –l gera uma listagem detalhada e o sort –fk 8 ordenada pelo nome do arquivo ignorando
maiúsculo e minúsculo.