O sistema operacional Linux oferece várias ferramentas para gerenciamento e edição de arquivos, neste artigo mostram como usar alguns comandos para substituir uma ou mais palavras em um arquivo de texto. Um comando bastante útil quando você precisa substituir uma ou mais palavras em alguns arquivos é este:
sed -i 's/parola1/parola2/g' *.txt
desta forma será substituído por word1 word2em todos os arquivos de texto no diretório atual.
Mas se tivéssemos que fazer isso também substituir os arquivos em algumas pastas, então sob o comando torna-se:
find ./ -type f -exec sed -i 's/parola1/parola2/g' '{}' \;
neste caso, eu fiz sem o filtro do tipo de arquivo .txt e depois serão levados em conta todos os arquivos no diretório atual e seus subdiretórios.
Com o comando find que foi utilizado o “-exec” que permite executar um comando de cada vez que um arquivo é encontrado, que respeite as regras estabelecidas para a pesquisa. No caso anterior, a pesquisa inclui todos os elementos de “file” tipo e excluir os diretórios. Tudo está coberto por “-exec” é o comando a ser executado e seus parâmetros, para o caractere “;” indicando o final da cadeia de comando. Outro elemento-chave é o símbolo “{}“Indica que o nome real do arquivo e descobriu que, desta forma ser usado como um parâmetro do comando que deseja executar. No comando anterior chaves” {} “foram listadas e no final de comando é precedido de uma barra “\” para proteger esses símbolos de ‘expansão shell. O comando é executado no diretório de partida, então se o comando digitado necessita de uma saída deve ser levado em conta.
Conselho a buscar em primeiro lugar a palavra, só para ver o que será encontrado e substituído:
find ./ -type f -exec grep -r "parola1" '{}' \;
Ou você pode usar o comando:
find ./ -type f -print0 | xargs -0 grep "parola1"
desta forma irá exibir todas as linhas que contêm a string.
Em particular, a directiva tem sido usado “-print0” que permite a saída do nome completo terminada por um caractere nulo. Desta forma, o string produzida pode ser interpretado corretamente pelo programa a seguir. Na verdade, a saída do findestá conectada com um tubo para xargs comando cujo parâmetro “-0” indica que os nomes dos arquivos recebidos como um fim de entrada com um caractere nulo.
O comando “xargs” é responsável por receber os nomes dos arquivos e executar o comando ” grep “, que por sua vez usa os parâmetros passados para xargs.
Se você só quer ver exibido o nome do arquivo que a contém, o comando é:
O parâmetro “-l” indica que temos como saída uma lista de nomes de arquivos, mas não as linhas, foram encontrados nos jogos.
Faço notar que em todos os comandos listados tem sido sugerido que a pesquisa para acontecer no diretório atual e todos os seus sub-diretórios, mas se quisermos olhar para qualquer diretório que você deve inserir o caminho (relativo ou absoluto):
find /home/user/ -type f | xargs grep -l "parola1"
Finalmente, se não fosse necessário o uso de parâmetros complexos para a busca de arquivos e deseja apenas pesquisa recursivamente uma palavra ou frase dentro dos arquivos em subdiretórios múltiplas, muito mais simples basta usar o comando grep com o “-r ”
grep “this text” *.php -rDesta forma ele vai olhar para a string “este texto” em todos os arquivos. “Php” no diretório atual e todos os seus subdiretórios.
Download feito, mídia queimada, vamos à instalação.
Após o boot, essa é a primeira tela, que se você estiver de bobeira nem vai ver, pois ela só é exibida por 5 segundos, dá um Enter ou deixa rolar.
Sabe aqueles termos que ninguém lê…
Install…
Escolha o teclado e “S” ou navegue até o Select com o Tab.
Eu não vi nenhuma necessidade de particionamento diferenciado, então eu fui de Auto mesmo.
E aguarde a cópia dos arquivos e a instalação.
Caso seja necessária alguma configuração adicional via shell (prompt) selecione Y, no meu caso, fui de N.
Será necessário reiniciar o sistema.
Instalação concluída! Agora vamos começar as configurações. Ao reiniciar, ele vai procurar pelas placas de rede e é imprescindível que o sistema as encontre, dando tudo certo, ele vai te mostrar as interfaces válidas e te perguntar se quer criar uma VLan, no meu caso não é necessário (acredito que no seu também não) então N.
É possível ver que ele deu um nome qualquer para as duas interfaces de rede e mostrou o status de ambas (down, pq estão desconectadas). Após decidir sobre a VLan, você deve dizer quem vai ser a sua Wan e Lan.
Confirmado, as interfaces vão tentar pegar IP e agora você tem a tela de boas vindas do pfSense.
Não vou explicar as opções, (elas são bem diretas) vou só deixar uma observação no que diz respeito as interfaces. É possível na opção 2) Set interfaces IP address configurar o IP das interfaces pelo shell mesmo, mas resolvi fazer isso pela interface web.
Para acessar a interface web, basta entrar com o ip da Lan no navegador de um computador que esteja nessa rede. O login default é: admin e a senha pfsense.
Ao acessar pela primeira vez, temos um assistente para as primeiras configurações.
O passo 1 é sobre o suporte que é oferecido, você pode ler mais sobre isso ou clicar em Next.
Passo 2: você pode configurar um nome, um domínio e DNS.
Passo 3: ele já vem configurado com um servidor de tempo, mas eu preferi usar o a.ntp.br, a timezone você vai trocar para uma mais adequada com sua região.
Passo 4: configurar a Wan.
Passo 5: Configurar a Lan.
Passo 6: redefinir a senha do administrador.
Clique em Reload.
Clique para continuar no pfSense WebConfigurator.
Pronto, aí está o Dashboard do pfsense.
Observações: Configurando um IP público e DNS na Wan, o interno na Lan, basta você configurar o IP da Lan do pfSense como gateway do seu cliente que ele já conseguirá navegar na internet. Se você for em: Firewall/Rules/LAN, verá que já existem duas regras default (IPv4 e v6) permitindo o todo o tráfego pela LAN.
Tive um contratempo com resolução de nomes em alguns sites então depois de muito pesquisar, testar e errar até acertar, consegui resolver da seguinte forma:
1. Vá na aba Services/ DNS Resolver e desmarque esta opção.
2. Vá na aba Services/DNS Fowarder, marque esta opção e em Interfaces selecione LAN.
3. Caso use o DNS do Windows, vá nas propriedades do seu servidor DNS/Encaminhadores e defina a LAN do pfSense como um encaminhador.