Sessão 04
Comandos Introdutórios







Introdução
Estrutura de Ficheiros
Redireccionamento
Pipe´s
Comandos
Utilitários
Vários
Introdução




O interpretador de comandos não faz parte do
núcleo(Kernel) do Linux, sendo por isso considerado um
utilitário.
As versões mais divulgadas são o basch(Bourne Shell) e o
csh(C-Shell) - comandos versáteis
Podem construir-se comandos à custa dos existentes.
Para executar comandos no shell:
– Executar no KDE o Konsole
– Aceder a um dos terminais (ALT+ F(1..7 ou CTRL+ALT+ F(1..7))
consoante se trate de modo texto ou gráfico.
Estrutura de Ficheiros

Tal como no MS-DOS os ficheiros estão organizados numa árvore de
directorias em que a raiz é a directoria / (root)
– A root tem vários ramos e cada ramo é uma outra directoria que por sua
vez também pode ter mais sub-ramos(outras directorias)

Existem três tipos de ficheiros
– Ordinários (texto, executáveis dados, imagens)
– Directorias
– Especiais – associados a dispositivos I/O (discos periféricos, ...)
Qualquer um destes tipos podem ter links (ou seja atalhos para outros
ficheiros)
Os nomes dos ficheiros podem ter até 256 caracteres de qualquer tipo excepto
o / (separador)
Não é necessário ter extensão para serem executáveis
Os ficheiros especiais encontram-se na directoria /dev
Estrutura de Ficheiros (cont...1)

A especificação de um ficheiro (pathname) pode ser
– Absoluta se começar por /
– Relativa à directoria actual

Em cada directoria (excepto na raiz ou root /) existirá sempre:
.. Directoria mãe
. Própria directoria
Estrutura de Ficheiros (cont...2)

A cada ficheiro estão associados:
– Identificação do dono do ficheiro
– 9 bits de controlo de acessos :
» b0..b2 permissões para o dono
» b3..b5 permissões para os utilizadores do mesmo grupo
» b6..b8 permissões para os restantes utilizadores
– Dentro de cada grupo de 3 bits o seu significado é o seguinte:
» 1º acesso para leitura (r)
» 2º acesso para escrita (w)
» 3º acesso para execução (x)
Em qualquer dos casos quando o bit for “1” tem acesso permitido e se for
“0” não tem
Redireccionamento

Em Linux existem pré-definidos três ficheiros especiais:
– stdin Canal standard de entrada de dados
– stdout Canal standard de saída de dados
– stderr Canal standard de diagnóstico
Por defeito o stdout e stderr estão associados ao ecran enquanto que o
stdin está associado ao teclado.

Estas associações podem ser alteradas
< fich abre fich e este passa a ser a entrada
> fich o fich é apagado(caso exista) e depois usado como saída
>> fich idêntico ao anterior mas o ficheiro não é apagado
(acrescentado)
Pipe’s
Ao juntarmos dois comandos usando o simbolo | o canal de
entrada do segundo comando passa a ser o canal de saida
do primeiro
Exº:
1- com1 | com2
2- com1>temp; com2<temp; rm temp
Fazem ambos o mesmo só que no 2º caso, o 2º comando só
começa quando o 2º acaba e este só começa quando o 1º
acabar.
No primeiro caso os comandos são executados
concorrentemente

Comandos -01
man comando Dá a descrição de comando (ver man man)
pwd Dá o nome(pathname) da directoria actual
ls [-ltasdrucifg] [nome] Lista os ficheiros da directoria especificada
» l Dá uma linha para cada ficheiro com vários atributos
» a Lista também os ficheiros cujo nome começa por .
chmod modo nome Muda os acessos ao fiheiro:
» Absoluta exº chmod 752 fich1
» Relativa ([ugoa] +- rwx) .
u – dono
g – grupo
o – outros utilizadores
a – todos os anteriores
- retira privilégio
+ dá permissão
r, w e x são leitura, escrita e executável respectivamente
chown dono nome Muda o dono para nome
Comandos -02
chgrp grupo nome muda o grupo para nome
cat nome escreve o ficheiro em stdout
cd nome muda para a directoria nome
mkdir nome cria uma directoria nome
rmdir nome apaga a directoria (vazia) nome
rm nome apaga os ficheiros especificados
-i faz com que seja pedida confirmação
-r a operação é feita recursivamente em todas as directorias
-f apaga os ficheiros mesmo que o utilizador não tenha opções de escrita
mv origem destino muda(move) o nome do ficheiro origem para destino
cp origem destino copia o ficheiro origem para destino
touch cria um ficheiro vazio
ln origem destino cria um link do ficheiro origem com o nome destino
Em linux/Unix é possível que um mesmo ficheiro possa ser visto com nomes
diferentes (caso do link)
Ao estabelecer um link de um ficheiro para outro não copiamos o conteúdo e está
sempre acrualizado
Comandos -03
who [am i] Mostra quais os utilizadores no sistema. Se invocado com am i dá algumas
informações acerca do utilizador
id dá o numero e o grupo do utilizador
logname dá o nome de acesso ao sistema do utilizador
passwd permite modificar a password de acesso ao sistema
write [utilizador...] Permite escrever mensagens no terminal de outro utilizador
mesg [-ym] se invocado com –y inibe a possibilidade de outros escreverem mensagens
nesse terminal
at [hora] Permite executar comandos a uma determinada hora
ps [opções] lista informações sobre os processos existentes
u user dá informação sobre os processos do user
a Dá informação de todos os processos existentes
l Para cada processo dá uma linha com mais informação
kill [-signal] pid ... Para mandar abaixo processos
wait Espera que todos os processos invocados por este esperem
date Dá a hora e a data actuais. Serve ainda para a mudar
Comandos -04
cal [mês] [ano] Mostra o calendário desse mês ano. Se o mês for omitido mostra o ano. Se
ano for omitido considera que é o actual
calendar consulta calendar e mostra todas as linhas onde haja referência à data actual ou a
do dia seguinte
tee [-a] [ficheiro] copia stdin para stdout e para ficheiro
Ex. who | tee fich | wc –l
mostra no ecran quantos users estão no sistema e escreve informação sobre eles em fich
wc [–lwc] [ficheiro] conta os caracteres(-c), palavras (-w) e linhas (-l) do ficheiro
at [hora] Permite executar comandos a uma determinada hora
ps [opções] lista informações sobre os processos existentes
u user dá informação sobre os processos do user
a Dá informação de todos os processos existentes
l Para cada processo dá uma linha com mais informação
kill [-signal] pid ... Para mandar abaixo processos
wait Espera que todos os processos invocados por este esperem
nice [comando] faz com que um comando seja executado com prioridade menor
clear limpa o ecran
Comandos -05
tr [a-z] [A-Z] < fich1 > fich2 coloca em fich2 o texto que se encontra em fich1
convertendo todas as letras minúsculas para maiúsculas.
ex. tr [-opções] [string1] [string2] copia para stdout o ficheiro stdin
substituindo todas as ocorrências de caracteres de string1 pelo correspondente
caracter de string2.
Opções
c - caracteres que são substituídos são os que não ocorrem em string1
d - todos os caracteres que aparecem em string1 são apagados
s – após ser feita a conversão, todas as sequências de caracteres de
string2 repetidos são substituídos por um único caracter
nl [opções] ficheiro numera as linhas do ficheiro.
more [opções] [ficheiro] mostra os ficheiros página a página
Utilitários 01
mail [utilizador] correio electrónico. Se visualizado sem parâmetros permite ver as
mensagens recebidas.
bc (binary Calculator) é um utilitário que permite fazer operações aritméticas com precisão
ilimitada. Invocado com um ficheiro envia o resultado para ficheiro
cut –cflista [-dchar] [ficheiro...] Permite seleccionar colunas de um ficheiro
lista representa a lista de colunas separadas por “,”.
Comprimento fixo(opção –c)
Comprimento variável (opção –f) delimitado por um caracter especificado
(opção –d (TAB por defeito))
paste –dlista fich1 fich2 conactenação por linha de fich1 com fich2
df [file system] (disk free) Dá informação do espaço livre no disco
ex. df –h dá a informação em mega ou gigabytes
free o mesmo que o anterior
du [file system] (disk used) Dá informação do espaço ocupado
whereis ficheiro Procura ficheiro em directorias pre-definidas
find path-list expressão Procura a partir das directorias existentes em path-list os ficheiros
que verifiquem a expressão
locate procura um ficheiro
Utilitários 02
grep [opções] expreg [ficheiro...] procura nos ficheiros especificados as linhas onde
aparece auma ocorrência de expreg e escreve-as em stdout.
cmp [-l] [-s] fich1 fich2 Escreve em stdout as diferenças entre os dois ficheiros
para cada byte diferente escreve a posição e a linha.
diif [-efbh] fich1 fich2 Escreve em stdout as difenrenças entre os dois ficheiros.
vi, edit e pico - editores de texto
top lista os processos que exigem mais cpu
last lista os ultimos utilizadores a entrar no sistema
hostname dá o nome do computador
logname dá o nome do utilizador
apropos palavra dá todos os comandos que tenham a palavra indicada
telnet remoto permite aceder a uma maquina atraves de telnet. O telenet não é cifrado
ssh remoto permite aceder a uma maquina remoto
ping remoto para saber se um determinado pc remoto está ligado
ifconfig permite ver as caracteriticas da rede
less vizualiza um ficheiro pagina a pagina
Utilitários 03
netstat lista as ligações estabelecidas entre o servidor linux e outros pcs
route configura e apresenta as rotas de rede do computador
su passa para super utilizador em qualquer sessão de outro utilizador
para mudar de superuser para outro basta fazer su – nome_do _utilizador
rpm –iv nome_pacote.rpm instala um programa nome_pacote.rpm
rpm –qa mostra todo o software instalado
rpm –qa | grep “programa” verifica se um determinado programa está instalado
useradd adiciona um utilizador
userdel apaga um utilizador
mount serve para montar dispositivos como leitores de disquetes, cdroms,
flashdisk... Etc
fsck verifica problemas de ficheiros e sectores danificados
Vários
Putty programa de Windows que permite aceder ao linux via ssh
CTR+T para listar directorias
apachectl start Inicia o pc como servidor Web através do programa apache.
Por defeito fica posicionado em /srv/www e tem idex.html
BACKGROUND – exº updatedb& em que updatedb é um programa e o & coloca em background
tb pode ser updatedb + ctrl Z + bj
fobs Mostra os processos a correr em background
fg [num job] volta a colocar o trabalho a correr em terminal
top mostra os processos interactivos (para sair ctrl+c)
netstat mostra as ligações activas na maquina
traceroute mostra os nós por onde a ligação é estabelecida até chegar ao destino(Internet)
free mostra a memoria (em /proc fazer cat meminfo;cat cpuinfo;cat partitions)
uptime mostra à quanto tempo está ligado
last Ultimas pessoas que entrar no PC
uname –a Versão do kernel
Em /etc/fstab têm-se os periféricos
scp filename.jpg user@host:/path/to/upload
Winscp programa para ligar ao linux através do Windows
Vários Cont...
mount /dev/cdrom monta o cdrom
mount /dev/hda /mnt/windows0 monta a partição do windows
umount desmonta
useradd –m utilizador –d home/utilizador Cria um utilizador
chown muda o dono
chgrp muda o grupo
ssh 192.168.2.123 faz um login remoto
Comandos compactados de ficheiros http://lynx.isc.org/release/lynx2.8.5.tar.gz
Publicar documentos:
apachectl start
cp <ficheiros a publicar> /srv/www/htdocs
para aceder http://NomeDoIP/NomeNoFicheiro
Em /opt ficam os programas pagos
Configurar um mailserver:
http://www.freezcode.net/~terminal/projects/qinstall-bash/
oferece uma pagina de webmail
administração de webmail
Sistemas de backups: bobs.sourceforge.net instala tudo através de interface web
dá para fazer backup de vários servidores
Firewall: www.asgardsrealm.net/linux/firewall/
Ftpserver: http://vsftpd.beast.org
Vários Cont.. 2
MRTG (Multi Root Trafic Generator)
people.ee.ethz.ch/nceticker/webtools/mrtg/
Recursos de Software para Linux
freshmeat.net
sourceforce.net
rpmfind.net
Download

[-a] [ficheiro] - Programa Prof2000