Uso de Comandos Básicos
- Tarefas básicas que você precisa saber fazer:
- Andar no sistema de arquivos do UNIX
- Usar o shell de forma básica
- Usar uma interface gráfica básica
- Usar ferramentas (comandos) básicas (ls, cd, cp, rm, mkdir, ...)
- Usar o editor vi
- Entender as permissões de arquivos
- Ver e manipular processos que estão em execução
- Algumas dessas tarefas básicas serão vistas aqui
- Outras aparecem nas seções que seguem
A linha de comandos
- A interface de linha de comandos (a caractere) é muito usada no UNIX
- Sempre está disponível (a GUI nem sempre está disponível)
- É mais poderosa
- Após login, um shell será executado para interpretar seus comandos
- O shell fornece um prompt
- Você digita um comando e o shell executa o comando através da criação de um novo
processo
- Depois o shell espera até o processo terminar e dá um prompt de novo
$ ls -l
-rwxr-xr-x 1 root system 120 Mar 12 09:32 bronze
-r--r--r-- 1 joao users 1452 Apr 20 10:40 prata
drwx------ 2 joao users 1024 Apr 21 07:30 dirContas
$ who
root tty1 Jul 7 11:47
jacques pts/0 Jul 7 11:48 (192.168.0.10)
$
- Veremos mais detalhes sobre a linha de comandos adiante
Comandos básicos
- Filosofia dos comandos
- Cada comando é uma pequena ferramenta
- Faz uma coisa só
- Trabalhos mais complexos são feitos juntando várias ferramentas
- O shell é a cola que permite fazer isso
- Precisamos conhecer alguns comandos para concretizar a discussão
- Este não é um curso de comandos UNIX
- Precisamos conhecer alguns comandos para concretizar a discussão
- Ver comandos nos diretórios:
- /bin
- /usr/bin
- /usr/local/bin
Formato geral dos comandos
- Sintaxe comum a (quase) todos os comandos
- Espaços em branco separam as "palavras" da linha de comando
- O comando é executado num novo processo criado pelo shell
- Todas as palavras da linha de comandos são recebidas pelo comando
$ nome_do_comando [-opção ...] [lista_de_argumentos]
$ ls -l
...
$ ls -l /etc/passwd
...
$ ls -ld /etc/passwd / /var
...
man
$ man comando
...
$ man seção palavra
...
$ man -k palavra_chave
...
Section number |
Contents |
1 |
user commands |
2 |
system calls |
3 |
Library functions |
3c |
standard C library |
3s |
standard I/O library |
3m |
arithmetic library |
3f |
Fortran library |
3x |
special libraries |
4 |
special files |
5 |
file formats |
6 |
games |
7 |
miscellaneous |
8 |
administration and privileged commands |
who
$ who
david tty1 Feb 5 14:27
whoami
- Quem o computador acha que sou?
$ whoami
david
uname
- Informação sobre o sistema operacional e o computador
$ uname
Linux
$ uname a
Linux beldin.cqu.edu.au 2.0.31 #1 Sun Nov 9 21:45:23 EST 1997 i586 unknown
date
$ date
Thu Feb 8 16:57:05 EST 1996
cal
$ cal
August 2001
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
cat
- Lista entra padrão (ou os arquivos dados) na saída padrão
$ cat /etc/motd
Linux 1.2.13.
more
- Imprime a entrada 1 página de cada vez
$ man palavra | more
sort
$ sort /etc/passwd
ordenar baseado na linha inteira
...
$ sort -r /etc/passwd
ordenação inversa
...
$ sort +2n -t: /etc/passwd
ordenar pulando 2 campos usando : como delimitador de campos
...
$ sort +2n -t: -n /etc/passwd
como antes mas com ordenação numérica
cut
- Corta campos da entrada (para selecionar o que se deseja)
$ cut -c1 /etc/passwd
pegar o primeiro caractere de cada linha
$ cut -c1,5,10-20 /etc/passwd
pegar o primeiro, quinto e cada caractere entre 10 e 20
$ cut -d: -f2 /etc/passwd
pegar o segundo campo
$ cut -d: -f3- /etc/passwd
pegar todos os campos do terceiro em diante
grep
- Global Regular Expression Pattern match
$ grep jacques /etc/passwd
imprime qualquer linha do arquivo contendo jacques
wc
$ wc /etc/passwd
19 20 697 /etc/passwd
Exercícios
- Para os seguintes exercícios, crie um arquivo agenda_fone com conteúdo:
george!2334234!55 Aim avenue
fred!343423!1005 Marks road
david!5838434!5 Thompson Street
janet!33343!43 Pedwell road
Exercício 1
- Qual comando usaria para o seguinte (iniciando com o arquivo original a cada comando):
- Ordenar o arquivo no campo nome
- ordenar o arquivo em ordem descendente de número de telefone
- Mostrar apenas os endereços
- Alterar todos os caracteres ! para :
- Mostrar a primeira linha do arquivo (use "man head" e "man tail")
- Mostrar a linha com a informação de david
- Qual seria o efeito do comando "paste -d: -s agenda_fone
programa anterior próxima