Série RHCSA Como executar o gerenciamento de arquivos e diretórios - Parte 2

Série RHCSA Como executar o gerenciamento de arquivos e diretórios - Parte 2

Neste artigo, RHCSA Parte 2: Gerenciamento de arquivos e diretórios, revisaremos algumas habilidades essenciais necessárias nas tarefas diárias de um administrador do sistema.

RHCSA: Executar gerenciamento de arquivos e diretórios - Parte 2

Criar, excluir, copiar e mover arquivos e diretórios

Gerenciamento de arquivos e diretórios é uma competência crítica que todo administrador do sistema deve possuir. Isso inclui a capacidade de criar / excluir arquivos de texto do zero (o núcleo da configuração de cada programa) e diretórios (onde você organizará arquivos e outros diretórios) e descobrir o tipo de arquivos existentes.

O comando Touch pode ser usado não apenas para criar arquivos vazios, mas também para atualizar os tempos de acesso e modificação dos arquivos existentes.

Exemplo de comando toque

Você pode usar arquivo [nome do arquivo] Para determinar o tipo de arquivo (isso será útil antes de lançar seu editor de texto preferido para editá -lo).

Exemplo de comando de arquivo

e RM [nome do arquivo] para excluí -lo.

Exemplo de comando rm

Quanto aos diretórios, você pode criar diretórios dentro de caminhos existentes com MKDIR [diretório] ou criar um caminho completo com mkdir -p [/Full/Path/para/Diretório].

Exemplo de comando mkdir

Quando se trata de remover diretórios, você precisa ter certeza de que eles estão vazios antes de emitir o rmdir [diretório] comando ou use o mais poderoso (manuseie com cuidado!) rm -rf [diretório]. Esta última opção forçará remover recursivamente o [diretório] E todo o seu conteúdo - então use -o por sua conta e risco.

Redirecionamento de entrada e saída

O ambiente da linha de comando fornece dois recursos muito úteis que permitem redirecionar o entrada e saída de comandos de e arquivos, e para enviar a saída de um comando para outro, chamado redirecionamento e pipelining, respectivamente.

Para entender esses dois conceitos importantes, devemos primeiro entender os três tipos mais importantes de fluxos de E/S (entrada e saída) de caracteres, que são de fato arquivos especiais, no *nix sentido da palavra.

  1. Entrada padrão (também conhecido como stdin) é por padrão conectado ao teclado. Em outras palavras, o teclado é o dispositivo de entrada padrão para inserir comandos na linha de comando.
  2. Saída padrão (também conhecido como stdout) é por padrão conectado à tela, o dispositivo que "recebe" a saída dos comandos e os exibe na tela.
  3. Erro padrão (também conhecido como stderr), é onde as mensagens de status de um comando são enviadas por padrão, que também é a tela.

No exemplo seguinte, a saída de ls /var é enviado para stdout (a tela), bem como o resultado de LS /Tecmint. Mas neste último caso, é stderr isso é mostrado.

Exemplo de entrada e saída

Para identificar mais facilmente esses arquivos especiais, cada um deles recebe um descritor de arquivo, uma representação abstrata que é usada para acessá -los. A coisa essencial a entender é que esses arquivos, assim como os outros, podem ser redirecionados. O que isso significa é que você pode capturar a saída de um arquivo ou script e enviá -lo como entrada para outro arquivo, comando ou script. Isso permitirá que você armazene no disco, por exemplo, a saída de comandos para processamento ou análise posterior.

Para redirecionar o stdin (FD 0), STDOUT (FD 1) ou STDERR (FD 2), os seguintes operadores estão disponíveis.

Operador de redirecionamento Efeito
> Redireciona a saída padrão para um arquivo que contém saída padrão. Se o arquivo de destino existir, será substituído.
>> Anexa a saída padrão a um arquivo.
2> Redireciona o erro padrão para um arquivo que contém saída padrão. Se o arquivo de destino existir, será substituído.
2 >> Anexa o erro padrão ao arquivo existente.
&> Redireciona a saída padrão e o erro padrão para um arquivo; Se o arquivo especificado existir, será substituído.
< Usa o arquivo especificado como entrada padrão.
O arquivo especificado é usado para entrada padrão e saída padrão.

Ao contrário do redirecionamento, a pipelining é realizada adicionando uma barra vertical (|) depois de um comando e antes de outro.

Lembrar:

  1. Redirecionamento é usado para enviar a saída de um comando para um arquivo ou para enviar um arquivo como entrada para um comando.
  2. Pipelining é usado para enviar a saída de um comando para outro comando como entrada.

Exemplos de redirecionamento e pipelining

Exemplo 1: redirecionar a saída de um comando para um arquivo

Haverá momentos em que você precisará iterar sobre uma lista de arquivos. Para fazer isso, você pode primeiro salvar essa lista em um arquivo e depois ler essa linha por linha. Embora seja verdade que você pode iterar sobre a saída de LS diretamente, este exemplo serve para ilustrar o redirecionamento.

# LS -1 /var /Mail> Mail.TXT 
Redirecionar a saída do comando para um arquivo
Exemplo 2: redirecionar o stdout e o stderr para /dev /null

Caso queremos impedir que o stdout e o stderr sejam exibidos na tela, podemos redirecionar os dois descritores de arquivos para /dev/null. Observe como a saída muda quando o redirecionamento é implementado para o mesmo comando.

# ls /var /tecmint # ls /var / /tecmint &> /dev /null 
Redirecionando stdout e stderr ourput para /dev /null
Exemplo 3: Usando um arquivo como entrada para um comando

Enquanto a sintaxe clássica do comando CAT é a seguinte.

# CAT [Arquivo (s)] 

Você também pode enviar um arquivo como entrada, usando o operador de redirecionamento correto.

# gato < mail.txt 
Exemplo de comando CAT
Exemplo 4: enviando a saída de um comando como entrada para outro

Se você possui um grande diretório ou listagem de processos e deseja poder localizar um determinado arquivo ou processo de relance, você desejará dar um pipeline a listagem para o Grep.

Observe que usamos para pipelines no exemplo a seguir. O primeiro procura a palavra -chave necessária, enquanto a segunda eliminará o real Comando Grep dos resultados. Este exemplo lista todos os processos associados ao usuário do Apache.

# ps -ef | grep apache | grep -v grep 
Envie a saída do comando como entrada para outras páginas: 1 2