Seja bem vindo ao nosso 7º capítulo do Curso de Administração de Sistemas Linux, estamos no item Comandos úteis para o Linux que foi dividido em partes, e hoje você verá a terceira parte. Agora, se você caiu de paraquedas nessa parte do curso, recomendamos voltar para os capítulos anteriores, para isso basta clicar no botão abaixo e continuar de onde você parou se já estiver fazendo o curso ou se for a primeira vez, comece.
Comando cp
O comando cp com certeza você já deve visto em algum tutorial, ele serve para copiar arquivos e diretórios, essa cópia pode ser com o mesmo nome ou com o nome que você escolher. A sintaxe do comando também é bem simples, vamos testar apenas uma, mas você pode testar todas as outras para ver como funciona, um detalhe, recomendamos sempre ter uma máquina para usar como estudos, nunca use sua máquina de produção para estudos, a não ser que você saiba o que está fazendo e já se sinta seguro.
SINTAXE: cp {opção} {origem} {destino}
Opões disponíveis para o cp:
- -b : Gera cópia de segurança se o arquivo de destino já existir.
- -f : Substitui arquivos existentes sem pedir confirmação.
- -i : Pede permissão antes de substituir arquivos existentes.
- -l : Cria um link para o arquivo de origem ao invés de copiar o arquivo.
- -r : Copia arquivos e subdiretórios (recursivo).
- -u : Copia apenas quando o arquivo de origem é mais novo que o arquivo de destino ou quando o arquivo de destino não existe.
- -v : Lista os arquivos copiados.
cp -r /etc sempreupdate
O que eu fiz com esse comando?
Eu solicitei uma cópia do /etc para um pasta chamada sempreupdate. Pois é, se você observar eu pedi a cópia para apenas sempreupdate, isso quer dizer que essa pasta foi criado em meu diretório pessoal. Mas, você pode especificar o caminho que quiser, neste caso copiei para o meu diretório. Vale lembrar que quando solicitamos a cópia de qualquer conteúdo do diretório raiz você deve executar o comando como ROOT ou sudo.
Resultado do meu comando:
E o que tem dentro desta pasta? O conteúdo do /etc!
Comando mv
Como o nome já sugere, ele move ou renomeia arquivos, e como os outros itens os parâmetros/opções são bem simples, é sempre bom você observar toda essa didática, pois são comandos que podem nos salvar em algumas ocasiões.
SINTAXE: mv {opção} {origem} {destino}
Opções disponíveis para o mv:
- -b : Gera cópia de segurança se o arquivo de destino já existir.
- -f : Move o arquivo sem pedir confirmação (mesmo que já exista um arquivo no destino com o mesmo nome).
- -i : Move o arquivo, mas pede confirmação caso já exista um arquivo no destino com o mesmo nome.
- -v : Exibe os nomes dos arquivos afetados pelo comando.
- –help : Exibe as opções do comando.
- –version : Exibe informações sobre o comando.
Vamos então renomear um arquivo, este será o nosso exemplo:
Digamos que eu queira renomear uma basta de backups antigos, e agora em 2022 preciso organizar a pasta de 2019. Então, ao invés de abrir o gerenciador e fazer manualmente, eu posso executar um simples comandos. Por isso, precisamos aprender a utilizar comandos, pois em vários momentos o ambiente de desktop pode não estar disponível.
mv sempreupdate sempreupdate2019
Antes:
Depois da execução do comando:
Comando rm
Agora o comando rm, ele é usando para excluir arquivos e diretórios, então se você vem testando os comandos, chegou a hora de remover o que criamos e vamos usar o rm que como você já sabe, é bem simples. E claro, vamos aproveitar o nosso diretório sempreupdate 2019.
SINTAXE: rm {opções} {arquivo}
Opções disponíveis para o rm:
- -f : Apaga sem pedir confirmação.
- -i : Apaga após pedir confirmação.
- -r : Apaga arquivos e subdiretórios.
- -v : Lista arquivos deletados.
Vamos exemplificar o comando, removendo o arquivo sempreupdate2019 que foi gerado anteriormente:
Comando ln
Com o comando ln você consegue criar links simbólicos ou físicos. O link simbólico também pode ser chamado de ligação simbólica ou dymlink, é a mesma coisa, quando você usa o link simbólico é possível apontá-los para diferentes sistemas de arquivos e o melhor, ele também pode apontar para arquivos que não existem.
Já no link físico ou ligação direta você pode definir o nome para um arquivo, e você pode criar vários links com vários nomes para o mesmo arquivo, mas preste atenção, ao criar link físico do arquivo X, por exemplo, você só conseguirá apagar o arquivo X quando todos os links físicos forem removidos, enquanto restar 1 link, você não consegue deletar. Todos os links físicos seguem o mesmo status do arquivo destino.
SINTAXE: ln {opção} {alvo} {nomedolink}
Opções disponíveis para o comando ln:
- -d : Cria uma ligação direta (hard link), é o padrão.
- -L ou –logical : Cria uma ligação para um link simbólico.
- -s : Cria uma ligação simbólica (soft link).
- -v : Mostra o nome de cada arquivo antes de criar o link.
Comando find
O comando find serve para localizar arquivos ou até diretórios, no entanto, agora chegou a hora de dizer que o comando find não é tão simples como todos os outros que mostramos a pouco, ele é um tanto complexo, mas bem completo e talvez seja por isso que há tantas interfaces gráficas que o utilizam e assim, acabam facilitando a vida dos usuários. Mas, ao usar o comando voltamos a primeira aula, o comando find é sensível a letras maiúsculas e minúsculas.
SINTAXE: find {opção} {caminho} {expressão} {ações}
Opções do comando find:
- -daystart : Mede o tempo do início do dia ou de até 24 horas atrás.
- -depth : Processa o conteúdo de cada diretório antes do diretório em si.
- -follow : Resolve as ligações simbólicas.
- -help: Imprime um resumo do uso das linhas de comando de find e finaliza.
- -inum n : Acha arquivo com inode n.
- -maxdepth n : Desce no máximo em n níveis (um inteiro não negativo) de diretórios sob os argumentos da linha de comando. A opção “-maxdepth 0” significa a aplicação dos testes e ações somente nos argumentos da linha de comandos.
- -mindepth n : Não aplica qualquer teste ou ação a níveis menores que n níveis (um inteiro não negativo). A opção “-mindepth 1” significa testar todos os arquivos exceto os argumentos da linha de comandos.
- -version : Lista o número da versão do comando find e finaliza.
- -xdev : Não desce diretórios em outros sistema de arquivos.
Alguns critérios para o comando find
- -amin n : arquivo foi acessado há n minutos.
- -atime n : procura por arquivos acessados há n dias.
- -cmin n : o status do arquivo foi alterado em até n minutos atrás.
- -cnewer arq : o status do arquivo foi alterado mais recentemente do que arq foi modificado.
- -ctime n : o status do arquivo foi mudado nos últimos n dias.
- -empty : o arquivo está vazio e é ou um arquivo regular ou um diretório.
- -gid n : o GID (Group Identification) do arquivo é n.
- -group gname : arquivo pertence ao grupo gname (pode-se também usar aqui o GID do grupo).
- -inum n : procura por arquivo com inode n.
- -mmin n : os dados dos arquivos foram modificados há n minutos.
- -mtime n : os dados foram modificados em até n dias atrás.
- -name arquivo : procura pelo arquivo especificado.
- -path padrão : define o padrão do caminho do arquivo.
- -perm : procura por uma determinada permissão de acesso.
- -size n[bckw] : procura por arquivos que tem n unidades de espaço. Ao usar + (-) antes de n procura-se por um arquivo maior (menor) que n. As unidades são:
b – blocos de 512 bytes (padrão);
c – bytes;
k – kilobytes;
w – palavras de 2 bytes. - -type tipo : procura arquivos de um determinado tipo. São tipos possíveis:
b – blocos especiais (buffer)
c – caracteres especiais
d – diretórios
p – conector definido (FIFO)
f – arquivo regular
l – ligação simbólica
s – socket - -uid n : o UID do dono do arquivo é igual a n.
- -user nome : arquivo pertence ao usuário especificado em nome (pode-se também usar aqui o UID do dono).
O argumento n dos testes acima pode assumir: - +n : valores maiores que n.
- -n : valores menores que n.
- n : valor exatamente igual a n.
Algumas Ações para o find
-exec comando : executa comando se o status de saída zero for retornado. Todos os argumentos para find serão considerados como argumentos do comando até que um argumento consistido por ‘;’ seja encontrado.
-fprint arq : verdadeiro; lista o nome completo em um arquivo arq. Caso arq não exista quando find está sendo executado, ele será criado; caso ele exista, será recriado sem conteúdo.
-print : verdadeiro; imprime o nome completo do arquivo na saída padrão, seguido de nova linha.
-prune : caso -depth não seja informado, será verdadeiro; não descendo a partir do diretório atual. Caso -depth seja informado, será falso e não terá efeito.
Operadores do find
Listados em ordem de precedência decrescente:
- ( expr ) – força a precedência.
- ! expr – verdadeiro se expr for falsa.
- -not expr – o mesmo que ! expr.
- expr1 expr2 – a expr2 não será avaliada se expr1 for falsa.
- expr1 -a expr2 – o mesmo que expr1 expr2.
- expr1 -and expr2 – o mesmo que expr1 expr2.
- expr1 -o expr2 – expr2 não é avaliada se expr1 for verdadeira.
- expr1 -or expr2 – o mesmo que expr1 -o expr2.
- expr1 , expr2 – expr1 e expr2 são avaliadas.