UFRJ IM - DCC Departamento de Ciência da Computação Sistemas Operacionais II 25/10/2016 Profª Valeria Menezes Bastos 1
Início de uso Após a inicialização do sistema aparecerá no vídeo: login: O sistema solicita login e senha: login: root Password: _ 2
Início de uso Após a inicialização do sistema aparecerá no vídeo: login: O sistema solicita login e senha: login: root Password: _ # 3
Finalização Saída do sistema $logout exit, logout, e em várias distribuições Linux existe um atalho: Ctrl + D Encerramento do sistema shutdown [-t segundos] [-rkhncff] tempo [mensagem de alerta] #shutdown Este comando se encarrega dos detalhes do desligamento, de modo que tudo ocorra em ordem, sem danos ao sistema 4
Finalização Opções: -k - Não desliga realmente o sistema, somente envia mensagens de aviso a todos os usuários. -r - Reinicializa após o desligamento do sistema. -h - Desliga o sistema após a execução do comando. -c - Cancela a execução de um programa shutdown. Não necessita do argumento tempo. tempo - Quanto o sistema deverá ser executado, antes da ação do comando shutdown. msg-de-aviso - Mensagem a ser enviada a todos os usuários. Exemplos #shutdown -f -h +2 Falha na energia elétrica; Sistema sendo desligado #shutdown -c Energia elétrica restaurada; Desligamento Cancelado Vale lembrar que na maioria das distribuições Linux já trazem ativado um atalho para reinicializar o sistema, bastando pressionar Ctrl + Alt + Del e será executado o comando #shutdown -t3 -r now tempo = 0 5
Alternando entre as consoles Os sistemas Linux permitem que se trabalhe com mais de um console na mesma máquina. Normalmente, por default temos acesso a seis consoles texto, além de mais seis sessões do X Window, sendo que estes parâmetros podem ser diferentes, dependendo da distribuição. Se quisermos alternar para o segundo console, basta pressionar Alt juntamente com uma das seis primeiras teclas de função (F1 a F6). Portanto, Alt + F1 corresponde ao primeiro console, Alt + F2 ao segundo, até Alt + F6 que corresponde ao sexto console. As combinações de Alt + F7 a Alt + F12 são reservadas para alternar entre sessões do X Window (interface gráfica), como veremos mais adiante. 6
Comando su É utilizado para permitir que um usuário torne-se outro temporariamente. Ele executa um interpretador com a identificação real e efetiva de usuário, identificação de grupo e grupos suplementares do usuário. Caso o usuário não seja informado na linha de comando, o padrão é o superusuário (root). O interpretador executado é o especificado para o usuário no arquivo passwd, ou /bin/sh caso nenhum seja especificado. Sintaxe: Algumas opções. su [opções] [usuário] -s interpretador. Executa interpretador ao invés do interpretador definido em /etc/passwd, a menos que o usuário que esteja executando su não seja o superusuário e o interpretador do usuário não seja restrito. 7
Comando su OBS.: 1) Para retornar ao usuário original, basta digitar "exit". 2) Para que a variável PATH seja atualizada conforme o usuário correspondente, deve-se utilizar o comando seguido por um hífen (su -). Exemplos: $su $su $su jose $su s /bin/tcsh jose 8
Comandos Básicos whoami mostra o nome do usuário associado com a conta em uso. Exemplos $whoami joao $ Por exemplo, caso o usuário joao execute o comando... 9
Comandos Básicos hostname informa o nome da máquina que o usuário está operando. Exemplos $hostname cerebro $ Por exemplo, o nome da máquina é cerebro... 10
Comandos Básicos groups usado para mostrar os grupos de usuários aos quais este usuário pertence. Exemplos $groups estudantes projeto $ No exemplo, o usuário pertence a dois grupos... 11
Comandos Básicos finger usado para mostrar informações sobre a conta de um usuário. Como resposta, são apresentados o Exemplos $ finger joao Login: joao Directory: /home/joao Name: João da Silva Shell: /bin/bash Last login Wed Aug 25 17:05 on tty1 No mail. No Plan. $ nome do usuário (login), nome completo, o seu diretório pessoal (onde estão os seus arquivos) e o interpretador de comandos por ele utilizado. Além das informações, contidas no cadastro, também são mostrados outros dados, como a última vez em que ele se conectou ao sistema, informação sobre a leitura de e-mail por parte deste usuário e, por último, alguma mensagem que o usuário possa ter deixado no arquivo chamado.plan de seu diretório. 12
Comandos Básicos who usado para mostrar todos os usuários que estão usando o sistema no momento. Exemplos $who root tty1 Aug 25 12:36 joao tty2 Aug 25 10:20 paulo tty3 Aug 25 11:15 juca tty4 Aug 25 9:37 $ A primeira coluna indica os nomes de login dos usuários. As outras indicam, respectivamente, o terminal, a data e o horário no qual cada usuário se conectou. Exercícios Grupo 1. 13
Comando passwd É utilizado para atualizar a senha de autenticação de um usuário. Normalmente, cada usuário pode alterar somente a sua própria senha, exceto o superusuário (root), que pode atualizar a senha de outro usuário, fornecendo o nome do usuário. Sintaxe: Algumas opções. passwd [opções] [nome do usuário] -u - Indica que a atualização somente pode ser efetuada para senhas expiradas, mantendo-se a senha atual até a data de sua expiração. Exemplos: $passwd $passwd jose Se não for especificado o nome do usuário, será atualizada a senha do usuário corrente. 14
Comando passwd Exemplos: $passwd... $passwd jose... $ yppasswd Please enter old password: Please enter new password: Please retype your new password: The password had been changed. $ Se não for especificado o nome do usuário, será atualizada a senha do usuário corrente. 15
Comando pwd Print name of Working Directory Mostra o diretório corrente em que você está. Sintaxe: pwd Este comando não possui opções. Exemplos: $pwd /home/jose 16
Comandos Básicos ls lista o conteúdo de um diretório. Algumas Opções: -a - Lista todos os arquivos presentes nos diretórios, inclusive os ocultos. -k - Caso o tamanho do arquivo seja listado, mostra-o em Kbytes. -l - Além do nome de cada arquivo, lista o tipo, permissões, número de ligações diretas, nome do dono, nome do grupo, tamanho em bytes e data (da modificação, a menos que outra data seja selecionada). Para arquivos com uma data anterior a 6 meses ou com mais de 1 hora no futuro, a data conterá o ano ao invés da hora e dia. -t - Ordena o conteúdo dos diretórios pela data ao invés da ordem alfabética, com os arquivos mais recentes listados no início. -f ou F acrescenta os caracteres no final dos arquivos: / - diretório; @ - link; * - executável -u - Ordena o conteúdo dos diretórios de acordo com a data de último acesso ao invés da data de modificação. No formato longo de listagem, apresenta a data de último acesso ao invés da data de modificação. -R - Lista o conteúdo de todos os diretórios recursivamente. -X - Ordena o conteúdo dos diretórios alfabeticamente pelo nome da extensão (caracteres após o último `.'). Arquivos sem extensão são listados no início. -1 - Lista um arquivo por linha. --color - Colore os nomes dos arquivos dependendo do tipo. 17
Comando ls Exemplos $ls relatorio.txt Files mbox exemplo.html $ls -l -rw-r--r-- 1 cris 3023 Jun 3 19:22 relatorio.txt drw-r--r-- 1 cris 512 Jun 19 15:10 Files -rw------- 1 cris 403990 Agu 22 16:56 mbox -rw-r--r-- 1 cris 134780 May 17 10:38 exemplo.html $ls -f rel* relatorio.txt $ls -lf rel* -rw-r--r-- 1 cris 3023 Jun 3 19:22 relatorio.txt 18
Pipe ( ) O pipe (ou duto) é utilizado como conexão de utilitários. É uma maneira de redirecionar as entradas e saídas, de modo que a saída de um comando torna-se a entrada do comando seguinte. Pode-se usar vários pipes em uma mesma linha de comando, de maneira que é possível combinar tantos comandos quantos forem necessários. Exemplos $ls -al --color more d $ps aux grep httpd Lista todos os arquivos inclusive os ocultos, exibindo as permissões e outras informações, paginando a lista exibe na tela todos os processos do httpd (servidor web) ativos na sua máquina 19
Comando cd change directory É utilizado para mudar o diretório corrente. Permite mudar do diretório atual para outro especificado pelo usuário. Se for usado sem argumentos, muda para o diretório pessoal do usuário. A opção cd - volta ao diretório anterior, enquanto a opção cd.. sobe um nível no sistema de arquivos (árvore de diretórios). O argumento do comando, ou seja, a especificação do diretório para onde se quer mudar, pode ser relativo à posição em que se está ou baseado no diretório raiz (/). Neste último caso, o nome do diretório desejado deve ser precedido de uma "/". 20
Comando cd change directory Exemplos $cd /etc/x11 (especificação baseada no diretório raiz) $cd.. $cd X11 (especificação relativa à posição em que se está [/etc]) $cd - $cd 21
Comando cd change directory Experimente a seguinte sequência de comandos: $cd / $pwd $ls $cd /home $pwd $ls $cd /etc $pwd e $ls $cd $pwd $ls $cd ~ $pwd $ls 22
Comando date É utilizado para mostrar a data e a hora do sistema. Exibe a data e hora corrente, desde que aplicado sem parâmetros. Exemplos: $date Exibe a data para o usuário #date 052216002003 MM mês; DD dia do mês; hh hora; mm minuto; CC primeiros dois dígitos do ano (opcional); YY últimos dois dígitos do ano (opcional); ss segundos (opcional). Somente o superusuário pode, através do uso de parâmetros associados ao comando date, alterar a data e hora do sistema. 23
Comando man É utilizado para formatar e exibir as páginas de manual on-line, que são textos descrevendo em detalhes como usar um comando especificado. Exemplos $man ls $man more 24
Comando mkdir É utilizado para a criação de diretórios. Sua sintaxe é: mkdir [opções] <caminho> As opções mais utilizadas são: -p Cria todos os diretórios especificados no caminho; -m Especifica as permissões de acesso do novo diretório. Exemplos: $mkdir meudir $mkdir p dir1 dir2 25
Comando mkdir Exemplos: $ pwd /home/joao $ ls Mail Mailbox artigos cartas $ mkdir trabalhos $ ls Mail artigos cartas trabalhos Mailbox $ cd trabalhos $ pwd /home/joao/trabalhos $ cria o diretório 26
Comando mkdir Exemplos: $ pwd /home/joao $ ls Mail Mailbox artigos cartas $ mkdir trabalhos $ ls Mail artigos cartas trabalhos Mailbox $ cd trabalhos $ pwd /home/joao/trabalhos $ cria o diretório Poderíamos ter criado o novo diretório com qualquer um dos comandos abaixo, pois o resultado seria o mesmo. $mkdir./trabalhos $mkdir /home/joao/trabalhos $mkdir ~/trabalhos 27
Comando rmdir remove directory É utilizado para remover diretórios vazios. Sintaxe: rmdir [opções] <diretório> As opções mais utilizadas são: -p Remove o diretório pai, se ele também se tornar vazio. -f - Não solicita confirmação. Exemplos: $rmdir -f lorem/ipsum/dir1 Este comando removerá o diretório dir1. Se o diretório ipsum se tornar vazio com esta remoção também será removido e o mesmo para o diretório lorem se ele também se tornar vazio. Caso o diretório especificado não esteja vazio, ele não será removido. 28
Comando rmdir Exemplos: $ ls Mail artigos cartas trabalhos Mailbox $ rmdir trabalhos $ ls Mail Mailbox artigos cartas $ Remove o diretório 29
Comando rmdir Exemplos: $ ls Mail artigos cartas trabalhos Mailbox $ rmdir trabalhos $ ls Mail Mailbox artigos cartas $ Remove o diretório Analogamente, poderíamos ter usado um dos comandos : $rmdir./trabalhos $rmdir /home/joao/trabalhos $rmdir ~/trabalhos 30
Comando touch Atualiza as informações sobre as datas de último acesso e última modificação do arquivo. Caso o arquivo não exista, cria um arquivo novo vazio. Sintaxe: Algumas Opções: touch [-c] <arquivo> -a - Modifica apenas a data do último acesso; -c - Não cria arquivos, caso eles não existam; -m - Modifica apenas a data de modificação; -t Indica a data e hora a ser utilizada para o último acesso ou última modificação. O formato utilizado é MMDDhhmm (mês, dia, hora e minuto) e opcionalmente o ano e segundos; 31
Comando touch Exemplos: $touch a.txt Cria o arquivo a.txt, vazio. $touch a1.txt > a2.txt Cria o arquivo a2.txt igual a a1.txt. $touch t 10011230 a2.txt Altera a data e hora do arquivo para 01/10 e 12:30 $touch -t 120112301999.30 teste Altera da data, hora ano, e segundos do arquivo para 01/12/1999 e 12:30:30. 32
Comando cat Concatena ou exibe conteúdo de arquivos na saída padrão. Sintaxe: Obtém dados do arquivo da entrada padrão cat [opções] [dir1/arq1] [dir2/arq2]... Algumas Opções: -b Numera apenas as linhas não vazias. -t Exibe as tabulações como ^I. -n Numera as linhas na saída. -A Mostra inclusive os caracteres especiais -s Não mostra mais que uma linha em branco entre um parágrafo e outro. - - Lê a entrada padrão. Trabalha com arquivos texto Use o comando zcat para ver diretamente arquivos compactados com gzip 33
Comando cat Exemplos $cat meu_arq more Lista o conteúdo de meu_arq na tela, paginando. $cat meu_arq > seu_arq Copia o conteúdo de meu_arq para seu_arq $cat meu_arq seu_arq > nosso_arq Concatena o conteúdo de meu_arq e seu_arq, criando o arquivo nosso_arq. $cat meu_arq > /dev/lp0 Copia meu_arq para a impressora lp0 (impressão direta). $cat arq1 >> arq2 Acrescenta ao arquivo arq2 o arquivo arq1 $cat > texto.txt Cria um arquivo novo, onde o usuário vai digitar... Digita o texto... seu conteúdo, finalizando com ctrl+d. Ctrl+D 34
Comando cp - copy É utilizado para copiar arquivos e diretórios. Pode-se copiar um arquivo para um destino informado, ou copiar arbitrariamente muitos arquivos para o diretório de destino. Sintaxe: cp [opções] <origem> <destino> As opções mais utilizadas são: -f - Não solicita confirmação. -i - torna o comando interativo, perguntando antes de sobrescrever um arquivo. -R - Copia diretórios recursivamente, preservando arquivos que não sejam diretórios. -u - copia apenas se o arquivo destino não existir ou for mais velho que o que está sendo copiado. 35
Comando cp - copy As opções mais utilizadas são: -p - preserva os atributos (dono, data, hora, permissões) do arquivo de origem no arquivo de destino. -s - gera um link simbólico no destino ao invés de copiar o arquivo. Exemplos: $cp /etc/fstab fstab $cp -R /etc/rc.d /root/etc $cp -i texto texto.bak Caso dois arquivos sejam informados, ele copiará o primeiro no segundo Caso o último argumento denomine um diretório existente, este comando copiará cada arquivo de destino naquele diretório (mantendo o mesmo nome) 36
Comando cp - copy Outros Exemplos: $cp /home/joao/cartas/texto1.txt $cp ~joao/cartas/texto1.txt... $ ~/cartas/texto1.txt ~artigos/texto1.txt... $ cd /home/joao $ cp cartas/texto1.txt artigos/texto1.txt... $ cp cartas/texto1.txt artigos... $pwd /home/joao/artigos $ cp ~paulo/documentos/projeto.txt. /home/joao/artigos/texto1.txt ~joao/artigos/texto1.txt Pode ser composto pelo caminho absoluto ou pelo caminho relativo do arquivo 37
Comando mv - move É utilizado para mover e remover arquivos e diretórios. Sintaxe: mv [opções] <origem> <destino> As opções mais utilizadas são: -f - Não solicita confirmação. -i - torna o comando interativo, perguntando antes de sobrescrever um arquivo. -v lista o nome de cada arquivo antes de removê-lo (verbose). 38
Comando mv - move Exemplos: $mv /etc/fstab /etc/fstab.bak $mv v /etc/fstab.bak /etc/fstab Renomeia o arquivo fstab para fstab.bak Caso o último argumento seja o nome de um diretório existente, este comando moverá cada arquivo informado para o diretório, mantendo o nome original. $cd /home/curso $mv /home/jose/curso/doc1. Move um arquivo para outro diretório $mkdir /home/jose/teste $mv /home/curso /home/jose/teste Move o conteúdo de um diretório para outro diretório 39
Comando rm - remove É utilizado para remover arquivos. Pode remover também diretórios. Sintaxe: rm [opções] <arquivos> As opções mais utilizadas são: -f - Não solicita confirmação. -i - Solicita confirmação. (Caso sejam informados -f e -i, somente o último terá efeito). -r ou -R - Remove as árvores de diretórios recursivamente. 40
Comando rm - remove Exemplos: $rm meudir $rm -ir meudir $rm rf dir1 dir2 #rm -R /home Tome cuidado ao utilizá-lo, pois caso você remova algum arquivo por engano, o erro será irreversível. 41
Comando file Determina o tipo de conteúdo do arquivo baseado nos padrões encontrados dentro do próprio arquivo. Este comando informa se o arquivo é texto, binário, imagem, diretório, etc. Sintaxe: file [opções] [arquivo] Algumas Opções: -z - Tenta verificar arquivos dentro de arquivos compactados; -L - Faz com que os links simbólicos sejam seguidos. 42
Comando file Exemplos: $ls Aula1 documento2 examples.desktop Public Desktop Documents Music Templates $file documento2 documento2: ASCII text $file musica.mp3 musica.mp3: MPEG audio stream data $file..: directory $file....: directory 43
Comando more Filtro para uso na visualização de arquivos em terminais. Este comando só pode paginar o texto para frente (do início para o fim). Modo de usar: enter - exibe mais uma linha do texto espaço - exibe mais uma pagina do texto ctrl+l - rescreve a tela v - chama o editor de textos vi do Unix para a linha corrente Exemplos $ls -al --color more -d Este comando normalmente é usado em conjunto com outros comandos para exibição paginada da saída 44
Comando more Exemplos Este comando não possui parâmetros $more index.txt File Contents ========= ========= ntie30b2.exe US English versioninternet Explorer 3.0 Beta 2 for Windows NT cnmsie30b2.exe Simplified Chinese Version of Microsoft Internet Explorer 3.0 Beta 2 for Windows 95. Self extracting, self installing. dentie30b2.exe German Version of Microsoft Internet Explorer 3.0 Beta 2 for Windows NT 4.0 Beta 2 (build 1314). Self extracting, self installing. --More--(31%) 45
Comando less Filtro para uso na visualização de arquivos em terminais. Este comando permite paginar para frente e para trás no texto. Movimentações dentro do texto: Page Up, Page Down, Home, End e as setas de direção Tecla h ajuda dentro do less Exemplos $ls -al less Este comando normalmente é usado em conjunto com outros comandos para exibição paginada da saída $ cat teste2.bkp less 46
Comando head Mostra as linhas iniciais de um arquivo texto. Sintaxe: head [opções] Algumas Opções: -c [número] - Mostra o [numero] de bytes do inicio do arquivo; -n [numero] - Mostra o [numero] de linhas do inicio do arquivo. Caso não seja especificado, mostra as 10 primeiras linhas. Exemplos $head teste.txt Mostra as 10 primeiras linhas do arquivo. $head -n 20 teste.txt Mostra as 20 primeiras linhas do arquivo 47
Comando tail Mostra as linhas finais de um arquivo texto. Sintaxe: tail [opções] Algumas Opções: -c [número] - Mostra o [numero] de bytes do final do arquivo; -n [numero] - Mostra o [numero] de linhas do final do arquivo. Caso não seja especificado, mostra as 10 últimas linhas. Exemplos $tail teste.txt Mostra as 10 últimas linhas do arquivo. $tail -n 20 teste.txt Mostra as 20 últimas linhas do arquivo 48
Comando chmod change mode É utilizado para alterar as permissões de acesso aos arquivos para as novas definições informadas. Sintaxe: Algumas opções. chmod [opções] quem +/-/= permissão arquivo... -v - Descreve as permissões alteradas (verbose). -R - Altera as permissões dos diretórios e seus conteúdos de maneira recursiva. Parâmetros: quem é a classe do usuário (ugoa) para quem vai receber a permissão nova (u usuário; g grupo; o outros; a (all) todas as classes). 49
Comando chmod Parâmetros: +/-/= mais, menos ou igual define se você vai colocar (+) ou tirar (-) a permissão, o sinal = serve para trocar a permissão se ele tiver com permissão ele tira a permissão. permissão tipo de permissão rwx (r - leitura; w - escrita; x - execução). Exemplos: $chmod a+rx teste permissão de leitura e execução para todas classes de usuários. $chmod -R g=x teste dá a permissão a quem não tem e tira de que tem para o grupo que você pertence em todos os subdiretórios. 50
Comando chmod Usando valores octais: Formato absoluto Permissões Binário Octal --- 000 0 --x 001 1 -w- 010 2 -wx 011 3 r-- 100 4 r-x 101 5 rw- 110 6 rwx 111 7 51
Comando chmod Exemplos: $chmod u=rwx,g=rw,o=r cartas $chmod 764 cartas rwx = 4 + 2 + 1 = 7 rw- = 4 + 2 + 0 = 6 r-- = 4 + 0 + 0 = 4 $chmod u=rx,g=x,o= cartas $chmod 510 cartas r-x = 4 + 0 + 1 = 5 --x = 0 + 0 + 1 = 1 --- = 0 + 0 + 0 = 0 52
Comando umask É utilizado para configurar o padrão de permissões que novos arquivos e diretórios possuirão quando forem criados. Sintaxe: umask <máscara> Em <máscara> são especificadas as Permissões que devem ser removidas. Exemplos: $umask 027 Atribui todas as permissões ao dono, ao grupo permite apenas ler e executar e aos outros nenhum a permissão. Quando criamos novos arquivos, estes não recebem permissão de execução, mesmo que tal permissão tenha sido configurada no umask. Exercícios Grupo 2 53
54