Arquivo da categoria: Linux

Linha de Comando em linux

Linux é um Sistema Operativo que vai cativando mais utilizadores pelo seu poder e até pela sua simplicidade! Pode não parecer nos primeiros contatos mas acredite que é bem simples. O problema para a maioria dos utilizadores novos do linux é a Linha de comandos que acaba por ser necessária muitas vezes neste Sistema.
Com estes artigos vou tentar desmistificar este “bicho de sete cabeças” e deixar explicados alguns dos comandos mais utilizados.

Linha de Comandos – Linux – Operações em Ficheiros e Pastas

No linux por muitas vezes precisamos de navegar pelo seu sistema de ficheiros vou deixar alguns comandos para ajudar a mostrar como são simples.

Navegar entre pastas – Comando cd

Mudar de pasta:
cd /Pasta/subPasta
Se já tiver dentro da primeira pasta para navegar para a subpasta não use o primeiro / ficando sómente:
cd subPasta
Para subir um nivel ou seja encontra-se em subPasta e quer passar para a Pasta basta executar:
cd ../
Caso a pasta contenha espaços terá que pôr o nome da pasta entre aspas:
cd "Nome da Pasta/sub pasta"

Listar ficheiros dentro de uma pasta – Comando ls

ls
Listar com informação (Dono da pasta/ficheiro – permissões – data da modificaçāo)
ls -l
Mostrar mais informação (como o grupo dono)
ls -li

Apagar ficheiros ou pastas

rm ficheiro.txt
Apagar pasta
rm nomeDaPasta
Caso a pasta não esteja vazia irá vos dar um erro para apagar um pasta e todo o conteudo têm que passar o comando -R (de recursivo):
rm -R nomeDaPasta

Criar ficheiro ou pasta

Criar ficheiro
touch nomeDoFicheiro.txt (a extensão é facultativa)
Criar pasta
mkdir nomeDaPasta

Copiar ficheiros ou pastas

Copiar:
cp ficheiroOriginal.txt ficheiroParaOndeColar.txt
Para copiar mantendo as permissões e data de modificaçāo adiciona-se a opçāo -p:
cp -p ficheiroOriginal.txt ficheiroParaOndeColar.txt
Copiar todos os FICHEIROS dentro de uma pasta para outra usa-se o Asterisco *:
cp * /pasta/subpasta/
Copiar tudo (ficheiros e pastas) dentro de uma pasta para outra usa-se o -R de recursivo:
cp -R * /pasta/subpasta/

Ficheiros de texto

Apresentar todo o texto na linha de comandos:
cat nomeDoFicheiro.txt
Para editar ficheiros de texto na consola (Linha de comandos) teraá de ter instalado o programa para tal cada um utiliza o que mais gosta eu pessoalmente utilizo o nano que vem em quase todas as Distribuições linux:
nano nomeDoFicheiro.txt apos editar o ficheiro terá que carregar em ctrl+O para escrever e para fechar o nano usa o ctrl+X (na base da janela encontram-se mais opções)

Erros comuns:

Erro :Ficheiro ou directoria inexistente
significa que você esta a tentar executar uma operação num ficheiro ou pasta inexistente dentro da pasta em que se encontra. Para se referir a um ficheiro noutra pasta tem de indicar o caminho relativo (desde a pasta onde se encontra) subPasta/ficheiro.txtou absoluto (desde a raiz do disco)/pasta/subPasta/ficheiro.txt

Erro:Permissāo negada!
significa que você esta a tentar executar uma operação num ficheiro ou pasta sem ter permissão para tal. veja mais em Permissões no linux

Veja também Utilizadores e grupos de utilizadores no Linux

Linha de Comandos – Linux – Permissões

No Linux, como qualquer sistema operativo, no que diz respeito ao sistema de ficheiros as permissōes é o que parece mais díficil de entender, parece pois porque nem tudo o que parece é vamos desmistificar este mito.

As permissoes em linux são representadas como numeros 777, ou como letras rwx rwx rwx.

Como interpretar as permissōes?

Considere esta tabela com o significado das permissões em pastas e ficheiros:

Permissão Valor Significado em Ficheiros Significado em Pastas
r 4 Lêr conteudo do ficheiro. Vêr o conteúdo da pasta.
w 2 Apagar ou editar o ficheiro. Adicionar ficheiros e pastas.
x 1 Executar o ficheiro (como programa) Executar ficheiros contidos na pasta ou pesquisar ficheiros.

Para darmos todas as permissões a um utilizador sobre um ficheiro ou pasta damos o valor 7 que significa rwx.

Como chegamos ao 7?
– simplesmente somamos o que queremos 4 de lêr, 2 de escrever e 1 de executar (rwx).
– Caso queira dar apenas permissao so de leitura da-se um 4, ou seja, 4 de ler somados a zeros nas outras permissões.
Simples nāo?

Agora veremos se corremos, o comando ls ficheiro.txt -l supondo que temos o referido ficheiro na pasta onde nos encontramos e que o ficheiro tem todas as permissoes o resultado sera o seguinte:
- rwx r-- --x 1 root root 10876 2014-12-27 18:55 ficheiro.txt

Vamos decompor o resultado:
O primeiro traço quer dizer que se trata de um ficheiro, caso fosse uma pasta seria d;
A seguir temos 3 grupos de 3 letras:

  1. Dono do ficheiro (Todas – rwx – 7);
  2. Grupo Dono do ficheiro (Só leitura – r – 4) significa que os utilizadores inseridos neste grupo têm essa permissāo;
  3. Todos os restantes utilizadores (x – 1 – apenas podem correr o ficheiro (Programa));

Continuar a ler

Linha de Comandos – Linux – Utilizadores e Grupos

No mundo do linux, como em outros Sistemas Operativos, existem utilizadores e grupos de utilizadores. Se instalou o linux no seu pc tera o seu proprio username (Nome de utilizador) e verá que tem a opção de correr comandos como root (Super User) usando o prefixo sudo porque pertence ao Grupo de Administradores, root é outro utilizador do Sistema, o Administrador por assim dizer.

Mas o que é isto do sudo?
sudo quer dizer SuperUser do ou seja manda correr os comandos como se fosse o Administrador (root). O sudo foi criado para não deixar que o utilizador root faça login no sistema por uma questão de segurança. Deste modo, alguns utilizadores têm privilegios root outros nao. dando so acesso aos ficheiros e funçoes que um utilizador precisa ficamos com um sitema mais seguro e menos propicio a ser desconfigurado por quem nao sabe o que esta a fazer ou sabe e engana-se :P.

Onde ficam guardados os utilizadores?
Normalmente fica guardada no ficheiro /etc/passwd , E a password é mantida no ficheiro /etc/shadow.

Como criar, modificar e apagar utilizadores?

Utilizando os comandos useradd, usermod e userdel respetivamente tem que utilizar sempre o prefixo sudo para administrar os utilizadores.

Criar utilizadores: useradd

Criar o utilizador com o nome novoUtilizador:
sudo useradd novoUtilizador

Criar o novoUtilizador com outras opções facultativas:
sudo useradd novoUtilizador -u 1222 -g grupo1 -s /bin/bash -d /home/novoUtilizador
O id deste utilizador será 1222 (opcao -u) e este, tal como o nome tem de ser unico no sistema.
Uma pasta sera criada em /home/novoUtilizador que sera a pasta de trabalho conforme passamos no comando -d.
O perfil da consola sera em /bin/bash (opcao -s).
O grupo padrao do utilizador (opcao -g).

Em qualquer das hípoteses deverá lhe ser pedida uma password para o novo utilizador, caso contrário terá de a fornecer utilizando o comando:
passwd novoUtilizador.

Adicionar utilizador com capacidade de chamar sudo (sudoer):
sudo useradd novoUtilizador -g sudo
Na realidade estamos a criar um novo utilizador e adiciona-lo ao grupo sudo que nos da a possibilidade de executar comandos em sudo.

Modificar utilizadores: usermod

Modificar username:
sudo usermod utilizador -l outroNome
(este utilizador nāo pode estar logado!)

Modificar grupo padrão:
sudo usermod utilizador -g nomeDoGrupo

Editar outros grupos que nao o principal:
sudo usermod -G nomeDoGrupo1,grupo2
Atençāo que se o utilizador já pertencer a outros grupos e voceê nā os passar no comando vāo ser apagados!

Adicionar um utilizador outros grupos:
sudo usermod -a -G nomeDoGrupo1,grupo2
Deste modo adiciona o utilizador nao removendo os antigos (-a)

Modificar pasta de trabalho:
sudo usermod utilizador -d /home/outraPasta -m
(A opçāo -m faz com que seja movido o conteudo da antiga pasata para a nova, é facultativo!)

Modificar perfil da shell:
sudo usermod utilizador -s /bin/bash

Modificar numero id (UID):
sudo usermod utilizador -u 1002

Modificar data de expiraçāo:
sudo usermod utilizador -e 2015-12-31

Dar a capacidade de chamar sudo (sudoer):
sudo usermod utilizador -g sudo

Apagar utilizadores: userdel

sudo userdel novoUtilizador

para remover tambem a pasta de trabalho deste utilizador e o seu conteúdo passe a opção -r
sudo userdel novoUtilizador -r

Grupos: groupadd, groupmod, groupdel

Cria, modifica e elimina groupos, respetivamente.

Criar um grupo
sudo groupadd novoGrupo

Editar nome de um grupo
sudo groupmod -n novoNome nomeVelho

Editar GID de um grupo (id, tem de ser unico no sistema)
sudo groupmod -g 111 nomeGrupo

Eliminar grupo
sudo groupdel nomeGrupo

Espero que tenha ficado entendível veja também como editar as permissões de ficheiros e pastas e como navegar em pastas e editar ficheiros no linux