Sumário
Atualmente, ao trabalhar com o Linux, você pode se comunicar com o sistema quase sem necessitar de um interpretador de linha de comando (o shell). Após inicializar seu sistema Linux, normalmente você é direcionado a uma interface gráfica que o guia através do processo de login e as interações seguintes com o sistema operacional. A interface gráfica no Linux (o X Window System ou X11) é inicialmente configurada durante a instalação. Ambas as áreas de trabalho, KDE e GNOME (e outros gerenciadores de janelas que você pode instalar), utilizam-na para interação com o usuário.
Mesmo assim, é útil ter algum conhecimento básico sobre como trabalhar com um shell porque você pode enfrentar situações nas quais a interface gráfica não está disponível. Por exemplo, se ocorrer algum problema com o X Window System. Se você não estiver familiarizado com um shell, pode se sentir um pouco desconfortável num primeiro momento quando digitar comandos, mas quanto mais você se acostuma, mais você irá perceber que a linha de comando é, frequentemente, o modo mais rápido e fácil de realizar algumas tarefas diárias.
Vários shells diferentes estão disponíveis para UNIX ou Linux, diferenciando-se levemente no comportamento e nos comandos que aceitam. O shell padrão em openSUSE® é o Bash (GNU Bourne-Again Shell).
As seguintes seções irão guiá-lo em seus primeiros passos no Bash shell e irão mostrar como completar algumas tarefas básicas através da linha de comando. Se você estiver interessado em aprender mais ou já for um “usuário avançado” do shell, consulte Capítulo Bash and Bash Scripts (↑Guia de Referência).
Basicamente, existem dois modos diferentes de se iniciar um shell a partir da interface gráfica que normalmente aparece depois que você inicializar seu computador:
você pode deixar a interface gráfica ou
você pode iniciar uma janela de terminal dentro da interface gráfica.
Enquanto a primeira opção está sempre disponível, você pode usar a segunda opção somente quando você iniciar uma sessão em uma área de trabalho como KDE ou GNOME.
Se você deseja tentar, pressione Ctrl+Alt+F2 para sair da interface gráfica. A interface gráfica desaparece e você é levado a um shell com um prompt de login. Digite seu nome de usuário e pressione Enter. Então, digite sua senha e pressione Enter. O prompt agora é alterado e exibe algumas informações úteis como no seguinte exemplo:
![]()
![]()
tux@linux:~>
Seu login. | |
O nome de máquina do seu computador. | |
Caminho para o diretório atual. Logo após o login, o diretório atual normalmente é seu diretório pessoal, indicado pelo símbolo |
Quando você está conectado a um computador remoto, as informações fornecidas através da linha de comando sempre exibem o sistema no qual você está atualmente trabalhando.
Quando o cursor está localizado atrás desta linha de comando, você pode enviar comandos diretamente ao seu sistema. Por exemplo, você pode digitar ls -l para listar o conteúdo do diretório atual usando um formato detalhado. Se isto é o bastante para o seu primeiro encontro com o shell e você deseja retornar à interface gráfica, você deve primeiro terminar sua sessão. Para fazer isso, digite exit e pressione Enter. A seguir, pressione Alt+F7 para retornar à interface gráfica. Você encontrará sua área de trabalho e aplicações sendo executadas sem alterações.
Quando você já possuir uma sessão iniciada na área de trabalho GNOME ou KDE e quiser iniciar uma janela de terminal dentro da área de trabalho, pressione Alt+F2 e digite konsole (para KDE) ou gnome-terminal (para GNOME). Isto abre uma janela de terminal em sua área de trabalho. Como você já possui uma sessão ativa, linha de comando exibe informações sobre seu sistema como descrito acima. Você pode digitar comandos e executar tarefas como em qualquer shell que é executado paralelamente em sua área de trabalho. Para trocar para outra aplicação em sua área de trabalho, apenas clique na janela da aplicação correspondente ou selecione-a a partir da barra de tarefas em seu painel. Para fechar a janela de terminal pressione Alt+F4.
Tão logo que a linha de comando apareça no shell, ela está pronta para receber e executar comandos. Um comando consiste em vários elementos. O primeiro elemento é o comando propriamente dito, seguido por parâmetros ou opções. Você pode digitar um comando e editá-lo usando as seguintes teclas: ←, →, Home, End, <— (Backspace), Del, e Space. Você pode corrigir erros de digitação ou adicionar opções. O comando não é executado até que você pressione Enter.
![]() | Nenhuma Notícia é Uma Boa Notícia |
|---|---|
O shell não é detalhado: ao contrário de algumas interfaces gráficas, ele normalmente não apresenta mensagens de confirmação quando os comandos foram executados. Mensagens só aparecem em caso de problemas ou erros — ou se você pediu explicitamente por isso executando um comando com uma certa opção. Também tenha isso em mente para comandos que realizam a exclusão de objetos. Antes de executar um comando como rm (sem nenhuma opção) para remover um arquivo, você deve saber se realmente deseja dar um fim no objeto: ele será excluído de modo irreversível, sem confirmação. | |
Em Seção 6.3.1, “Permissões para Usuários, Grupos e Outros” você já aprendeu um dos comandos mais básicos: ls. é usado para listar o conteúdo de um diretório. Este comando pode ser usado com ou sem opções. Digitar o comando ls sem opções exibe o conteúdo do diretório atual:
tux@knox:~> ls bin Desktop Documentos public_html tux.txt tux@knox:~>
Como foi visto em Seção 6.2.1, “Recursos Chave”, os arquivos no Linux podem ter uma extensão de arquivo ou sufixo, como em .txt, mas isso não é necessário. Isto torna difícil a diferenciação entre arquivos e pastas nesse formato de saída do comando ls. Por padrão, as cores no shell Bash lhe fornecem uma dica: os diretórios são normalmente exibidos em azul e os arquivos, em preto.
Um modo melhor de obter mais detalhes sobre o conteúdo de um diretório é usar o comando ls com uma string de opções. As opções modificam o modo como um comando é executado, de forma que você possa realizar tarefas específicas. As opções são separadas do comando com um espaço em branco e normalmente são prefixadas com um hífen. O comando ls -l exibe o conteúdo do mesmo diretório com maiores detalhes (formato de listagem longa):
tux@knox:~> ls -l drwxr-xr-x 1 tux users 48 2006-06-23 16:08 bin drwx---r-- 1 tux users 53279 2006-06-21 13:16 Área de Trabalho drwx------ 1 tux users 280 2006-06-23 16:08 Documentos drwxr-xr-x 1 tux users 70733 2006-06-21 09:35 public_html -rw-r--r-- 1 tux users 47896 2006-06-21 09:46 tux.txt tux@knox:~>
Esta saída exibe as seguintes informações sobre cada objeto:
drwxr-xr-x1
tux
users
48
2006-06-23 16:08
bin
![]()
Tipo de objeto e permissões de acesso. Para mais informações, consulte Seção 6.3.1, “Permissões para Usuários, Grupos e Outros”. | |
Números de links rígidos para este arquivo. | |
Proprietário do arquivo ou diretório. Para mais informações, consulte Seção 6.3.1, “Permissões para Usuários, Grupos e Outros”. | |
Grupo atribuído ao arquivo ou diretório. Para mais informações, consulte Seção 6.3.1, “Permissões para Usuários, Grupos e Outros”. | |
Tamanho do arquivo em bytes. | |
Data e hora da última alteração. | |
Nome do objeto. |
Normalmente você pode combinar várias opções apenas prefixando somente a primeira opção com um hífen e então escrever as outras consecutivamente, sem espaço em branco. Por exemplo, se você deseja ver todos os arquivos em um diretório num formato de listagem longo, você pode combinar as duas opções -l e -a (exibir todos os arquivos) para o comando ls. A execução de ls -la também exibe arquivos ocultos no diretório, indicados por um ponto-final (por exemplo, .arquivo_oculto).
A lista dos conteúdos obtida com ls é ordenada alfabeticamente pelo nome do arquivo. Mas, como em um gerenciador de arquivos gráfico, você pode ordenar a saída de ls -l de acordo com vários critérios, como data, extensão de arquivo ou tamanho do arquivo:
Para data e hora, use ls -lt (exibe o mais novo primeiro).
Para extensões, use ls -lx (exibe arquivos sem extensão primeiro).
Para tamanho de arquivo, use ls -lS (exibe o maior primeiro).
Para inverter a ordenação, adicione -r como uma opção ao seu comando ls. Por exemplo, ls -lr lhe fornece a lista de conteúdo ordenada em ordem alfabética inversa, ls -ltr exibe os arquivos mais antigos primeiro. Existem muitas outras opções úteis para o comando ls. Na seção seguinte você aprenderá como investigá-las.
Ninguém precisa saber todas as opções de todos os comandos de cabeça. Se você se lembra do nome do comando mas não tem certeza quanto às opções ou sintaxe do comando, escolha uma das seguintes possibilidades:
--help opção
Se você deseja somente ver as opções de um determinado comando, experimente digitar o nome do comando seguido de um espaço e --help. Esta opção --help existe para muitos comandos. Por exemplo, ls --help exibe todas as opções para o comando ls.
Para aprender mais sobre os diversos comandos, você também pode usar as páginas man. As páginas man também fornecem uma descrição pequena da funcionalidade do comando. Elas podem ser acessadas com man seguido do nome do comando, por exemplo, man ls.
As páginas man são exibidas diretamente no shell. Para navegar dentro delas, movimente o cursor para cima e para baixo com Page ↑ e Page ↓. Vá para o início ou o final de um documento com Home e End. Finalize este modo de visualização pressionando Q. Aprenda mais sobre o comando man com man man.
Páginas info normalmente fornecem mais informações sobre comandos. Para ver a página info de um determinado comando, digite info seguido do nome do comando, por exemplo, info ls. Você pode navegar em uma página info com um visualizador diretamente no shell e exibir diferentes seções, chamadas “nós”. Use Space para movimentar-se para frente e <— para mover-se para trás. Dentro de um nó, você também pode navegar com Page ↑ e Page ↓, mas somente Space e <— levará você ao nó anterior ou seguinte. Como as páginas man, pressione Q para finalizar o modo de visualização.
Note que as páginas man e info não existem para todos os comandos. Algumas vezes ambas estão disponíveis, normalmente para comandos-chave. Outras, somente uma página man ou uma página info existe e ainda, existem casos nos quais nenhuma delas está disponível.
Depois de ter digitado vários comandos, o seu shell começará a encher-se com toda a sorte de comandos e saídas correspondentes. Encontre na seguinte tabela algumas teclas de atalho úteis para navegação e edição no shell.
|
Tecla de atalho |
Função |
|---|---|
|
Ctrl+L |
Limpa a tela e movimenta a linha atual até o topo da página. |
|
Ctrl+C |
Cancela o comando que está atualmente sendo executado. |
|
Shift+Page ↑ |
Rola a tela para cima. |
|
Shift+Page ↓ |
Rola a tela para baixo. |
|
Ctrl+U |
Remove a partir da posição do cursor até o início da linha. |
|
Ctrl+K |
Remove a partir da posição do cursos até o final da linha. |
|
Ctrl+D |
Fecha a sessão shell. |
|
↑, ↓ |
Navega no histórico dos comandos executados. |
Para referenciar um determinado arquivo ou diretório você deve especificar o caminho correspondente. Como você deve saber do MS DOS ou Mac OS, existem dois modos de se especificar um caminho:
Digite o caminho inteiro a partir do diretório raiz até o arquivo ou diretório relevante.
Digite um caminho para o arquivo ou diretório relevante utilizando o diretório atual como ponto de partida. Isto implica em explicitar os níveis que devem ser percorridos no sistema de arquivos para alcançar o diretório ou arquivo de destino, iniciando a partir do diretório atual.
Caminhos contêm nomes de arquivos, diretórios ou ambos, separados por barras. Caminhos absolutos sempre iniciam com uma barra. Caminhos relativos não possuem uma barra no início, mas podem ter um ou dois pontos.
Ao digitar comandos você pode escolher qualquer modo de especificar um caminho, dependendo de suas preferências ou a quantidade de caracteres digitados. Ambos levam ao mesmo resultado. Para mudar de diretório, use o comando cd e especifique o caminho do diretório.
![]() | Lidando com Espaços em Branco em Nomes de Arquivos ou Diretórios |
|---|---|
Se um nome de arquivo ou de diretório contém um espaço, utilize uma barra invertida para escapá-lo ( | |
Ao especificar caminhos, os seguintes “atalhos” podem livrá-lo de digitação em excesso:
O símbolo til (~) é um atalho para diretórios pessoais. Por exemplo, para listar o conteúdo de seu diretório pessoal, use ls ~. Para listar o conteúdo do diretório pessoal de outro usuário, digite ls ~ (logicamente, isto só funcionará se você possuir permissão para visualizar o conteúdo. Veja Seção 6.3, “Permissões de Acesso a Arquivos”). Por exemplo, digitar ls ~tux listará o conteúdo do diretório pessoal do usuário usuário tux. Você pode usar o símbolo til como um atalho para diretórios pessoais também se você estiver trabalhando em um ambiente de rede, onde seu diretório pessoal pode não ser /home, mas pode estar mapeado para qualquer diretório no sistema de arquivos.
A partir de qualquer lugar no sistema de arquivos você pode acessar seu diretório pessoal digitando cd ~ ou simplesmente digitandocd sem opções.
Ao utilizar caminhos relativos, referencie o diretório atual com um ponto (.). Isso é útil principalmente para comandos como cp ou mv, através dos quais você pode copiar ou mover arquivos e diretórios.
O próximo nível mais alto na árvore é representado por dois pontos (..). Para acessar o diretório pai de seu diretório atual, digite cd ... Para subir dois níveis acima do diretório atual, digite cd ../.. e assim por diante.
Para aplicar seu conhecimento, encontre alguns exemplos abaixo. Eles focam tarefas básicas que talvez você queira realizar com arquivos ou pastas usando o Bash.
Suponha que você queira copiar um arquivo localizado em algum lugar de seu diretório pessoal para um subdiretório de /tmp que é preciso criar primeiro.
Procedimento 7.1. Criando e Alterando Diretórios
A partir do seu diretório pessoal, crie um subdiretório em /tmp:
Tecla Enter
mkdir /tmp/test
mkdir significa “make directory” (criar diretório). Esse comando cria um novo diretório de nome teste no diretório /tmp. Nesse caso, você está usando um caminho absoluto para criar o diretório teste.
Para verificar o que aconteceu, digite
ls -l /tmp
O novo diretório teste deve aparecer na lista de conteúdo do diretório /tmp.
Acesse o novo diretório com
cd /tmp/teste
Procedimento 7.2. Criando e Copiando Arquivos
Agora crie um novo arquivo em um subdiretório de seu diretório pessoal e copie-o para /tmp/teste. Use um caminho relativo para esta tarefa.
![]() | Sobrescrevendo Arquivos Existentes |
|---|---|
Antes de copiar, mover ou renomear um arquivo, verifique se seu diretório de destino já contém um arquivo com o mesmo nome. Caso contenha, considere mudar um dos nomes de arquivo ou use cp ou mv com opções como | |
Para listar o conteúdo de seu diretório pessoal, digite
ls -l ~
Ele deve conter um subdiretório chamado Documentos por padrão. Se não, crie este subdiretório com o comando mkdir já conhecido:
mkdir ~/Documentos
Para criar um novo arquivo vazio chamado myfile.txt no diretório Documentos, digite
touch ~/Documents/meuarquivo.txt
Normalmente, o comando touch atualiza as datas de modificação e acesso para um arquivo existente. Se você utilizar o comando touch com um nome de arquivo que não existe em seu diretório destino, ele cria um novo arquivo.
Tecla Enter
ls -l ~/Documentos
O novo arquivo deve aparecer na lista de conteúdo.
Para copiar o novo arquivo criado, digite
cp ~/Documents/meuarquivo.txt .
Não esqueça o ponto no final.
Este comando informa ao Bash para ir até seu diretório pessoal e copiar meuarquivo.txt do subdiretório Documentos para o diretório atual, /tmp/teste, sem modificar o nome do arquivo.
Verifique o resultado digitando
ls -l
O arquivo meuarquivo.txt deve aparecer na lista de conteúdo para /tmp/teste.
Procedimento 7.3. Renomeando e Removendo Arquivos ou Diretórios
Agora suponha que você deseja renomear meuarquivo.txt para arquivotux.txt. E então, você decide remover o arquivo renomeado e o diretório teste.
Para renomear o arquivo, digite
mv meuarquivo.txt arquivotux.txt
Para verificar o que aconteceu, digite
ls -l
Ao invés de meuarquivo.txt, arquivotux.txt deve aparecer na lista de conteúdo.
mv significa mover e é usado com duas opções: a primeira especifica a fonte e a segunda, o destino da operação. Você pode usar mv
para renomear um arquivo ou um diretório,
para mover um arquivo ou diretório para uma nova localização ou
para fazer ambos em um passo.
Se chegar à conclusão de que você não precisa mais do arquivo, você pode excluí-lo digitando
rm arquivotux.txt
O bash exclui o arquivo sem confirmação alguma.
Suba um nível com cd .. e verifique com
ls -l teste
se o diretório teste está vazio agora.
Em caso afirmativo, você pode remover o diretório teste digitando
rmdir teste
Como você aprendeu em Seção 6.1, “Conceito de Usuário”, algumas tarefas no Linux necessitam de permissões de root, caso contrário elas não podem ser realizadas.
Para tornar-se root temporariamente em um shell, proceda como descrito a seguir:
Digite su. A senha de root será requisitada.
Digite a senha. Se você errou a senha de root, o shell exibe uma mensagem. Neste caso, você precisa digitar novamente su antes de digitar novamente a senha. Se sua senha estiver correta, um símbolo hash # aparece no final do prompt, assinalando que você é o root.
Execute sua tarefa. Por exemplo, transfira a propriedade de um arquivo para um novo usuário, o que somente o root pode fazer:
chown wilber kde_quick.xml
Depois de ter completado suas tarefas como root, retorne à sua conta normal. Para fazer isso, digite
sair
O símbolo hash desaparece e você está como um usuário “normal” novamente.
Alternativamente, você também pode usar sudo (superuser “do”) para executar algumas tarefas que normalmente estão disponível apenas para root. Com o sudo, administradores podem dar permissão root a usuários, privilégios para alguns comandos. Dependendo da configuração do sistema, os usuários podem executar comandos do root apenas digitando suas senhas normais. Devido a uma função de carimbo de data, os usuários possuem um “ticket” por um período de tempo após terem digitado sua senha. O ticket normalmente expira depois de alguns minutos. No openSUSE, o sudo necessita da senha de root por padrão (se não for configurado de outra forma pelo seu administrador de sistema).
Para usuários, o sudo é conveniente, prevenindo-o de trocar contas duas vezes (para root e de volta à conta comum). Para alterar o proprietário de um arquivo utilizando o sudo, somente um comando é necessário, ao invés de três:
sudo chown wilber kde_quick.xml
Depois que você digitar a senha exigida, o comando é executado. Se você digitar um segundo comando de root logo após, não será necessário digitar a senha novamente, porque seu ticket ainda é válido. Depois de um certo tempo, o ticket automaticamente expira e a senha é exigida novamente. Isto previne pessoas não autorizadas de ter privilégios root caso um usuário esqueça de retornar para sua conta normal e deixe um shell root aberto.
No Linux, objetos como arquivos ou pastas ou processos normalmente pertencem ao usuário que os criou ou iniciou. O grupo associado com um arquivo ou pasta depende do grupo primário ao qual o usuário pertence ao criar o objeto. Quando você cria um novo arquivo ou diretório, as permissões iniciais para esse objeto são definidas de acordo com um esquema pré-definido. Para mais detalhes, consulte Seção 6.3, “Permissões de Acesso a Arquivos”.
Como proprietário de um arquivo ou diretório (e como root), você pode alterar as permissões de acesso a esse objeto.
Para alterar os atributos de um objeto como permissões de acesso de um arquivo ou pasta, use o comando chmod seguido dos seguintes parâmetros:
os usuários para os quais alterar as permissões,
o tipo de permissão de acesso a remover, definir ou adicionar e
os arquivos ou pastas para as quais você deseja alterar as permissões separados por espaços.
Os usuários para os quais você pode alterar as permissões de acesso a arquivos se enquadram nas seguintes categorias: o proprietário do arquivo (user, u), o grupo proprietário do arquivo (group, g) e outros usuários (others, o). Você pode adicionar, remover ou definir uma ou mais das seguintes permissões: leitura, escrita ou execução.
Com root, você pode alterar o proprietário de um arquivo: com o comando chown (change owner) você pode transferir a propriedade para um novo usuário.
O seguinte exemplo exibe a saída do comando ls -l em um shell.
Exemplo 7.1. Permissões de Acesso para Arquivos e Pastas¶
-rw-r----- 1 tux users 0 2006-06-23 16:08 checklist.txt -rw-r--r-- 1 tux users 53279 2006-06-21 13:16 gnome_quick.xml -rw-rw---- 1 tux users 0 2006-06-23 16:08 index.htm -rw-r--r-- 1 tux users 70733 2006-06-21 09:35 kde-start.xml -rw-r--r-- 1 tux users 47896 2006-06-21 09:46 kde_quick.xml drwxr-xr-x 2 tux users 48 2006-06-23 16:09 local -r-xr-xr-x 1 tux users 624398 2006-06-23 15:43 tux.jpg
No exemplo acima, o usuário tux é dono do arquivo kde-start.xml e possui permissão de leitura e escrita, mas não pode executá-lo. O grupo users pode ler o arquivo mas não pode escrever ou executá-lo. O mesmo vale para os outros usuários como exibido no terceiro bloco de caracteres.
Procedimento 7.4. Alterando Permissões de Acesso
Suponha que você seja tux e deseja alterar as permissões de acesso a seus arquivos:
Se você deseja conceder ao grupo users permissão de escrita ao arquivo kde-start.xml, digite
chmod g+w kde-start.xml
Para conceder ao grupo users e a outros usuários permissão de escrita no arquivo kde-start.xml, digite
chmod go+w kde-start.xml
Para remover a permissão de escrita para todos os usuários, digite
chmod -w kde-start.xml
Se você não especificar nenhum tipo de usuário, as alterações são aplicadas para todos os usuários— o proprietário do arquivo, o grupo proprietário e outros. No momento, até o proprietário tux não possui permissão de escrita no arquivo sem antes restabelecer a permissão de escrita.
Para impedir que o grupo users e outros acessem o diretório local, digite
chmod go-x local
Para conceder a outros permissão de escrita em dois arquivos, para kde_quick.xml e gnome_quick.xml, digite
chmod o+w kde_quick.xml gnome_quick.xml
Procedimento 7.5. Alterando o Dono
Suponha que você seja tux e deseja transferir a propriedade do arquivo kde_quick.xml para outro usuário, digamos wilber. Nesse caso, proceda como a seguir:
Digite o usuário e senha para root.
Tecla Enter
chown wilber kde_quick.xml
Verifique o que aconteceu com
ls -l kde_quick.xml
Você deverá obter a seguinte saída:
-rw-r--r-- 1 wilber users 47896 2006-06-21 09:46 kde_quick.xml
Se o proprietário estiver definido como você deseja, retorne à sua conta de usuário normal.
Como você provavelmente notou nos exemplos acima, o uso de comandos no Bash pode envolver muita digitação. A seguir, conheça alguns recursos do Bash que podem tornar seu trabalho mais fácil e reduzir a digitação.
Por padrão, o Bash “lembra-se” dos comandos digitados. Este recurso é chamado histórico. Você pode navegar através dos comandos que foram digitados anteriormente, selecionar um comando que deseja repetir e executá-lo novamente. Para fazer isso, pressione ↑ repetidamente até que o comando desejado apareça no prompt. Para avançar na lista de comandos digitados anteriormente, pressione ↓. Para a repetição mais fácil de um determinado comando do histórico do Bash digite apenas a primeira letra do comando que você deseja repetir e pressione Page ↑.
Agora você pode editar o comando selecionado (por exemplo, alterar o nome de um arquivo ou caminho), antes de você executar o comando pressionando Enter. Para editar a linha de comando, simplesmente mova o cursor até a posição desejada utilizando as setas do teclado e inicie a alteração.
Você também pode pesquisar por um determinado comando no histórico. Pressione Ctrl+R para iniciar uma função de pesquisa incremental, exibindo o seguinte prompt:
(reverse-i-search)`':
Digite uma ou várias letras do comando que está sendo procurado. Cada caractere digitado restringe a pesquisa. O resultado correspondente à pesquisa é exibido à direita do ponto-e-vírgula, enquanto sua entrada aparece do lado esquerdo. Para aceitar um resultado da pesquisa, pressione Esc. O prompt retorna à sua aparência normal e exibe o comando escolhido. Você pode editá-lo ou executá-lo diretamente pressionando Enter.
A completação de um nome de arquivo ou diretório após digitar suas primeiras letras é outro recurso útil do Bash. Para fazer isso, digite as primeiras letras e pressione →| (tabulação). Se o nome do arquivo ou caminho puder ser unicamente identificado, será completado de uma vez só e o cursor irá mover-se para o final do nome do arquivo. Você pode então digitar a próxima opção do comando, se necessário. Se o nome do arquivo ou caminho não puder ser unicamente identificado (porque existem vários arquivos com nomes que iniciam com as mesmas letras), o nome do arquivo ou caminho será completado somente até quando se tornar ambíguo novamente. Você pode obter uma lista desses arquivos pressionando →| uma segunda vez. Após isto, você pode digitar as próximas letras do arquivo ou caminho e tentar completá-lo novamente pressionando →|. Ao completar nomes de arquivos e caminhos com a ajuda do →|, você pode simultaneamente verificar se o arquivo ou caminho que você deseja digitar realmente existe (e você pode ter certeza de que terá o nome correto).
Você pode substituir um ou mais caracteres em um nome de arquivo com um caractere curinga para expansão do nome de caminho. Caracteres curinga são caracteres que representam outros caracteres. Existem três tipos diferentes no Bash:
|
Caractere curinga |
Função |
|
|
Combina exatamente apenas um caractere arbitrário |
|
|
Combina qualquer número de caracteres |
|
|
Combina com apenas um dos caracteres do grupo especificado dentro dos colchetes, que é representado aqui pela string |
Os exemplos a seguir ilustram a utilização destes recursos úteis do Bash.
Procedimento 7.6. Utilizando o histórico e completação
Se você já realizou o exemplo Seção 7.3.1, “Exemplos para Trabalhar com Arquivos e Diretórios” o buffer do seu shell deve conter comandos que podem ser recuperados utilizando a função histórico.
Pressione ↑ repetidamente até que cd ~ apareça.
Pressione Enter para executar o comando e para retornar ao seu diretório home.
Por padrão, seu diretório home contém dois subdiretórios inciando com a mesma letra, Documentos e Desktop.
Digite cd D e pressione →|.
Nada acontece, já que o Bash não consegue identificar qual dos subdiretórios você deseja acessar.
Pressione →| novamente para ver a lista de escolhas possíveis:
tux@knox:~> cd D Desktop/ Documentos/ tux@knox:~> cd D
O prompt ainda exibe sua entrada inicial. Digite o próximo caractere do subdiretório que deseja acessar e pressione →| novamente.
O Bash agora completa o caminho.
Você pode agora executar o comando com Enter.
Procedimento 7.7. Usando caracteres curinga
Agora suponha que seu diretório home contém um número de arquivos com várias extensões. Ele também contém várias versões de um arquivo que você salvou com nomes diferentes meuarquivo1.txt, meuarquivo2.txt, etc. Você deseja pesquisar por certos arquivos de acordo com suas propriedades.
Primeiro, crie alguns arquivos de teste em seu diretório pessoal:
Use o comando touch para criar vários arquivos vazios com diferentes extensões de arquivo, por exemplo .pdf, .xml e .jpg.
Você pode fazer isto consecutivamente (não esqueça de usar o histórico do Bash) ou somente com um comando touch: simplesmente adicione vários nomes de arquivo separados por um espaço.
Crie no mínimo dois arquivos que possuam a mesma extensão de arquivo, por exemplo .html.
Para criar várias “versões” de um arquivo digite
touch meuarquivo{1..5}.txtEste comando cria cinco arquivos numerados consecutivamente:
meuarquivo1.txt,…,meuarquivo5.txt
Liste o conteúdo de seu diretório pessoal. Deve ser parecido com isto:
-rw-r--r-- 1 tux users 0 2006-07-14 13:34 foo.xml
-rw-r--r-- 1 tux users 0 2006-07-14 13:47 home.html
-rw-r--r-- 1 tux users 0 2006-07-14 13:47 index.html
-rw-r--r-- 1 tux users 0 2006-07-14 13:47 toc.html
-rw-r--r-- 1 tux users 0 2006-07-14 13:34 manual.pdf
-rw-r--r-- 1 tux users 0 2006-07-14 13:49 meuarquivo1.txt
-rw-r--r-- 1 tux users 0 2006-07-14 13:49 meuarquivo2.txt
-rw-r--r-- 1 tux users 0 2006-07-14 13:49 meuarquivo3.txt
-rw-r--r-- 1 tux users 0 2006-07-14 13:49 meuarquivo4.txt
-rw-r--r-- 1 tux users 0 2006-07-14 13:49 meuarquivo5.txt
-rw-r--r-- 1 tux users 0 2006-07-14 13:32 tux.png
Com a ajuda de caracteres curinga, selecione determinados subconjuntos de arquivos de acordo com vários critérios:
Para listar todos os arquivos com a extensão .html, digite
ls -l *.html
Para listar todas as “versões” de meuarquivo.txt, digite
ls -l meuarquivo?.txt
Note que você pode usar o caractere curinga ? aqui somente porque a numeração dos arquivos possui um único dígito. Tão logo você tenha um arquivo como meuarquivo10.txt você deve usar o caractere curinga * para ver todas as versões de meuarquivo.txt (ou adicione outro ponto de interrogação, de modo que sua string se pareça com meuarquivo??.txt).
Para remover, por exemplo, as versões de 1 até 3 e a versão 5 de meuarquivo.txt, digite
rm meuarquivo[1-3,5].txt
Verifique o resultado com
ls -l
De todas as versões de meuarquivo.txt, somente a versão meuarquivo4.txt deve existir.
Você também pode combinar vários caracteres curinga em apenas um comando. No exemplo acima, rm meuarquivo[1-3,5].* levaria ao mesmo resultado que rm meuarquivo[1-3,5].txt porque existem somente arquivos com a extensão .txt. disponíveis.
![]() | Usando caracteres curinga em comandos rm |
|---|---|
Caracteres curinga em comando rm podem ser muito úteis mas também perigosos: você pode excluir mais arquivos de seu diretório que o pretendido. Para ver quais arquivos serão afetados pelo comando rm, execute sua string de caracteres curinga com ls ao invés de rm. | |
Para editar arquivos na linha de comando, você precisa conhecer o editor vi. O vi é o editor padrão que pode ser encontrado em quase todos os sistemas UNIX/Linux. Ele pode operar em vários modos nos quais as teclas pressionadas possuem diferentes funções. Isso não o torna fácil para iniciantes, mas você deve conhecer pelo menos as operações mais básicas no vi. Podem existir situações nas quais nenhum outro editor além do vi esteja disponível.
Basicamente, o vi possui três modos de operação:
Nesse modo, o vi aceita determinadas combinações de teclas como comandos. Tarefas simples como pesquisa de palavras ou remoção de linhas podem ser executadas.
Neste modo você pode escrever textos.
Neste modo, também conhecido como modo dois-pontos (porque você precisa digitar dois-pontos para trocar para este modo), o vi pode executar tarefas mais complexas como pequisa e substituição de texto.
No exemplo (muito simples) a seguir, você aprenderá como abrir e editar um arquivo com o vi, como salvar suas alterações e sair do vi.
![]() | Exibição de Teclas |
|---|---|
A seguir, encontre vários comandos que você pode digitar no vi apenas pressionando teclas. Eles aparecem com letras maiúsculas, como em um teclado. Se você precisar digitar uma tecla em maiúscula, combine a tecla com o Shift. | |
Para criar e abrir um novo arquivo com o vi, digite
vi arquivodetexto.txt
Por padrão, o vi abre no modo de comando, no qual você não pode digitar texto.
Pressione I para entrar no modo de inserção. A última linha é alterada e indica que você pode, agora, inserir texto.
Escreva algumas frases. Se você deseja inserir uma nova linha, primeiro pressione Esc para retornar ao modo de comando. Pressione O para inserir uma nova linha e retornar ao modo de inserção novamente.
No modo de inserção, você pode editar o texto com as setas do teclado e Del.
Para sair do vi, pressione Esc para entrar no modo de comando novamente. Então, pressione :, que o levará ao modo estendido. A última linha agora exibe um sinal de dois-pontos.
Para sair do vi e salvar suas alterações, digite wq (w para escrever - write -; q para sair - quit -) e pressione Enter. Se você deseja salvar o arquivo com um nome diferente, digite w nome do arquivo e pressione Enter.
Para sair do vi sem salvar, digite q! e pressione Enter.
O Bash lhe oferece vários comandos para pesquisar arquivos e pesquisar conteúdo em arquivos:
Este utilitário está disponível somente se você instalou o pacote findutils-locate. Com este comando você pode encontrar o diretório no qual um arquivo específico se encontra. Se desejar, use caracteres curinga para especificar nomes de arquivos. O programa é muito rápido porque usa um banco de dados criado especificamente para o propósito, ao invés de executar a pesquisa no sistema de arquivos inteiro. Este fato, no entanto, também resulta em uma desvantagem: o locate fica impossibilitado de encontrar qualquer arquivo criado depois da última atualização de seu banco de dados. O banco de dados pode ser gerado pelo root executando o comando updatedb.
Com o comando find, pesquise por um arquivo em um dado diretório. O primeiro argumento especifica o diretório no qual iniciar a pesquisa. A opção -name deve ser seguida de um texto de pesquisa, que pode também conter caracteres curinga. Ao contrário do locate, que usa um banco de dados, o, find pesquisa o diretório atual.
O comando grep encontra um determinado texto de pesquisa nos arquivos de texto especificados. Se o texto de pesquisa for encontrado, o comando exibe a linha na qual o textodepesquisa foi encontrado, juntamente com o nome do arquivo. Se desejar, use caracteres curinga para especificar nomes de arquivos.
As áreas de trabalho KDE e GNOME armazenam dados de aplicações específicas do usuário em diretórios ocultos, por exemplo .kde e .gnome.
Para localizar esses diretórios em seu computador, digite
locate .kde
se você tem a área de trabalho KDE instalada ou
locate .gnome
se você tem a área de trabalho GNOME instalada.
Você verá que o comando locate exibe todos os nomes de arquivo no banco de dados que contêm o texto .kde ou .gnome em qualquer lugar. Para aprender como modificar esse comportamento, veja a página man do comando locate.
Para pesquisar em seu diretório pessoal por todas as ocorrências de nomes de arquivo contendo a extensão .txt, use
find ~ -name '*.txt' -print
Para pesquisar em um diretório (neste caso, seu diretório pessoal) por todas as ocorrências de arquivos contendo, por exemplo, a palavra música, digite
grep música ~/*
Note que o grep é diferencia maiúsculas e minúsculas — a não ser que você o utilize com a opção -i. Com o comando acima, você não encontrará nenhum arquivo que contenha Música.
Se você deseja usar um texto de pesquisa composto por mais de uma palavra, coloque o texto de pesquisa entre aspas duplas, por exemplo:
grep "música é ótimo" ~/*
Ao pesquisar pelo conteúdo de um arquivo com grep, a saída informa a linha na qual o textodepesquisa foi encontrado, juntamente com o nome do arquivo. Frequentemente, essa informação contextual ainda não é suficiente para decidir se você quer abrir e editar esse arquivo. O Bash oferece a você vários comandos para dar uma olhada rápida no conteúdo de um arquivo texto diretamente no shell, sem abrir um editor.
Com o comando head você pode visualizar as primeiras linhas de um arquivo. Se você não especificar mais detalhes para o comando, head exibe as 10 primeiras linhas de um arquivo de texto.
O comando tail é o oposto do head. Se você usar o tail sem quaisquer opções, ele irá exibir as últimas 10 linhas de um arquivo de texto. Isto pode ser muito útil para visualizar arquivos de log do sistema, onde as mensagens mais recentes ou entradas de log encontram-se no final do arquivo.
Com less, exiba todo o conteúdo de um arquivo de texto. Para movimentar-se para cima e para baixo em meia página use Page ↑ e Page ↓. Use Space para deslocar-se uma página para baixo. Home o leva para o início do documento, e End, para o final do documento. Para sair do modo de visualização, pressione Q.
Ao invés de usar o less, você pode usar um programa mais antigo, o more. Ele possui, basicamente, a mesma função — mas é menos conveniente porque não permite que você retorne às páginas anteriores. Use Space para movimentar-se para frente. Quando você atingir o final do documento, o visualizador se fecha automaticamente.
O comando cat exibe o conteúdo de um arquivo, imprimindo o conteúdo inteiro na tela sem interrupção. Como cat não permite que você retorne às páginas anteriores, não é muito útil como visualizador, mas é usado frequentemente em combinação com outros comandos.
Algumas vezes é útil escrever a saída de um comando em um arquivo para edição posterior ou combinar vários comandos, usando a saída de um comando como entrada do próximo. O shell oferece esta função através de redirecionamentos ou pipes.
Normalmente, a saída padrão no shell é sua tela (ou uma janela shell aberta) e a entrada padrão é o teclado. Com a ajuda de certos símbolos você pode redirecionar a entrada ou saída para outro objeto, tal como um arquivo ou outro comando.
Com > você pode enviar a saída de um comando para um arquivo (redirecionamento de saída), com < você pode usar um arquivo como entrada para um comando (redirecionamento de entrada).
Através de um símbolo de pipe | você pode redirecionar também a saída: com um pipe você pode combinar vários comandos, usando a saída de um como entrada de outro. Em comparação com os outros símbolos de redirecionamento, > e <,o uso do pipe não fica restrito a arquivos.
Para escrever a saída de um comando como ls em um arquivo, digite
ls -l > listadearquivos.txt
Isto cria um arquivo chamado listadearquivos.txt que contém a lista de conteúdos de seu diretório atual como gerado pelo comando ls.
No entanto, se um arquivo chamado listadearquivos.txt já existir, este comando sobrescreve o arquivo existente. Para evitar isso, use >> ao invés de >. Digitar
ls -l >> listadearquivos.txt
simplesmente concatena a saída do comando ls no final de um arquivo já existente chamado listadearquivos.txt. Se o arquivo não existir, ele é criado.
Os redirecionamentos também funcionam do outro modo. Ao invés de usar a entrada padrão do teclado para um comando, você pode usar um arquivo como entrada:
sort < listadearquivos.txt
Isto irá forçar o comando sort a ler sua entrada a partir do conteúdo do arquivo listadearquivos.txt. O resultado é exibido na tela. Logicamente, você também pode escrever o resultado em outro arquivo, usando uma combinação de redirecionamentos:
sort < listadearquivos.txt > listadearquivos_ordenada.txt
Se um comando gerar uma saída muito grande, como ls -l, pode ser útil enviar a saída a um visualizador como less para que seja possível navegar pelas páginas. Para fazer isso, digite
ls -l | less
A lista do conteúdo do diretório atual é exibida em less.
O pipe é usado frequentemente em combinação com o comando grep para pesquisar por um certo texto na saída de outro comando. Por exemplo, se você deseja ver uma lista de arquivos em um diretório cujo proprietário é o usuário tux, digite
ls -l | grep tux
Como foi visto em Seção 7.7, “Editando Textos”, programas podem ser iniciados a partir do shell. Aplicações com uma interface gráfica precisam do X Window System e podem ser iniciadas somente a partir de uma janela de terminal dentro de uma interface gráfica. Por exemplo, se você deseja abrir um arquivo chamado férias.pdf em seu diretório pessoal a partir de uma janela de terminal no KDE ou GNOME, simplesmente execute okular ~/vacation.pdf (ou evince ~/férias.pdf) para iniciar um visualizar PDF e exibir seu arquivo.
Ao verificar a janela de terminal novamente você irá perceber que a linha de comando estará bloqueada enquanto o visualizador PDF estiver aberto, significando que seu prompt não está disponível. Para mudar isso, pressione Ctrl+Z para suspender o processo e digite bg para enviar o processo para segundo plano. Agora você pode visualizar o arquivo férias.pdf enquanto seu prompt está disponível para aceitar outros comandos. Um modo mais fácil de realizar isso é enviar um processo para segundo plano diretamente logo na sua inicialização. Para fazer isso, adicione um E comercial (&) no final do comando:
okular ~/férias.pdf &
Se você inciou vários processos em segundo plano (também chamados de tarefas ou jobs) a partir do mesmo shell, o comando jobs lhe fornece uma visão geral das tarefas. Ele também exibe o número da tarefa entre colchetes e seu status:
tux@linux:~> jobs [1] Running okular book.opensuse.startup-xep.pdf & [2]- Running okular book.opensuse.reference-xep.pdf & [3]+ Stopped man jobs
Para trazer uma tarefa para o primeiro plano novamente, digite fg número_da_tarefa.
Enquanto o comando job exibe somente os processo em segundo plano iniciados a partir de um shell específico, o comando ps (executado sem opções) exibe uma lista de todos os processos—iniciados por você. Um exemplo de saída é apresentado abaixo:
tux@linux:~> ps PID TTY TIME CMD 15500 pts/1 00:00:00 bash 28214 pts/1 00:00:00 okular 30187 pts/1 00:00:00 kwrite 30280 pts/1 00:00:00 ps
Caso um programa não possa ser finalizado do modo normal, use o comando kill para parar o processo (ou processos) pertencentes àquele programa. Para fazer isso especifique o identificador do processo (PID) exibido na saída do comando ps. Por exemplo, para fechar o editor KWrite no exemplo acima, digite
kill 30187
Isto envia um sinal TERM que instrui o programa a fechar a si mesmo.
Alternativamente, se o programa ou processo que você deseja finalizar está em segundo plano e é exibido pelo comando jobs, você também pode usar o comando kill em combinação com o número da tarefa para finalizar este processo: Ao identificar a tarefa com o número da tarefa, você deve prefixar o número com um caractere de porcentagem (%):
kill % número_da_tarefaSe o comando kill não ajudar — como acontece em casos de programas “fujões” — tente
kill -9 PIDIsto envia um sinal KILL no lugar de um sinal TERM, finalizando um determinado processo na maioria dos casos.
Esta seção tem como propósito introduzir o conjunto de comandos mais básico existente para manipular tarefas (jobs) e processos. Encontre uma visão geral para administradores de sistemas em Seção “Processes” (Capítulo 13, System Monitoring Utilities, ↑Guia de Referência).
Esta seção fornece uma visão dos comandos mais importantes. Existem muito mais comandos do que os listados neste capítulo. Os parâmetros são listados juntamente com os comandos individuais e, quando apropriado, um exemplo de aplicação típico é introduzido. Para aprender mais sobre os vários comandos, use as páginas man, acessadas com man seguido pelo nome do comando, por exemplo, man ls.
Páginas man são exibidas diretamente no shell. Para percorrê-las, mova para cima e para baixo com Page ↑ e Page ↓. Mova entre o início e o final de um documento com Home e End. Finalize este modo de visualização pressionando Q. Aprenda mais sobre o comando man com man man.
No resumo a seguir, os elementos individuais do comando são escritos com tipos de fontes diferentes. O comando atual e suas opções obrigatórias são sempre escritos como comando opção. Especificações ou parâmetros que não são obrigatórios são escritos entre [colchetes].
Ajuste as configurações de acordo com as suas necessidades. Não faz sentido escrever ls arquivo se nenhum arquivo chamado arquivo existe atualmente. Você pode, geralmente, combinar vários parâmetros, por exemplo, escrevendo ls -la ao invés de ls -l -a.
A seção a seguir lista os comandos mais importantes para o gerenciamento de arquivos. Ela cobre tudo desde a administração geral de arquivos até a manipulação das ACLs do sistema de arquivos.
[opções] [arquivos] Se você executar ls sem qualquer parâmetro adicional, o programa irá listar o conteúdo do diretório atual na forma curta.
-l
Lista detalhada
-a
Exibe os arquivos ocultos
[opções] origem destino Copia a origem para o destino.
Aguarda por confirmação, se necessário, antes que um destino existente seja sobrescrito
Copia recursivamente (inclui os subdiretórios)
[opções] origem destino Copia a origem para o destino e então, remove o original da origem.
Cria uma cópia de backup da origem antes de mover
Aguarda por confirmação, se necessário, antes que um arquivo_destino existente seja sobrescrito
[opções] arquivos Remove os arquivos especificados do sistema de arquivos. Os diretórios não são removidos pelo rm a menos que a opção -r seja usada.
-r
Remove qualquer subdiretório existente
-i
Aguarda por confirmação antes de remover cada arquivo
[opções] origem destino Cria um link interno da origem para o destino. Geralmente este link aponta diretamente para a origem no mesmo sistema de arquivos. No entanto, se o ln for executado com a opção -s, ele criará um link simbólico que apenas aponta para o diretório no qual a origem está localizada, habilitando links através dos sistemas de arquivos.
Cria um link simbólico
[opções] [diretório] Altera o diretório atual. O cd sem qualquer parâmetro acessa o diretório pessoal do usuário.
[opções] diretório Cria um novo diretório.
[opções] diretório Remove o diretório especificado se ele já estiver vazio.
[opções] nome_de_usuário[:[grupo]] arquivos Transfere a propriedade de um arquivo para um usuário com o nome de usuário especificado.
-R
Altera arquivos e diretórios em todos os subdiretórios
[opções] nome_do_grupo arquivos Transfere a propriedade do grupo de um dado arquivo para o grupo com o nome de grupo especificado. O proprietário do arquivo pode alterar a propriedade do grupo somente se ele for membro dos grupos atual e novo.
[opções] modo arquivos Altera as permissões de acesso.
O parâmetro modo possui três partes: grupo, acesso e tipo de acesso. O grupo aceita os seguintes caracteres:
Usuário
Grupo
Outros
Para acesso, conceda acesso com + e proíba-o com -.
O tipo de acesso é controlado pelas seguintes opções:
Leitura
Escrita
Execução—executar arquivos ou alterar para o diretório
Setuid bit—o aplicativo ou programa é iniciado como se o fosse pelo dono do arquivo
Alternativamente, um código numérico pode ser usado. Os quatro dígitos do código são compostos da soma dos valores 4, 2, e 1—o resultado decimal de uma máscara binária. O primeiro dígito define o SUID (set user ID) (4), o SGID (set group ID) (2) e o bit fixo (1). O segundo dígito define as permissões do dono do arquivo. O terceiro dígito define as permissões dos membros do grupo e o último dígito define as permissões para todos os outros usuários. A permissão de leitura é definida com 4, a permissão de escrita com 2 e a permissão para execução de um arquivo é definida com 1. O dono de um arquivo geralmente recebe um 6 ou 7 para arquivos executáveis.
[parâmetros] arquivos Este programa comprime o conteúdo dos arquivos usando algoritmos matemáticos complexos. Aos arquivos comprimidos desta maneira é dada a extensão .gz e precisam ser descomprimidos antes que eles possam ser usados. Para comprimir vários arquivos ou até mesmo diretórios completos, use o comando tar.
Descomprime os arquivos gzip compactados para que eles retornem ao seu tamanho original e possam ser processados normalmente (como o comando gunzip)
opções arquivo_comprimido arquivos O comando tar coloca um ou mais arquivos dentro de um arquivo comprimido. A compressão é opcional. O tar é um comando um pouco complexo com várias opções disponíveis. As opções mais usadas frequentemente são:
-f
Grava a saída para um arquivo e não mostra na tela como geralmente é o caso
-c
Cria um novo arquivo TAR
-r
Adiciona arquivos a um arquivo existente
-t
Exibe o conteúdo de um arquivo
-u
Adiciona arquivos, mas somente se eles forem mais novos do que os arquivos já contidos no arquivo comprimido
-x
Descomprime arquivos de um arquivo comprimido (extração)
-z
Comprime o arquivo comprimido resultante com o gzip
-j
Comprime o arquivo comprimido resultante com o bzip2
-v
Lista os arquivos processados
Os arquivos comprimidos pelo tar terminam em .tar. Se o arquivo TAR também for comprimido usando o gzip, a terminação será .tgz ou .tar.gz. Se ele for comprimido usando o bzip2, a terminação será .tar.bz2.
padrões Este comando estará disponível somente se você tiver instalado o pacote findutils-locate. O comando locate pode encontrar o diretório onde um arquivo especificado está localizado. Se desejado, use caracteres curingas para especificar nomes de arquivos. O programa é muito rápido porque ele usa um banco de dado especificamente criado para este propósito (ao invés de pesquisar através de todo o sistema de arquivos). Este fato, no entanto, também resulta no maior inconveniente: o locate não consegue encontrar qualquer arquivo criado após a última atualização do banco de dados. O banco de dados pode ser gerado pelo root com o comando updatedb.
[opções] Este comando executa uma atualização do banco de dados usado pelo locate. Para incluir arquivos em todos os diretórios existentes, execute o programa como root. Também faz sentido colocá-lo em segundo plano ao executá-lo com um E comercial anexo (&), para você poder continuar imediatamente a trabalhar na mesma linha de comando (updatedb &). Este command geralmente é executado como um trabalho diário do cron (veja cron.daily).
[opções] Com find, pesquise por um arquivo em um dado diretório. O primeiro argumento especifica o diretório no qual iniciar a pesquisa. A opção -name deve ser seguida de um texto de pesquisa, que pode também conter caracteres curinga. Ao contrário do locate, que usa um banco de dados, o, find pesquisa no diretório atual.
[opções] arquivos O comando cat exibe os conteúdos de um arquivo, imprimindo o conteúdo completo na tela sem interrupção.
Numera a saída na margem esquerda
[opções] arquivos Este comando pode ser usado para navegar nos conteúdos do arquivo especificado. Role metade da tela para cima ou para baixo com PgUp e PgDn um role uma página inteira para baixo com Espaço. Pule para o início ou final do arquivo usando Home e End. Pressione Q para sair do programa.
[opções] texto_de_pesquisa arquivos O comando grep encontra um texto de pesquisa específico nos arquivos especificados. Se o texto de pesquisa é encontrado, o comando exibe a linha na qual o texto_de_pesquisa foi encontrado juntamente com o nome do arquivo.
-i
Não diferenciar maiúsculas de minúsculas
-H
Exibe somente os nomes dos arquivos relevantes, mas não as linhas do texto
-n
Exibe adicionalmente o número de linhas na qual foi encontrada uma ocorrência
-l
Lista somente os arquivos no qual o texto_de_pesquisa não ocorre
[opções] arquivo1 arquivo2 O comando diff compara os conteúdos de dois arquivos quaisquer. A saída produzida pelo programa lista todas as linhas que não correspondem. Isto é frequentemente usado por programadores que necessitam apenas enviar as alterações dos programas e não todo o código fonte.
-q
Apenas relata onde os dois arquivos diferem
-u
Produz um diff “unificado”, o que torna a saída mais legível
[opções] [dispositivo] ponto_de_montagem Este comando pode ser usado para montar qualquer mídia de dados, como discos rígidos, unidades de CD-ROM e outras unidades, em um diretório do sistema de arquivos Linux.
-r
Montar somente leitura
-t sistema_de_arquivos
Especifique o sistema de arquivos, geralmente ext2 para discos rígidos Linux, msdos para mídia MS-DOS, vfat para o sistema de arquivos Windows e iso9660 para CDs
Para discos rígidos não definidos no arquivo /etc/fstab, o tipo de dispositivo também deve ser especificado. Neste caso, somente o root pode montá-lo. Se o sistema de arquivos também precisa ser montado por outros usuários, digite a opção user na linha apropriada no arquivo /etc/fstab (separado por vírgulas) e salve esta alteração. Mais informações estão disponíveis na página man mount(1).
[opções] ponto_de_montagem Este comando desmonta uma unidade montada de um sistema de arquivos. Para prevenir a perda de dados, execute este comando antes de tirar uma mídia de dados removível de sua unidade. Geralmente, somente o root tem permissão para executar os comandos mount e umount. Para habilitar a execução destes comandos por outros usuários, edite o arquivo /etc/fstab para especificar a opção user para a unidade relevante.
A seção a seguir lista alguns dos mais importantes comandos necessários para obter informações do sistema, controlar processos e a rede.
[opções] [diretório] O comando df ("disk free" - livre em disco), quando usado sem qualquer opção, exibe informações sobre o espaço total do disco, o espaço em disco atualmente em uso e o espaço livre em todas as unidades montadas. Se um diretório for especificado, a informação será limitada à unidade na qual o diretório está localizado.
-h
Exibe o número de blocos ocupados em gigabytes, megabytes ou kilobytes—num formato legível por humanos
-T
Tipo de sistema de arquivos (ext2, nfs, etc.)
[opções] [caminho] Este comando, quando executado sem qualquer parâmetro, exibe o espaço em disco total ocupado por arquivos e diretórios no diretório atual.
-a
Exibe o tamanho de cada arquivo individual
-h
Saída no formato legível por humanos
-s
Exibe apenas o tamanho total calculado
[opções] O comando free exibe informações sobre a memória RAM e o uso do espaço de troca, exibindo a quantidade total e usada em ambas as categorias. Veja Seção “The free Command” (Capítulo 18, Special System Features, ↑Guia de Referência) para mais informações.
-b
Saída em bytes
-k
Saída em kilobytes
-m
Saída em megabytes
[opções] Este simples programa exibe a hora atual do sistema. Se executado como root, ele também pode ser usado para alterar a hora do sistema. Detalhes sobre o programa estão disponíveis na página man date(1).
[opções] O top fornece um resumo rápido dos processos atualmente em execução. Pressione H para acessar uma página que brevemente explica as opções principais para a personalização do programa.
[opções] [ID do processo] Se você executar sem opções, este comando irá exibir uma tabela de todos os seus próprios programas ou processos—aqueles que você iniciou. As opções para este comando não são precedidas por hífen.
Exibe uma lista detalhada de todos os processos, independente do dono
[opções] ID do processo Infelizmente, algumas vezes, um programa não pode ser terminado de forma normal. Na maioria dos casos, você ainda consegue parar tal programa executando o comando kill, especificando o respectivo ID do processo (veja top e ps). O kill envia um sinal TERM que instrui o programa a se desligar. Se isto não ajudar, o seguinte parâmetro pode ser usado:
Envia um sinal KILL ao invés de um sinal TERM, levando o processo especificado ao seu fim na maioria dos casos
[opções] nome_do_processo Este comando é similar ao kill, mas usa o nome do processo (ao invés do ID do processo) como argumento, matando todos os processos com aquele nome.
[opções] nome de máquina ou endereço IP O comando ping é a ferramenta padrão para testar a funcionalidade básica de redes TCP/IP. Ele envia um pequeno pacote de dados para uma máquina de destino, requisitando uma resposta imediata. Se isto funcionar, o ping exibe uma mensagem para aquele efeito, que indica que o link da rede está basicamente funcionando.
-cnúmero Determina o número total de pacotes a enviar e termina após eles terem sido despachados (por padrão, não há limite definido)
-f
flood ping: envia tantos pacotes de dados quantos possíveis; um meio popular, reservado para o root, de testar redes
-ivalor Especifica o intervalo entre dois pacotes de dados em segundos (padrão: um segundo)
[opções] nome_de_máquina [servidor] O sistema de nome de domínio resolve nomes de domínio em endereços IP. Com esta ferramenta, envie consultas a servidores de nomes (servidores DNS).
[opções] [usuario@]nome_de_máquina [comando] O SSH é um protocolo de Internet que permite a você trabalhar em máquinas remotas através de uma rede. O SSH também é o nome de um programa Linux que usa este protocolo para permitir operações em computadores remotos.
[opções] [nome_de_usuário] Os usuários podem alterar suas senhas a qualquer hora usando este comando. O administrador root pode usar este comando para alterar a senha de qualquer usuário no sistema.
[opções] [nome_de_usuário] O comando su torna possível logar-se com um nome de usuário diferente em uma sessão em execução. Especifique um nome de usuário e a senha correspondente. A senha não é necessária para o root, porque o root tem autorização para assumir a identidade de qualquer usuário. Ao usar o comando sem especificar um nome de usuário, você deverá digitar a senha do root e altera para o superusuário (root). Use su - para iniciar um shell de login para um usuário diferente.
[opções] Para evitar a perda de dados, você deve sempre usar este programa para desligar o seu sistema.
[opções] Faz o mesmo que o halt, exceto que o sistema reinicia imediatamente.
Este comando limpa a área visível do console. Ele não tem opções.
Existem muito mais comandos que os listados neste capítulo. Para informações sobre outros comandos ou informações mais detalhadas, a publicação da O'Reilly Linux in a Nutshell é recomendada.