Guia de Referência UNIX
 Eduardo Marcel Maçan
 July 16th, 2022

•	Prefácio
•	Arquivos e Diretórios
–	awk
–	basename
–	cat
–	cd
–	chgrp
–	chmod
–	cksum
–	cmp
–	comm
–	compress
–	cpio
–	cp
–	cut
–	dd
–	df
–	diff
–	du
–	file
–	find
–	grep
–	head
–	ln
–	ls
–	mkdir
–	mkfifo
–	more
–	mv
–	paste
–	patch
–	pwd
–	rmdir
–	rm
–	sort
–	split
–	strings
–	tail
–	tar
–	touch
–	uncompress
–	uniq
–	uudecode
–	uuencode
–	vi
–	wc
•	Comandos de Terminal
–	banner
–	clear
–	echo
–	mesg
–	stty
–	talk
–	tput
–	tset
–	tty
–	wall
–	write
•	Controle de Processos do Usuário
–	atq
–	atrm
–	at
–	bg
–	env
–	fg
–	finger
–	groups
–	id
–	jobs
–	kill
–	last
–	login
–	logout
–	nice
–	nohup
–	passwd
–	ps (BSD)
–	ps (SYSV)
–	su
–	users
–	whoami
–	who
–	w
•	Miscelânea
–	apropos
–	biff
–	calendar
–	cal
–	crontab
–	date
–	false
–	hostname
–	lpr
–	man
–	sleep
–	tee
–	test
–	time
–	tr
–	true
–	uname
–	uptime
–	whatis
–	xargs
–	yes
–	ftp
–	lpr
•	Comandos de Rede
–	ftp
–	mail
–	rcp
–	rsh
–	ruptime
–	rup
–	rusers
–	rwall
–	rwho
–	telnet
–	whois
•	Correspondência DOS-UNIX
•	Leitura Recomendada
•	WWW
•	Listas de Discussão
•	Software Livre
•	A Respeito do Autor
•	Sobre Este Guia
•	Convenção Utilizada neste Guia
•	Licença
Prefácio
Eu escrevi este guia de UNIX há 25 anos, em 1997. Era um mundo bem diferente, embora a Internet já estivesse presente no país ainda não havia se popularizado e estava restrita a grandes centros urbanos. O panorama de tecnologia se dividia entre diferentes fornecedores de UNIX nas grandes corporações, como Sun, IBM, HP, Digital. A Microsoft era um novo entrante neste mercado, o Linux já havia colocado um pé firme nos servidores da grande maioria das startups, mas ainda estava longe da ubiquidade que conquistou hoje.
E naquele cenário de múltiplos fornecedores e múltiplos “sabores” de UNIX que a ideia deste guia se tornou atrativa. Cada UNIX possuia mais ou menos os mesmos comandos, mas eles divergiam entre estilos, opções de comando e funcionalidade. Que tal encontrar o núcleo comum de comandos e opções de linha de comando que permitiria a um usuário uma maior portabilidade ao escrever shell scripts e navegar entre UNIX de diferentes fornecedores?
Este guia foi escrito por um estudante universitário nos seus vinte-e-poucos anos, que teve o privilégio de ter entrado em contato com a Internet, diversos sabores de UNIX comerciais e o Linux em 1993, na UNICAMP. Esta foi a base da minha carreira até aqui e tem potencial para continuar sendo ainda por muito tempo. Ao ter lido os manuais de diversos unix para selecionar os comandos que estavam presentes em todos e depoisem cada comando selecionando as opções de linha de comando comuns, posso afirmar com orgulho que o conteúdo deste guia sobreviveu muito bem aos 25 anos entre sua escrita e esta “versão comemorativa” de um quarto de século.
Agradeço ao Rubens Prates e à Novatec Editora pela oportunidade de tê-lo escrito e pelo literal “Sim!” para reeditar seu conteúdo em um novo formato de livre distribuição para seu aniversário.
Este é um release inicial ainda em fase “alfa” que passará por constantes revisões. Novidades e novas versões serão publicadas em https://unix.macan.eng.br
Eduardo Maçan
Arquivos e Diretórios
awk
Descrição
Linguagem para processamento de padrões. Para uma descrição detalhada da linguagem AWK e seus comandos, consulte os manuais on-line do sistema (man awk).
Sintaxe
awk [ -f *arq* ][ -F *c* ] ['prog'] [arquivo ...]
Parâmetro
	Descrição
	
-
	Toma a entrada de stdin.
	
-f arq
	Usa o conjunto de padrões definidos no arquivo
	
	arq para processar sua entrada.
	
-F c
	Muda o caractere separador de campos.
	
arquivo
	Especifica um arquivo de entrada.
	
	Um nome de arquivo no formato string=valor
	
	será tratado como uma atribuição de valor à
	
	variável string e será executado no momento
	
	em que seria processado caso fosse um arquivo
	
	válido.
	
‘prog’
	Sequência de declarações padrão-ação
	
	separadas por ponto e vírgula (;). Uma declaração
	
	padrão-ação tem o seguinte formato:
	
	padrão { ação }

Utilização:
Comparam-se os padrões especificados em prog a cada linha dos arquivos de entrada, executando uma ação associada sempre que houver correspondência. Um padrão vazio corresponde a todas as linhas da entrada, a ação vazia imprime a linha que correspondeu ao padrão.
Padrões:
Um padrão é uma combinação booleana de expressões relacionais ou regulares, com sintaxe similar à da linguagem C. Dois padrões especiais, BEGIN e END, são usados para tomar ações antes do processamento da primeira linha de entrada e após o processamento da última linha, respectivamente.
Ações:
Uma ação é uma sequência de comandos separados por ponto e virgula (;) TAB ou newiline.
Comandos
if (expr) comando [ else comando ]
while ( expr ) comando
do comando while (expressão )
for ( expr; expr ; expr) comando
for ( variavel in lista ) comando
break
continue
{ [ comando ...] }
variável=expr
print [expressão ...]
printf formato [, expressão [, ...]]
next
exit [n]
Expressões
Expressões em AWK têm sintaxe semelhante à da linguagem C, sendo válidos os operadores relacionais e de atribuição definidos nesta linguagem, a saber:
Operador
	Significado
	
+
	Adição.
	
-
	Subtração.
	
** * **
	Multiplicação.
	
/
	Divisão.
	
%
	Módulo.
	
^
	Exponenciação.
	
++
	Incremento.
	
–
	Decremento.
	
+=
	Soma de valor à variável.
	
-=
	Subtração de valor da variável.
	
** *= **
	Multiplicação de variável por valor.
	
/=
	Divisão de variável por valor.
	
%=
	Módulo de variável por valor.
	
^=
	Exponenciação de variável por valor.
	
>
	Maior que.
	
>=
	Maior ou iguala.
	
<
	Menor que.
	
<=
	Menor ou igual a.
	
!=
	Diferente de.
	
?:
	Condicional.

Funções
Função
	Definição
	
exp(x)
	Retorna o valor de e”.
	
log(x)
	Retorna o logaritmo natural de x.
	
sqrt(x)
	Retorna a raiz quadrada de x.
	
index(s,t)
	Retorna a posição da primeira ocorrência
	
	da string s dentro da string t, ou zero se
	
	não houver ocorrências.
	
int(s)
	Converte a strings para um valor inteiro.
	
	Se s não for especificada, usa toda a
	
linha de
	entrada.
	
lenght(s)
	Retorna o comprimento da string s, ou da
	
	linha de entrada se s não for especificada.
	
match(s,er)
	Retorna a posição da primeira ocorrência da
	
	expressão regular er dentro da string s, ou
	
	zero se não houver ocorrências.
	
split(s,a,fs)
	Divide a strings em vários elementos de
	
	um vetor a[n] e retorna n. A divisão é feita
	
	usando a expressão regular fs ou o
	
	separador de campos FS se fs não for
	
	especificado.
	
sprintf(fmt,exp,…)
	Formata as expressões de acordo com o
	
	formato especificado por fmt e retorna a
	
	string resultante (equivalente à função
	
	sprintf da linguagem C).
	
substr(s,m,n)
	Retorna uma substring des comncaracteres
	
	começando na posição m.
	
getline
	Carrega a próxima linha de entrada em
	
	$0, retornando 1 em caso de sucesso, O
	
	para fim de arquivo e -1 para erro.

Variaveis e constantes:
Variáveis podem ser elementos de vetor (representados por x[y], onde x é um vetor e y o índice) ou campos do arquivo de entrada (representados por $n, onde n representa o número do campo). Os vetores podem ser indexados por strings, as quais aparecem, obrigatoriamente, entre aspas duplas (“).
Variáveis internas:
Variável
	Significado
	
FILENAME
	Nome do arquivo de entrada corrente.
	
NF
	Número de campos no registro (linha de
	
	entrada) corrente.
	
NR
	Número do registro corrente.
	
OFS
	Separador de campos da saida (default
	
	espaço).
	
ORS
	Separador de linhas de saida (default
	
	newline).
	
RS
	Separador de linhas da entrada (default
	
	newline).
	
FS
	Separador de campos (default espaço e
	
	TAB).

Exemplos:
# Mostra os usuarios locais do sistema e seus
# respectivos nomes completos.
awk -F: '{print $1 " -> " $5)' /etc/passwd
 # Programa - AWK Eduardo M. Macan 1996
 # Calcula as médias dos alunos e a média da 
 # classe, a partir  de um arquivo texto contendo
 # um nome e duas notas em cada linha 
 # (por exemplo: Eduardo 5.7 7.5).

BEGIN {
    printf("Aluno\t\tMedia Final\n")
}

S1 {
    ++alunos;
    media=($2 + $3) / 2;
    printf ("%s\t\t%.2£\n",$1,media) ;
    total+=media
}

END {
    printf("Media da turma : %.2f\n",total/alunos)
}
#fim do programa
basename
Descrição
Retira o path e (opcionalmente) a extensão dos nomes de arquivos.
Sintaxe
basename <arquivo> [arquivo ...] [sufixo]
Exemplos
    basename /etc/passwd
    basename /home/staff/macan/images/*.gif .gif
cat
Concatena e mostra arquivos.
Sintaxe: cat [-etuv] [arquivo …]
Parâmetro
	Descrição
	
-e
	Similar a -v, mas imprime um cifrão ($) ao final
	
	de cada linha. Ignorado em alguns sistemas se
	
	não usado com -v.
	
-t
	Similar a -v, mas imprime caracteres de tabulação
	
	(tabs) como ^I. Ignorado em alguns sistemas se
	
	não usado com -v.
	
-u
	Processa a saída caractere a caractere, em vez
	
	de utilizar o buffer.
	
-v
	Imprime caracteres especiais de forma visivel
	
	(tabs e newlines sao processados).

Exemplos
# Copia stdin para o arquivo texto.txt
cat > texto.txt

# Cria o arquivo capitulo 1 como resultado da
# concatenação de texto1 e texto2.
cat texto1 texto2 > capitulo1

# Cria o arquivo arq3, como resultado da 
# concatenação de arq1, stdin e arq2.
cat arq1 - arg2 > arq3
cd
Muda o diretório de trabalho (função interna da shell). Se o diretório não for especificado, muda para o diretório HOME do usuário.
Sintaxe
cd [diretório]
Exemplos
# Muda o diretório de trabalho para o 
# diretório personal.
cd personal

# Muda o diretório de trabalho para o 
# diretório HOME do usuário leonardo.
cd ~leonardo

# Muda o diretório de trabalho para o
# diretório /home/staff/macan.
cd /home/staff/macan
chgrp
Muda o grupo de um arquivo.
Sintaxe:
chgrp [-R] <grupo> <arquivo> [arquivo ...]
Parâmetro
	Descrição
	
-R
	Muda ogrupo de todos os arquivos e subdiretórios
	
	abaixo do diretório especificado.

Obs: O grupo de um arquivo só pode ser mudado pelo dono; os grupos válidos são aqueles a que o dono pertence. Apenas o superusuário (root) pode mudar o grupo de arquivos dos outros usuários.
chmod
Altera permissões de acesso a arquivos.
Sintaxe:
chmod [-R] <modo> <arquivo> [arquivo ...]
Parâmetro
	Descrição
	
-R
	Muda o modo de acesso de todos os arquivos e
	
	subdiretórios abaixo do diretório especificado.
	
	modo Pode assumir modo simbólico ou absoluto, como
	
	descrito a seguir:

Modo simbólico:
O modo simbólico é uma lista de expressões da forma [identificador …] operando [valor] separada por vírgulas.
Identificador
	Descrição
	
u
	Permissões para o dono do arquivo.
	
g
	Permissões para o grupo do arquivo.
	
o
	Permissões para outros grupos.
	
a
	Todos os anteriores (all). Default se o
	
	identificador for omitido.

Operando
	Descrição
	
+
	Adiciona permissão às permissões
	
	existentes no arquivo.
	
-
	Retira permissão das permissões
	
	existentes no arquivo.
	
=
	Assinala explicitamente uma permissão
	
	(zerando as outras).

Valor
	Descrição
	
r
	Permissão para leitura.
	
w
	Permissão para escrita.
	
x
	Permissão para execução.
	
X
	Permissão para execução se o arquivo
	
	for um diretório ou já houver permissão.
	
s
	Bit setgid se atribuido a g, setuid se
	
	atribuído au.
	
t
	Bit sticky.

Modo absoluto:
As permissões neste modo são representadas por um número octal de quatro dígitos, da forma EUGO.
Dígito
	Significado
	
E
	Atributos especiais.
	
U
	Permissões para o dono do arquivo.
	
G
	Permissões para o grupo do arquivo.
	
O
	Permissões para outros grupos.
	
Para os
	dígitos UGO temos a seguinte interpretação:
	
Valor O
	ctal Significado

0 Nenhuma permissão. 1 Permissão de execução. 2 Permissão de escrita. 3 Permissão de execução e escrita. 4 Permissão de leitura. 5 Permissão de execução e leitura. 6 Permissão de leitura e escrita. 7 Permissão de leitura, escrita e execução.
Para o dígito E temos a seguinte interpretação:
Valor Octal
	Significado
	
0
	Nenhum atributo especial ligado.
	
1
	Bit sticky ligado.
	
2
	Bit setgid ligado.
	
3
	Bits sticky e setgid ligados.
	
4
	Bit setuid ligado.
	
5
	Bits sticky e setuid ligados.
	
6
	Bits setuid e setgid ligados.
	
7
	Bits sticky, setuid e setgid ligados.
	
Atributos es
	peciais:

Bit
	Significado
	
setuid
	O arquivo é executado como se fosse
	
	invocado pelo proprietário; nãofaz sentido
	
	para diretórios.
	
setgid
	O arquivo é executado sob seu grupo,
	
	mesmo que o usuário invocador não
	
	participe dele; todo arquivo criado em um
	
	diretório setgid é criado com o mesmo
	
	grupo do diretório.
	
sticky
	Um arquivo criado sob um diretório com
	
	o bit sticky ligado pode ser apagado
	
	apenas por seu proprietário. A
	
	interpretação do sticky bit pode variar
	
	entre sistemas Unix.

Obs: No modo absoluto, os zeros à esquerda são ignorados, no modo simbólico só faz sentido omitir valor utilizando o operador = para zerar os bits de permissão. Apenas o superusuário (root) pode alterar os atributos de um arquivo de outro usuário.
Exemplos:
# Adiciona permissão de execução pelo dono 
# ao arquivo meu. script
chmod u+x meu script

# Adiciona permissão de leitura e escrita 
# para o dono e para o grupo de usuários 
# ao qual o arquivo meu script pertence.
chmod ug+rw meu script

# Adiciona permissão de execução e escrita 
# pelo dono ao mesmo tempo que retira a 
# permissão de escrita do grupo e deixa outros
# grupos apenas lerem o conteúdo do arquivo.
chmod u+wx,g-w,o0=r meu script

# Confere permissão de leitura, escrita 
# e execução ao dono do arquivo, 
# leitura e execução ao grupo do arquivo e 
# nenhuma permissão aos demais grupos.
chmod 750 helloworld

# Equivalente ao anterior.
chmod 0750 helloworld

# Liga o sticky bit do diretório e dá 
# permissão de leitura, escrita e
# execução a todos os usuários do sistema.
chmod 1777 -macan/PUB/

# Confere permissão de leitura, 
# escrita e execução ao dono e de
# execução para grupo e outros 
# ao diretório HOME.
chmod 711 ~
cksum
Efetua o cálculo de CRC e mostra o tamanho do arquivo (em bytes).
Sintaxe: cksum [arquivo …]
Obs:
CRC significa Código de Redundância Ciclica. É um código numérico calculado a partir do conteúdo do arquivo, usado para verificar a integridade de arquivos ou dados em transmissão.
cmp
Compara dois arquivos binarios.
Sintaxe: cmp [-ls] <arquivo1> <arquivo2>
Parâmetro
	Descrição
	
-l
	Para cada diferença, mostra o número do byte
	
	inicial e os bytes que diferiram no formato octal
	
-s
	Modo silencioso; retorna apenas o status de
	
	saída (O=arquivos iguais, 1=arquivos diferentes,
	
	>1 erro).

comm
Compara arquivos texto, linha a linha. Os dois arquivos precisam estar ordenados por linha.
Sintaxe: comm [-123] <arquivo1> <arquivo2>
Parâmetro
	Descrição
	
-1
	Não mostra as linhas que aparecem apenas em
	
	arquivo.
	
-2
	Não mostra as linhas que aparecem apenas em
	
	arquivo2.
	
-3
	Não mostra as linhas comuns aos dois arquivos.

compress
Comprime arquivos aplicando a codificação adaptativa de Lempel-Ziv. O arquivo comprimido terá a extensão .Z.
Sintaxe:
compress [-cvf] [-b bits] <arquivo> [arquivo ...]
Parâmetro
	Descrição
	
-b
	bits Define o tamanho (em bits) das substrings usadas
	
	no processo de compressão (9a 16, default=16).
	
-c
	Comprime para a saída padrão (stdout), sem
	
	alterar arquivos.
	
-f
	Comprime sem considerar se o tamanho do
	
	arquivo vai ser realmente reduzido. Sobrescreve
	
	arquivos com o mesmo nome.
	
-v
	Mostra estatísticas de compressão na saída de
	
	erro padrao (stderr) .

Exemplo:
# Comprime todos os arquivos com extensão txt.
compress -v *.txt
cpio
Armazena ou recupera arquivos guardados em arquivos de armazenamento.
Sintaxe:
cpio -o [acvB] [C val]
cpio -i [cdfmrstuvS6B] [padrão ...]
cpio -p [adimuv] <diretorio>
Parâmetro
	Descrição
	
-6
	Processa arquivos no formato antigo de cpio.
	
	Usado somente com -i.
	
-B
	Usa blocos de 512 bytes.
	
-C val
	Usa blocos de val * 512 bytes.
	
-S
	Troca a posição das metades de cada palavra (4
	
	bytes) nos arquivos.
	
-a
	Mantém o tempo de cesso (access time) dos
	
	arquivos fonte.
	
-c
	Escreve e lê informações de cabeçalho no
	
	formato ASCII. Um arquivo criado com -c precisa
	
	ser lido com -c.
	
-d
	Cria diretórios conforme a necessidade.
	
-f
	Só copia arquivos que não coincidam com os
	
	padrões especificados.
	
-i
	Lê da entrada padrao um arquivo criado por cpio -o
	
	e extrai os arquivos armazenados.
	
-l
	Usa links em vez de copiar arquivos, sempre que
	
	possivel. Deve ser usado com -p.
	
-m
	Mantém a data de modificação dos arquivos.
	
	Não funciona com diretórios.
	
-o
	Lê nomes de arquivos da entrada padrão (stdin)
	
	e os copia para a saída padrão, junto com a
	
	informação necessária para recuperá-los com
	
	cpio -i.
	
-p
	Lê nomes de arquivos da entrada padrão (stdin)
	
	e copia os arquivos para o diretório especificado.
	
-r
	Renomeia arquivos interativamente. Um ponto
	
	(.) mantém o mesmo nome do arquivo, enter faz
	
	cpio ignorar o arquivo.
	
-s
	Troca a posição dos bytes dos arquivos. Deve
	
	ser usada com -i.
	
-t
	Cria uma tabela de conteúdo. Não copia arquivos.
	
-u
	Copia incondicionalmente, substituindo arquivos
	
	homônimos que sejam mais novos.
	
-V
	Lista o nome dos arquivos.

Exemplos:
# Copia todos os arquivos listados pelo 
# arquivo  texto arquivos.txt
# para o arquivo de armazenamento arq.cpio.
cpio -o < arquivos.txt > arq.cpio

# Extrai todos os arquivos armazenados 
# em arq.cpio.
cpio -i < arg.cpio
cp
Copia um ou vários arquivos. Quando vários arquivos estão sendo copiados, destino deve se referir a um diretório.
Sintaxe:
cp [-ipr] <arquivo> [arquivo ...] <destino>
Parâmetro
	Descrição
	
-i
	Solicita confirmação antes de copiar cada arquivo.
	
-p
	Mantém na cópia as datas de modificação e as
	
	permissões do arquivo original.
	
-r
	Copia todos os arquivos e subdiretórios abaixo
	
	do diretório especificado. Neste caso, destino
	
	deve se referir a um diretório.

Exemplos:
# Copia todo o diretório html do usuário leonardo
# para o diretório /www.
cp -r ~leonardo/html/ /www
cut
Seleciona trechos de cada linha de arquivos texto.
Sintaxe:
cut -flista [-dc] [-s] [arquivo ...]
cut -clista [arquivo ...]
Parâmetro
	Descrição
	
-
	Indica explicitamente que a entrada deve ser
	
	tomada de stdin.
	
-c lista
	Seleciona caracteres de cada linha do arquivo.
	
	lista é uma lista de valores inteiros ou intervalos
	
	separados por virgulas.
	
-f lista
	Seleciona campos em cada linha do arquivo.
	
	Veja também o parâmetro -c.
	
-dc
	Especifica o delimitador de campos como sendo o
	
	caractere c em vez do caractere de tabulação.
	
-s
	Ignora linhas sem delimitadores de campos.

Exemplos:
# Mostra **userid** e nome completo dos usuários locais
cut -d: -f1,5 /etc/passwd

echo "Eduardo Marcel Macan"|cut -c-7,15-

echo "blues&rock&bolero"|cut -d\& -f1,2
dd
Copia, converte e formata arquivos.
Sintaxe:
dd [opção=valor...]
Parâmetro
	Descrição
	
bs=n
	Configura ibs=n bytes e obs=n bytes.
	
cbs=n
	Converte n bytes de cada vez.
	
count=n
	Copia apenas n blocos de entrada.
	
ibs=n
	Lê n bytes de entrada de cada vez.
	
if=arq
	Lê o arquivo arq em vez de stdin.
	
obs=n
	Escreve n bytes no arquivo de saída de cada vez.
	
of=arq
	Escreve no arquivo arq em vez de escrever em
	
	stdout e não trunca o arquivo.
	
seek=n
	Busca o n-ésimo bloco de tamanho obs do
	
	arquivo de entrada antes de começar a cópia.
	
skip=n
	Ignora os n primeiros blocos de tamanho igual a
	
	ibs na entrada.
	
conv=chave[,chave…]
	Converte o arquivo segundo a lista de chaves
	
	separadas por vírgulas. Chaves podem ser:
	
	ascii Converte de EBCDIC para ASCII.
	
	ebcdic Converte de ASCII para EBCDIC.
	
	ibm Converte de ASCII para EBCDIC usando
	
	tabela alternativa.
	
	block Preenche registros terminados por newline
	
	com espaços até que estes atinjam otamanho
	
	especificado por cbs.
	
	unblock Substitui espaços finais em registros de
	
	tamanho fixo cbs por newline.
	
	lcase Converte para minúsculas.
	
	ucase Converte para maiúsculas.
	
	swab Troca pares de bytes de posição.
	
	noerror Ignora a ocorrência de erros.
	
	notrunc Não trunca o arquivo de saída.
	
	sync Preenche cada bloco de entrada com NULs até
	
	atingir o tamanho especificado por ibs.
	
	n pode apresentar um multiplicador, que pode ser m
	
	(megabytes), k (kilobytes), b (blocks - 512 bytes) ou
	
	c (characters - bytes).

Exemplos:
# Converte arquivo de ebcdic para ascii minúsculas.
dd if=ebcdic.txt of=ascii.txt conv=ascii, lcase

# Converte a saída do comando ls para maiúsculas.
ls | dd conv=ucase
df
Mostra dados de ocupação dos sistemas de arquivo especificados oudo sistema de arquivo onde residem os arquivos passados como parâmetro. Chamado sem parâmetros, df mostra a ocupação de todos os sistemas de arquivos montados (mounted).
Sintaxe:
df[-k] [arquivo...] [filesystem...]
Parâmetro
	Descrição
	
-k
	Mostra a ocupação em kilobytes em vez de
	
	blocos de disco (algumas versões de df).

Exemplo:
df /tmp / /var
diff
Mostra as diferenças entre dois arquivos
diff [-bcefir] [-D str] [-S arq] <arquivo1> <arquivo2>
Parâmetro
	Descrição
	
-b
	Ignora sequências de espaços em branco e
	
	caracteres de tabulação (TAB).
	
-c
	Produz uma listagem das diferengas usando
	
	linhas de contexto.
	
-D str
	Produz uma versão mista dos dois arquivos,
	
	usando controles do pré-processador de C e str
	
	como macro de controle.
	
-e
	Cria uma sequência de comandos do editor ed
	
	que permite recriararquivo2a partir doarquivo1.
	
-f
	Produz uma saída similar à opção -e, mas de
	
	interpretação mais simples.
	
-
	Considera letras maiúsculas e minúsculas
	
	equivalentes.
	
-S arq
	Inicia a comparação de dois diretórios a partir do
	
	arquivo arg.
	
-r
	Também processa os subdiretórios quando
	
	comparando diretórios.

Exemplo:
diff -f /etc/passwd.old /etc/passwd
du
Mostra quantos blocos de disco são ocupados por arquivos ou diretórios. Se um argumento for um diretório du, mostrará a ocupação de seus subdiretórios.
Sintaxe:
du [-ask] [arquivo ...]
Parâmetro
	Descrição
	
-a
	Mostra uma entrada para cada arquivo que não
	
	seja um diretório.
	
-s
	Mostra apenas o valortotal de ocupação de cada
	
	diretório especificado.
	
-k
	Mostra a ocupação em kilobytes em vez de blocos
	
	de disco (algumas versões de du).

Exemplo:
du -s -macan
file
Determina o tipo dos arquivos examinando seu conteúdo.
Sintaxe:
file [-cLz] [-m arq] [-f arq] [arquivo ...]
Parâmetro
	Descrição
	
-c
	Procura erros no arquivo de números mágicos
	
	(magic numbers) antes de usá-lo.
	
-f arq
	Determina otipodos arquivos listados no arquivo
	
	arq.
	
-L
	Segue links simbólicos.
	
-m arq
	Usa o arquivo especificado por arq como arquivo
	
	de números mágicos, em vez de /etc/magic.
	
-z
	Determina o tipo dos arquivos que foram
	
	comprimidos.

Exemplo:
# Investiga o tipo do arquivo postscriptfile.ps.
file postscriptfile.ps
find
Percorre os diretórios (e seus subdiretórios) especificados mostrando os arquivos com as características desejadas.
Sintaxe:
find <diretório> [diretório ...] [expressão]
Parâmetro
	Descrição
	
expressão
	As seguintes primitivas podem ser
	
	combinadas para definir expressão.
	
-atime n
	Verdadeiro se o arquivo tiver sido
	
	acessado há n dias.
	
-ctime n
	Verdadeiro se o arquivo tiver sido mudado
	
	há n dias.
	
-exec c;
	Verdadeiro se o comando c retornar zero
	
	após sua execução.
	
-fstype x
	Verdadeiro se o arquivo residir em um
	
	sistema de arquivos do tipo x.
	
-group x
	Verdadeiro se o arquivo pertencer ao
	
	grupo x.
	
-inum n
	Verdadeiro se o número do i-node do
	
	arquivo for igual a n.
	
-links n
	Verdadeiro se houver n links para o arquivo.
	
-mtime n
	Verdadeiro se o arquivo tiver sido
	
	modificado há n dias.
	
-ok c;
	Similar a -exec, porém pedindo
	
	confirmação prévia.
	
-name x
	Verdadeiro se x coincidir com o nome do
	
	arquivo corrente.
	
-newer x
	Verdadeiro se o arquivo tiver sido
	
	modificado mais recentemente do que o
	
	arquivo x.
	
-nouser
	Verdadeiro se o arquivo corrente não
	
	pertencer a nenhum usuário listado no
	
	arquivo /etc/passwd.
	
-nogroup
	Verdadeiro se o arquivo corrente não
	
	pertencer a nenhum grupo listado no
	
	arquivo/etc/group.
	
-perm [-]modo
	Verdadeiro se coincidirem as permissões
	
	do arquivo e modo. Se precedido por -,
	
	apenas os bits ligados de modo serão
	
	comparados.
	
-print
	Sempre verdadeiro. Imprime o nome do
	
	arquivo corrente.
	
-prune
	Não entra em subdiretórios.
	
-size n[c]
	Verdadeiro se o tamanho do arquivo for
	
	de n blocos. Se seguido pela letra c, o
	
	tamanho será interpretado em bytes.
	
-type t
	Verdadeiro se o tipo do arquivo
	
	corresponder a t, onde t é um entre:
	
	b Block device.
	
	c Character device.
	
	d Diretório.
	
	l Link.
	
	p Arquivos comuns (plain files).
	
	f FIFO.
	
	s Socket.
	
-user x
	Verdadeiro se o arquivo pertencer ao
	
	usuário x.
	
(exp)
	Verdadeiro se a expressão entre
	
	parênteses for verdadeira. Os parênteses
	
	serão interpretados pela shell se não
	
	forem precedidos por.
	
operadores
	Pode-se combinar diversas expressões
	
	usando os seguintes operadores (emordem
	
	decrescente de precedéncia)
	
!exp
	Operador de negação (o caractere. ! é
	
	interpretado pela shell e deve ser
	
	precedido por).
	
exp -and exp
	Operador ‘E’ lógico. Retorna verdadeiro
	
	se ambas as expressões forem
	
	verdadeiras.
	
exp -a exp
	Algumas versões de find usam -a no
	
	lugar de -and.
	
exp -or exp
	Operador ‘OU’ lógico. Retorna verdadeiro
	
	se pelo menos uma das duas expressões
	
	for verdadeira.
	
exp -o exp
	Algumas versões de find usam -o no
	
	lugar de -or.

Exemplos:
# Lista todos os arquivos no diretório HOME 
# do usuário macan que não têm extensão .c.
find ~macan \! -name “*.c" -print

# Lista todos os arquivos no diretório HOME 
# com permissão de execução pelo proprietário.
find ~ -perm -100 -print
grep
Encontra ocorrências de um padrão dentro de arquivos.
Sintaxe:
grep [-cilnsv] <padrão> [arquivo ...]
Parâmetro
	Descrição
	
-c
	Mostra apenas o número de linhas que contêm
	
	o padrão.
	
-i
	Não diferencia letras maiúsculas de minúsculas.
	
-l
	Mostra apenas os nomes dos arquivos que
	
	contêm o padrão.
	
-n
	Mostra cada linha que contém o padrao
	
	precedida por seu numero dentro do arquivo.
	
-s
	Não mostra mensagens de erro produzidas por
	
	tentativas de acesso a arquivos.
	
-v
	Mostra apenas as linhas que nao contém o
	
	padrão especificado.

Obs: Recomenda-se que padrão apareça entre aspas simples (’), pois alguns caracteres ( notadamente $,*,[, ^, | ,( ,) e  ) tem significado especial para a shell e podem ser interpretados erroneamente.
Exemplos:
# Mostra o número de usuários locais que   
# se chamam "Mauro".
grep -ci 'Mauro' /etc/passwd

# Mostra os arquivos no diretório html 
# que contêm a string Maçan (em HTML).
grep -l 'Ma&ccedil;an' html/*
head
Mostra as primeiras linhas de arquivos.
Sintaxe:
head [-c n | -n n |-b 1 ] [-f] [arquivo ...]
Parâmetro
	Descrição
	
-b n
	Mostra os últimos n blocos do arquivo.
	
-c n
	Mostra os últimos n caracteres do arquivo.
	
-f
	Faz com quehead não pare detentar ler, mesmo
	
	encontrando o fim do arquivo, assumindo que o
	
	mesmo está crescendo.
	
-n n
	Mostra as últimas n linhas do arquivo.
	
-#[b|c|l]
	Onde # é o numero de linhas (default), caracteres
	
	ou blocos a serem mostrados. Disponivel em
	
	algumas versões.

Exemplo:
# Mostra as primeiras linhas do arquivo mydecls.h..
head mydecls.h
ln
Cria links para arquivos ou diretórios. In cria tanto links simbólicos (soft links) como diretos (hard links). Default=links diretos.
Sintaxe:
ln [-fs] <destino> <nome>
ln [-fs] <arquivo> [arquivo ...] <diretório>
Parâmetro
	Descrição
	
-f
	Força a criação do link, ignorando acessibilidade
	
	ou existência de arquivos.
	
-s
	Cria um link simbólico (soft link).

ls
Lista o conteúdo de diretórios.
Sintaxe:
ls [-aAcCdfFiLqrRstu1] [arquivo ...]
Parâmetro
	Descrição
	
-a
	Inclui entradas do diretório cujos nomes
	
	comecem com “.”, normalmente omitidas.
	
-A
	Lista todas as entradas, exceto “.” e “..”, esta
	
	opção é default para o superusuário (root).
	
-c
	Usa a data de modificação do arquivo para a
	
	ordenação ou impressão.
	
-C
	Formata a saída em múltiplas colunas; default
	
	quando a saída é o terminal.
	
-d
	Trata diretórios como arquivos comuns e não
	
	segue links simbólicos.
	
-f
	Não ordena a saída.
	
-F
	Diferencia os tipos de arquivos concatenando
	
	caracteres a seus nomes:
	
	/ Diretórios.
	
	* Arquivos executáveis.
	
	@ Links simbólicos.
	
	= Sockets.
	
	| Pipes.
	
-i
	Imprime o número do i-node de cada arquivo.
	
-l
	Lista usando o formato longo.
	
-L
	Se o argumento for um link simbólico, lista o
	
	arquivo ou diretório referenciado.
	
-q
	Força a impressão de caracteres não gráficos
	
	nos nomes dos arquivos, como, por exemplo,
	
	pontos de interrogação (?).
	
-r
	Reverte a ordenação para obter ordem alfabética
	
	inversa, ou arquivos mais antigos primeiro.
	
-R
	Lista também o conteúdo dos subdiretórios
	
	abaixo do diretório especificado.
	
-s
	Mostra o número de blocos de disco usados
	
	pelos arquivos.
	
-t
	Ordena os resultados cronologicamente.
	
-u
	Usa a data do ultimo acesso ao arquivo paraa
	
	ordenação ou impressão.
	
-1
	Mostra um elemento por linha de saida.

Obs: O formato longo mostra informações sobre o tipo de arquivo e suas permissões de acesso como uma string de dez caracteres, onde o primeiro identifica o tipo dos arquivos da seguinte forma:
Caractere
	Tipo
	
b
	Block device.
	
e
	Character device.
	
d
	Diretório.
	
l
	Link.
	
p
	FIFO (named pipe).
	
s
	Socket da familia AF_UNIX.
	
-
	Arquivo comum (plain file).

Os outros nove caracteres referem-se cada um a um bit de permissão de acesso, os três primeiros às permissões do proprietário, os três seguintes às permissões do grupo do arquivo e os últimos às permissões de acesso para outros grupos. Podem assumir os seguintes valores:
Caractere
	Permissão
	
r
	permissão de leitura.
	
w
	permissão de escrita.
	
x
	permissão de execução.
	
-
	bit de permissão desligado.

Os caracteres de permissão de execução do proprietário e do grupo serão mostrados como “s” se os bits de setuid e setgid do arquivo estiverem ligados, respectivamente. O sticky bit ligado será mostrado como um “t” no lugar do caractere de permissão de execução para outros grupos. As letras “S”e”T” maiúsculas serão mostradas no lugar de “s“e”t” quando o bit de permissão de execução correspondente não estiver ligado.
Exemplos:
ls -la /etc/passwd ls /etc
ls -lad /etc de sla-fero
mkdir
Cria diretórios.
Sintaxe:
mkdir [-p] <diretório> [diretório ...]
Parâmetro
	Descrição
	
-p
	Cria os diretórios intemediários do path se
	
	necessário.

Exemplos:
# Cria o diretório livro e componentes 
# intermediários do path se necessário.
mkdir -p ./pub/docs/livro

# Cria vários diretórios.
mkdir dirl ../dir2 /usr/local/src/dir3
mkfifo
Cria FIFOs (named pipes). Para maiores informações sobre named pipes, consulte os manuais on-line do sistema e a leitura recomendada ao final deste guia.
Sintaxe:
mkfifo [nome ...]
more
Mostra arquivos texto página a página.
Sintaxe:
more [-csu] [arquivo ...]
Parâmetro
	Descrição
	
-c
	Escreve a partir do topo da tela em vez de rola-
	
	la.
	
-s
	Substitui múltiplas linhas em branco consecutivas
	
	por apenas uma.
	
-u
	Trata caracteres de retrocesso (backspace) e
	
	sequéncias CR-LF de maneira especial.

Exemplo:
# Útil para investigação de diretórios com muitas entradas.
ls -la |more

more /etc/passwd
mv
Move ou renomeia arquivos e diretórios. Se múltiplos arquivos forem especificados, destino deverá necessariamente ser um diretório.
Sintaxe:
mv [-fi] <arquivo> [arquivo ...] <destino>
Parâmetro
	Descrição
	
-f
	Não pede confirmação antes de sobrescrever
	
	um arquivo ja existente.
	
-i
	Pede confirmação antes de mover um arquivo
	
	que irá sobrescrever outro.

Exemplos:
mv livro livro.old

mv linux/docs/*HOWTO ../linux/
paste
Mostra lado a lado o conteúdo de arquivos.
Sintaxe:
paste [-d lista] [-s] [arquivo ...]
Parâmetro
	Descrição
	
-d lista
	Usa os caracteres da string lista como
	
	separadores em vez de TAB. Quando o último
	
	caractere for utilizado, o primeiro será utilizado i
	
	novamente. Os seguintes caracteres especiais
	
	podem ser usados como separadores:
	
	\n Quebra de linha (newline).
	
	\t Tabulação (TAB).
	
	\\ Barra invertida (backslash).
	
	\0 String vazia (não o caractere NUL).
	
-s
	Concatena todas as linhas de cada arquivo em separado,
	
	na ordem em que foram especificados na linha de comando.
	
-
	Usa stdin como entrada.

Obs: Caso um arquivo seja menor do que os outros, ele será tratado como se tivesse um número infinito de linhas vazias após sua última linha.
patch
Atualiza arquivos com as modificações indicadas pela saída do comando diff.
Sintaxe:
patch [arqorig]
Obs: patch lerá o arquivo de diferenças gerado por diff da entrada padrão e o aplicará ao arquivo arqorig, gerando assim uma versão idêntica do arquivo contra o qual arq1 foi comparado por diff. Caso argorig não seja especificado, patch perguntará ao usuário a qual arquivo devem ser aplicadas as alterações.
pwd
Mostra o diretório corrente.
Sintaxe:
pwd
rmdir
Remove diretorios vazios.
Sintaxe:
rmdir <diretorio> [diretorio ...]
rm
Remove arquivos.
Sintaxe:
rm [-firR] <arquivo> [arquivo ...]
Parâmetro
	Descrição
	
-f
	Efetua a eliminação sem solicitar confirmação.
	
-i
	Solicita confirmação antes de remover.
	
-r ou -R
	Causa a remoção de todos os arquivos e
	
	subdiretórios abaixo do diretório especificado
	
	(inclusive o próprio).

Exemplos:
rm -rf -macan/src/compilador

rm -1 *.g1f *. jpg
sort
Ordena linhas de arquivos.
Sintaxe:
sort [+p1 [-p2]] [-k p1[,p2]] [-bedfimMnru]
    [-o arq] [-te] [Tdir] [arquivo ...]
Parâmetro
	Descrição
	
+p1 [-p2]
	Especifica a posição da chave de ordenação nas
	
	linhas do arquivo, entre p1 e p2. Conta a partir de
	
	0.
	
-b
	Ignora brancos (espaços e newlines) antes das
	
	chaves de ordenação.
	
-c
	Verifica se os arquivos ja estao ordenados; nao
	
	ordena.
	
-d
	Considera apenas letras e digitos como parte
	
	das chaves de ordenacao.
	
-f
	Converte letras minúsculas em maiúsculas antes
	
	de efetuar as comparações.
	
-i
	Considera parte das chaves apenas os
	
	caracteres visíveis num terminal.
	
-k p1[,p2]
	Similar a +p1 [-p2], porém campos e caracteres
	
	contam a partir de 1.
	
-m
	Mescla (merge) arquivos já ordenados; não
	
	efetua ordenação.
	
-M
	Ordena usando uma string como, por exemplo,
	
	nome de mês; implica -b.
	
-n
	Ordena usando o valor numérico da string; implica
	
	-b.
	
-o arg
	Escreve sua saída no arquivo arq em vez de
	
	stdout.
	
-r
	Reverte a ordenação.
	
-tc
	Use c como separador de campos.
	
	Default=espaços e newlines.
	
-T dir
	Armazena arquivos temporários no diretório dir.
	
-u
	Elimina linhas com campos repetidos. Em
	
	conjunto com -m.

Obs: p1 e p2 têm a sintaxe f.c, onde f representa um campo e c um caractere contado a partir do início do campo (para +p) ou do fim do campo (para -p).
Exemplos:
# Ordena o conteúdo de arquivo, usando o 
# segundo campo (palavra, no sentido de texto)
# como chave de ordenação.
sort -k 2,2 arquivo

# Ordena o arquivo arq e armazena 
# a saida em arg.ord.
sort arq -ro arq.ord

# Mostra o arquivo local de senhas ordenado 
# por user id (o terceiro campo separado 
# por dois pontos).
cat /etc/passwd|sort -nt: -k 3,3
split
Divide um arquivo em várias partes.
Sintaxe:
split [-I nl] [-a suf] [arquivo [prefixo]]
split -b n[k|m] [-a suf] [arquivo [prefixo]
Parâmetro
	Descrição
	
-a suf
	Especifica o numero de letras a serem usadas
	
	para compor o sufixo; default=2.
	
-b n[k|m]
	Especifica o número de bytes de cada parte a ser
	
	quebrada; os modificadores k (Kilobytes) e
	
	m (Megabytes) são válidos.
	
-l nl
	Especifica o número de linhas a serem usadas
	
	para quebrar um arquivo. Só faz sentido com
	
	arquivos texto; default= 1000.
	
prefixo
	Especifica o prefixo a ser usado no nome de
	
	cada parte do arquivo original; default=x.

Obs: As opções -b e -| são mutuamente exclusivas.
Exemplo:
# Quebra o arquivo browser.tgz em vários blocos
# de aprox. 1.4Mb.
split -b1400k browser.tgz brow
strings
Encontra texto em arquivo binários.
Sintaxe:
strings [-ao] [arquivo ...]
Parâmetro
	Descrição
	
-a
	Procura strings ao longo de toda a extensão do
	
	arquivo e não somente nos segmentos de texto
	
	e dados dos arquivos objeto.
	
-o
	Imprime o offset de cada string dentro do arquivo.

Exemplo:
strings /usr/lib/libc.a
tail
Mostra as linhas finais de um arquivo. Algumas versões de tail aceitam no máximo um arquivo como entrada.
Sintaxe:
tail[-cn|-nn|-bn][-f] [arquivo ...]

tail [-#[b|c|I] ] [-f] [arquivo ...]
Parâmetro
	Descrição
	
-b n
	Mostra os últimos n blocos do arquivo.
	
-c n
	Mostra os últimos n caracteres do arquivo.
	
-f
	Faz com que tail não pare de ler o arquivo
	
	mesmo encontrando seu fim. Útil quando o
	
	arquivo está aumentando constantemente.
	
-n n
	Mostra as últimas n linhas do arquivo.
	
-#[b|c|l]
	Onde # é o número de linhas (default), caracteres
	
	ou blocos a serem mostrados. Presente apenas
	
	em algumas versões do comando tail.

Exemplo:
# Lista as últimas mensagens do sistema.
tail /var/adm/messages
tar
Armazena vários arquivos e diretórios dentro de um único arquivo ou dispositivo.
Sintaxe:
tar [txcrumphvw] [f arq] [-b bIk] [-C dir] [arquivo ...]
Parâmetro
	Descrição
	
-C dir
	Muda o diretório de trabalho para o diretório dir.
	
	Pode aparecer mais de uma vez entre nomes de
	
	arquivos.
	
-b blk
	Especifica o tamanho do bloco de dados.
	
-c
	Cria um novo arquivo tar.
	
-f arq
	Usa o arquivo ou dispositivo arq para
	
	armazenamento ou recuperação.
	
-h
	Armazena cópia dos arquivos aos quais foi feita
	
	referência em vez de armazenar cópia dos links.
	
-m
	Não extrai a data de modificação dos arquivos
	
	armazenados.
	
-p
	Extrai as permissões de acesso originais dos
	
	arquivos.
	
-r
	Inclui arquivos ao final (append) de um arquivo tar.
	
-t
	Lista o conteúdo de um arquivo tar.
	
-u
	Inclui somente (append) arquivos que não
	
	estejam presentes, ou que sejam mais novos do
	
	que o arquivo tar.
	
-v
	Lista arquivos processados.
	
-w
	Solicita confirmação antes de cada ação.
	
-x
	Extrai arquivos armazenados em um arquivo tar.

Obs: Os parâmetros podem ser agrupados logo após o comando, (não necessariamente precedidos por - ). Nesse caso, quaisquer valores associados devem ser informados na mesma ordem que os parâmetros correspondentes. Compare os quatro últimos exemplos.
Exemplos:
# Cria o arquivo files.tar, muda para o diretorio /etc 
# e inclui o arquivo arq1 em files.tar, muda para o 
# diretório /usr e inclui o arquivo arg2, bem como 
# imprime os nomes dos arquivos em stdout.

tar cvf files.tar -C /etc arql -C /usr arq2

# Todos os exemplos abaixo incluem todos os arquivos 
# com extensão .gif no arquivo images.tar, 
# com blocagem de 512 bytes.

tar cvfb images.tar 512 *.gif

tar cvf images.tar: -b 512 *.gif

tar -cv -f images.tar -b 512 *.gif

tar -c -v -f images.tar -b 512 *.gif
touch
Atualiza a data de acesso do arquivo. Caso o arquivo não exista, touch irá criá-lo vazio por default.
Sintaxe:
touch [-c] <arquivo> [arquivo ...]
Parâmetro
	Descrição
	
-c
	Não cria o arquivo caso ele não exista.

Exemplo:
touch helloworld
uncompress
Descompacta arquivos compactados porcompress, restaurando seus nomes originais.
Sintaxe:
uncompress [-cv] [arquivo ...]
Parâmetro
	Descrição
	
-c
	Descompacta direcionando a saída para a saída
	
	padrão (stdout), sem alterar arquivos.
	
-v
	Imprime suas ações na saída de erro padrão
	
	(stderr).

Exemplo:
# Descomprime os arquivos comprimidos no 
# exemplo do comando compress.

uncompress -v \*.txt.Z
uniq
Notifica ou filtra a ocorréncia de linhas repetidas adjacentes em um arquivo texto.
Sintaxe:
uniq [-cdu] [-f n] [-s n] [argent [arqsai] ]
Parâmetro
	Descrição
	
-c
	Precede cada linha de saída com o número de
	
	vezes que a mesma ocorreu na entrada.
	
-d
	Mostra apenas as linhas que aparecem repetidas
	
	na entrada.
	
-f n
	Ignora os n primeiros campos (palavras
	
	separadas por espaços, tabs ou newlines) na
	
	comparação entre linhas.
	
-s n
	Ignora os n primeiros caracteres em cada linha
	
	de entrada. Se usado com -f, os n primeiros
	
	caracteres após os campos ignorados também
	
	serão ignorados.
	
-u
	Não mostra as linhas que se repetem na entrada.

Obs: Serão usados argumentos adicionais como, por exemplo, o nome de um arquivo de entrada e um de saída, respectivamente.
uudecode
Decodifica um arquivo preparado por uuencode.
Sintaxe:
uudecode [arquivo ...]
Obs: uudecode ignora quaisquer cabeçalhos de e-mail ou texto adicional que tenham sido acrescentados no início ou no final dos arquivos.
uuencode
Converte arquivos binários em um equivalente ASCII, o qual poderá ser utilizado para transmissão via e-mail.
Sintaxe:
uuencode [arquivo] <nome>
Parâmetro
	Descrição
	
arquivo
	Arquivo de entrada. Se omitido, os dados serão
	
	lidos da entrada padrão (stdin).
	
nome
	O nome que o arquivo terá ao ser decodificado.

Obs: Apenas as permissões de leitura e escrita serão preservadas no arquivo decodificado.uencodegera arquivos, em média, 35% maiores do que seus originais binários. Veja também uudecode.
Exemplos:
uuencode Livro.tar.gz livro.tgz | mail editor

uuencode forest.gif trees.gif > image.uu
vi
Editor de textos.
Sintaxe:
vi [arquivo]
Utilização:
Há dois modos de trabalho no vi, o modo de comando e o modo de edição ou entrada. No modo de comando pode-se movimentar pelo texto, copiar e eliminar linhas e caracteres; o modo de edição é onde entramos o texto propriamente dito.
Vários comandos nos levam ao modo de edição, mas apenas a tecla de escape (<esc>) nos leva ao modo de comando. Pode-se fazer com que um comando se repita automaticamente um determinado número de vezes, bastando digitar o número de repetições antes do nome do comando. Os comandos que permitem essa característica estarão precedidos por [n]; omitir n equivale a digitar 1 antes do comando.
Comando
	Descrição
	
[n]h
	Move o cursor n caracteres à esquerda.
	
[n]l
	Move o cursor n caracteres à direita.
	
[n]k
	Move o cursor n caracteres acima.
	
[n]j
	Move o cursorn caracteres abaixo.
	
/texto
	Procura a cadeia texto no arquivo e move o
	
	cursor para a sua primeira letra.
	
[n]a
	Insere texto após o cursor.
	
[n]i
	Insere texto antes do cursor.
	
[n]o
	Insere uma nova linha abaixo do cursor e inicia
	
	a inserção de texto.
	
[n]O
	Insere uma nova linhaacimado cursor inicia a
	
	inserção de texto.
	
[n]yy
	Copia a linha em que se encontra o cursor.
	
u
	Desfaz a última edição feita no texto.
	
[n]p
	Insere a linha copiada após a linha onde está o
	
	cursor.
	
[n]dd
	Elimina a linha onde está o cursor (a linha apagada
	
	pode ser inserida novamente com p).
	
[n]x
	Elimina o caractere sobre o cursor.
	
:w [nome]
	Atualiza o arquivo editado ou grava-o com outro
	
	nome caso tenha sido especificado um nome.
	
:w nome
	Grava o texto no arquivo especificado por nome.
	
:q[!]
	Sai do editor de textos. Se o texto foi modificado
	
	e não foi salvo o caractere opcional ! fará com
	
	que qualquer modificação seja ignorada.
	
<esc>
	Entra no modo de comando ou cancela
	
	comandos não terminados.
	
[n].
	Repete n vezes o último comando que modificou o
	
	texto.
	
número
	Move ocursor para a linha número.
	
0 (zero)
	Move o cursor para o primeiro caractere dalinha.
	
[n]A
	Entra no modo de edição, inserindo o texto ao
	
	final da linha.
	
[n]G
	Move o cursor até a linhan ou até a última linha
	
	caso n não tenha sido especificado.
	
[n]J
	Junta n linhas consecutivas do texto a partir do
	
	cursor.
	
U
	Restaura a linha atual ao estado em que ela se
	
	encontrava antes da ultima visita do cursor.
	
[n]~
	Inverte a caixa (case) dosn caracteres seguintes
	
	ao cursor.

Obs: Note que alguns caracteres especiais podem utilizar mais de uma posição na tela e, que algumas linhas de texto podem utilizar mais do que o número de caracteres mostrados em uma linha do terminal; as modificações se aplicam a toda a linha de texto sobre a qualo cursor se encontrarenão à linha do terminal.
wc
Conta o número de palavras, linhas ou bytes (caracteres) de um arquivo.
Sintaxe:
wc [-clw] [arquivo ...]
Parâmetro
	Descrição
	
-c
	Mostra onúmero de caracteres (bytes) do arquivo.
	
-l
	Mostra o número de linhas de um arquivo.
	
-w
	Mostra o numero de palavras de um arquivo.

Obs: Por default wc irá imprimir todas as contagens. Palavras são strings separadas por espaços, TABs ou newlines e linhas são strings terminadas por newline.
Exemplos:
wc -l /etc/passwd

wc -c ./*
Comandos de Terminal
banner
Escreve com letras grandes.
Sintaxe:
banner [string]
Parâmetro
	Descrição
	
string
	Texto a ser escrito em letras garrafais.

clear
Limpa o terminal.
Sintaxe:
clear
echo
Escreve no terminal (Função interna da shell).
Sintaxe:
echo [-n] [string ...]
Parâmetro
	Descrição
	
-n
	Não imprime quebra de linha após argumentos
	
	(presente em algumas versões de shell).

Exemplo:
echo 'Hello World!!!'
mesg
Controla o recebimento de mensagens pelo terminal. Sem argumentos mesg, mostra o estado atual.
Sintaxe:
mesg [y|n]
Parâmetro
	Descrição
	
y
	Liga o recebimento de mensagens.
	
n
	Desliga o recebimento de mensagens.

stty
Altera as opções de I/O de um terminal. Se invocado sem parâmetros, stty mostrará a configuração atual do terminal na saída padrão de erros (stderr).
Sintaxe:
stty[-ag] [opção ...]

stty [carcontrole string]...
Utilização: Na segunda sintaxe descrita, stty mapeia um caractere de controle para uma dada string.
Caractere
	Descrição
	
eof
	Identifica o caractere de fim de arquivo.
	
eol
	Identifica o caractere de fim de linha.
	
erase
	Identifica o caractere de retrocesso (backspace).
	
intr
	Identifica o caractere de interrupção de processo.
	
kill
	Identifica o caractere que apaga toda a linha do
	
	terminal.
	
quit
	Identifica o caractere de término de processo.
	
susp
	Identifica o caractere de suspensão de processo.

Parâmetro
	Descrição
	
-a
	Mostra o estado atual de todas as opções.
	
-g
	Mostra o estado atual num formato que pode ser
	
	usado como argumento para o comando stty.
	
Opções
	(a presença do caractere - desabilita a opção)
	
[-]istrip
	Limita (ou não) caracteres de entrada a 7 bits.
	
[-]inlcr
	Mapeia (ou não) NL para CR na entrada.
	
[-]igncr
	Ignora (ou não) CR na entrada.
	
[-]icrnl
	Mapeia (ou nao) CR para NL na entrada.
	
[-]onlcr
	Mapeia (ou não) NL para CR-NL na saída.
	
[-]isig
	Habilita (ou desabilita) achecagem de caracteres
	
	contra os caracteres especiais INTR, QUIT e
	
	SUSP.
	
[-]icanon
	Habilita (ou desabilita) a entrada canônica
	
	(processamento de ERASE e KILL)
	
[-]echo
	Ecoa ao terminal (ou não) todo caractere digitado.
	
[-]echoe
	O caractere ERASE deve (ou não) apagar
	
	visualmente o caractere anterior ao cursor no
	
	terminal.
	
[-]echok
	Ecoa (ou nao) um newline após um caractere
	
	KILL.
	
[-]echonl
	Ecoa (ou não) newlines mesmo que echo esteja
	
	desligado.
	
[-]noflsh
	Habilita (ou desabilita) descartes após INTR,
	
	QUIT e SUSP.
	
[-]echoctl
	Seligado, ecoa caracteres de controle como?X,
	
caso contrá
	rio ecoa os próprios caracteres de
	
controle.
		
[-]echoke
	O caractere KILL deve (ou não) apagar
	
	visivelmente a linha corrente do terminal.
	
rows n
	Configura a altura do terminal em linhas.
	
columns i
	Configura a largura do terminal em i colunas.
	
ek
	Volta os caracteres KILL e ERASE para os
	
	defaults do sistema.
	
size
	O tamanho do terminal será impresso em uma linha;
	
	primeiro o número de linhas, depois o de colunas.
	
sane
	Configura todos os modos para valores razoáveis
	
	para utilização interativa em terminais.
	
[-]crt
	Configura ou desliga todos os modos adequados
	
	a um device CRT.
	
[-]tostop
	Impede (ou não) a saída de dados de processos
	
	em background para o terminal.

Exemplos:
# Muito útil quando a tecla backspace não funciona 
# corretamente. O ^H do exemplo foi obtido pressionando-se 
# a tecla BackSpace para  associá-la à ação de retrocesso 
# do cursor.

erase ^H

stty tostop
talk
Permite uma conversa com outro usuário.
Sintaxe:
talk usuário [ term ]
Parâmetro
	Descrição
	
term
	Indica o terminal ao qual se destina a conversa.

Obs: Se ambos os usuários estiverem na mesma máquina, então usuário será o login da pessoa com quem se quer falar. Se alguém estiver em outra máquina, o formato a ser utilizado sera usuario@nome.da.maquina. Para interromper a conversa basta pressionar o caractere de interrupção (geralmente CTRL-C). Para impedir o recebimento de mensagens use o comando mesg.
Exemplo:
talk noel@polo.norte.org
tput
Usa os dados de termcap para disponibilizar características dependentes do tipo do terminal para a shell de maneira transparente.
Sintaxe:
tput [-T tipo] atributo
Parâmetro
	Descrição
	
-T tipo
	Indica o tipo do terminal. Normalmente
	
	desnecessária, usa o valor da variável de
	
	ambiente TERM como default.
	
atributo
	Indica o atributo das tabelas de características
	
	de terminal (terminfo). Abaixo alguns atributos
	
	válidos:
	
bel
	Emite um sinal sonoro (bip).
	
blink
	Envia a sequência de comandos que instrui o
	
	terminal a mostrar o texto piscando.
	
bold
	Envia a sequência de comandos que instrui o
	
	terminal a mostrar os caracteres em negrito
	
	(bold).
	
civis
	Torna o cursor invisível.
	
clear
	Envia a sequência de limpeza de terminal
	
	para o terminal atual.
	
cnorm
	Restaura os atributos do cursor.
	
cols
	Mostra o número de colunas do terminal.
	
cup y x
	Envia a sequência que move o cursor para a
	
	posição X,Y do terminal.
	
lines
	Mostra o número de linhas do terminal.
	
rmso
	Sequência para cancelar texto reverso.
	
smso
	Sequência para iniciar texto reverso.

Obs: tput envia as sequências de terminal para stdout, sendo possivel redirecionar sua saída para arquivos ou dispositivos, oque pode ser muito útil. Alguns terminais não implementam todas as características disponibilizadas por tput.
Exemplos:
# Digite o texto acima em uma linha ou em 
# um script e veja a string "Oi!" 
# aparecer no meio da tela.

tput clear; tput 12 34;echo "Oi!“; tput 24 O
tset
Sintaxe:
tset [-Qs] [-] [-e c] [-k c] [-i c] [-m map] [term]
Parâmetro
	Descrição
	
term
	Especifica um tipo de terminal,
	
-I
	Não envia as strings de inicialização para o
	
	terminal.
	
-Q
	Não mostra os valores dos caracteres erase e
	
	kill.
	
-s
	Gera os comandos da shell para configurar a
	
	variável TERM.
	
-
	Mostra apenas o nome do terminal.
	
-e c
	Configura o caractere erase como sendo c.
	
-k e
	Configura o caractere kill como sendo c.
	
-m map
	Mapeia portas (ports) a terminais. map tem o
	
	formato [porta] [op veloc]:tipo, onde op é um
	
	operador. Oteste será feito contra otipo da porta
	
	e sua velocidade. Caso o teste seja positivo,
	
	configura o tipo de terminal correspondente. Se
	
	tipo começar com uma interrogação, tset pedirá
	
	confirmação ao usuário. Os operadores válidos
	
	são:

Operador
	Significado
	
>
	Maior do que.
	
<
	Menor do que.
	
=
	Igual a.
	
@
	Igual a (equivalente a =).
	
!
	Negação (usado em conjunto com outro
	
	operador).

Obs: Os valores do mapeamento devem aparecer entre aspas simples (’) para evitar interpretação de caracteres especiais pela shell.
Exemplo:
# Mostra os comandos da shell necessários para 
 # configurar o terminal como vt100 se estiver 
 # associado a uma linha discada a menos de 1200 bauds,
 #  vt220 a 9600 bauds e vt100 caso seja um xterm.

tset -IQs -m ‘dialup<1200:vt100’ 
     -m ‘dialup@9600:vt220’ ‘xterm:vt100’
tty
Mostra o nome completo do terminal do usuário. O valor de saída será zerosea entrada padrão (stdin) for um terminal, caso contrário seráum.
Sintaxe:
tty [-s]
Parâmetro
	Descrição
	
-s
	Modo silencioso. Não imprime nada, apenas
	
	devolve o valor de retorno.

wall
Escreve uma mensagem para o terminal de todos os usuários conectados ao sistema. Se invocado sem parâmetros, wall lerá a entrada padrão até encontrar um caractere de fim de arquivo, geralmente “D (ctrl-D).
Sintaxe:
wall [parâmetro]
Parâmetro
	Descrição
	
parâmetro
	Em alguns sistemas denota a mensagem
	
	a ser escrita, em outros um arquivo que
	
	contém a mensagem.

write
Envia uma mensagem a um terminal.
Sintaxe:
write usuário [terminal]
Parâmetro
	Descrição
	
term
	Indica para qual terminal deve ser enviada a
	
	mensagem.

Obs: write continuará copiando linhas para o outro terminal até encontrar o caractere de fim de arquivo (EOF, normalmente CTRL-D); neste momento, write escreverá EOT no outro terminal e terminará sua execução.
Exemplo:
write suzie
Oi, vamos almocar? :)
^D
Controle de Processos do Usuário
atq
Mostra a fila de execução do at. Em alguns sistemas é equivalente ao comando at -l.
Sintaxe:
atq
atrm
Remove um job da fila de execução doat. Em alguns sistemas equivale ao comando at -r.
Sintaxe:
atrm <job> [job ...]
at
Executa comandos em outra hora.
Sintaxe:
at [-m] [-f script] hora [data] [+ incr]
Parâmetro
	Descrição
	
hora
	Pode ter os seguintes formatos (h=horas
	
	m=minutos):hh:mm ou hhmm. Os valores noon,
	
	midnight e now são válidos.
	
data
	Um nome de mês (Jan, Feb, … Dec) seguido de
	
	um dia e, possivelmente, um ano precedido por
	
	vírgula. Os valores today e tomorrow são
	
	válidos.
	
+ incr
	Um número seguido de uma das seguintes
	
	palavras: minutes, hours, days, weeks, months
	
	ou years (ou singular). O modificador next pode
	
	aparecer antes do incremento (equivale a + 1).
	
-f script
	Lê os comandos do arquivo script a serem
	
	executados.
	
-ljobs
	Lista os jobs pendentes na fila do at. Se uma
	
	lista de identificadores de jobs (job ids) for
	
	passada como parâmetro, listará apenas o status
	
	daqueles jobs. Essa opção inexiste em alguns
	
	sistemas; para estes casos, use o comando atq.
	
-m
	Envia e-mail avisando que o comando foi
	
	executado.
	
-r jobs
	Remove todos os jobs especificados pela lista
	
	de job ids (jobs). Alguns sistemas não
	
	implementam essa opção; para estes casos,
	
	utilize o comando atrm.

Obs: Caso não seja fornecido um arquivo com os comandos a serem executados, at lerá os comandos da entrada padrão (stdin) até encontrar o caractere de fim de arquivo (EOF).
Exemplos:
at -m now + 1 week

at -mf comandos now + 3 days

at 18:30 Jan 24
bg
Põe em background um processo em execução.
Sintaxe:
bg [%id]
Utilização: Comando interno da shell. Quando um processo está ocupando o terminal e digitamos ^Z (CTRL-Z) o processo recebe um sinal SIGSTOP e a shell interrompe a execução do mesmo. bg irá colocar o processo interrompido no modo de execução em background (em segundo plano) e o processo poderá continuar sua execução.
Parâmetro
	Descrição
	
%id
	No caso de haver vários processos interrompidos,
	
	indica qual processo será colocado em background.

Obs: O identificador (id) do processo será indicado pela shell assim que executarmos um comando em modo background (com ‘&’) ou interrompermos um processo pressionando ^Z. Uma lista dos processos pode ser obtida com o comando jobs. Um processo em background geralmente pode escrever sua saída no terminal (isso pode ser desabilitado com stty) e interromperá sua execução se precisar ler dados da entrada padrão (stdin).
Exemplo:
# sequência exemplo de comandos, $ é o prompt
# da shell
$ find / -print
^Z
[1]+ Stopped           find / -print
$ bg %1 
[1]+  find / -print
env
Executa um comando em um ambiente modificado.
Sintaxe:
env [-][-i] [-u nome] [var=valor]... [comando [args]
Parâmetro
	Descrição
	
-i
	Começa um ambiente do zero, ignorando as
	
	variaveis de ambiente atuais.
	
-
	O mesmo que -i.
	
-u nome
	Elimina a variável dada por nome ao ambiente
	
	montado por env.
	
var=valor
	Cria a variável de ambiente dada por var e lhe
	
	atribui o valor especificado.
	
comando
	Comando a ser executado em ambiente
	
	modificado.
	
args
	Argumentos do comando a ser executado por
	
	env.

Obs: Caso não seja especificado um comando, env listará todas as variáveis do ambiente montado. As variáveis de ambiente criadas. por env só estarão disponíveis para o comando especificado durante sua execução.
Exemplos:
# Executa o comando echo num ambiente onde a 
# variável NOME está definida.

env NOME=Eduardo echo SNOME

# Executa o comando echo num ambiente onde nenhuma variável
# está definida.

env -i echo $HOME
fg
Põe em foreground um processo em execução.
Sintaxe:
fg [%id]
Utilização: Comando interno da shell. Quando um processo foi interrompido ou está sendo executado em background (veja bg), o comando fg transferirá o controle do terminal para o processo.
Obs: Uma lista dos processos e seus respectivos identificadores poderá ser obtida com o comando jobs. Se nenhum identificador de job for especificado, o último processo interrompido será colocado em foreground.
Parâmetro
	Descrição
	
id
	No caso de haver varios processos interrompidos,
	
	indica qual processo sera colocado em foreground.

Exemplo:
#sequência de comandos, $ indica o prompt da shell
$ vi &
[1] xxx  (<-- número do processo)
[1]+ Stopped (tty output) vi
$ fg %1
finger
Mostra informações sobre usuários locais ou remotos.
Sintaxe:
finger [-lmsp] [usuário ...]
Parâmetro
	Descrição
	
-l
	Saida em formato longo.
	
-m
	Compara apenas o nome de login do usuário e
	
	não seu nome completo.
	
-s
	Força a saída em modo simplificado (short).
	
-p
	Não imprime o arquivo .plan do usuário.

Obs: Os usuários podem ser especificados pelos userids (ou login names) para usuários locais, ou usuário@nome.da.maquina para usuários de máquinas remotas.
Exemplos:
finger root

finger president@whitehouse.gov
groups
Mostra os grupos de um usuario. Se nenhum usuario for especificado, mostra informações sobre o usuário que invocou o comando.
Sintaxe:
groups [usuário]
id
Mostra o identificador do usuário.
Sintaxe:
id [-Ggu]
Parametro
	Descrição
	
-G
	Mostra apenas os identificadores de grupo real,
	
	efetivo e suplementares do usuário.
	
-g
	Mostra apenas o identificador de grupo efetivo
	
	do usuário.
	
-u
	Mostra apenas o identificador efetivo do usuário

jobs
Lista processos em execução pela shell.
Sintaxe:
jobs [-|]
Parâmetro
	Descrição
	
-l
	Lista também o número de cada processo.

kill
Envia um sinal a um processo.
Sintaxe:
kill [-sinal] <processo> [processo ...]

kill -s sinal [processo ...]

kill -l [sinal]
Parâmetro
	Descrição
	
sinal
	Pode ser tanto o número do sinal como seu
	
	nome.
	
-s
	Em alguns sistemas é necessária a presença da
	
	opção -s para se especificar o sinal que se quer
	
	enviar.
	
-l
	Lista todos os nomes e números de sinais.
	
	Presente em apenas algumas versões de kill.
	
	Alguns sinais comuns:
	
HUP
	1
	
INT
	2
	
QUIT
	3
	
ABRT
	6
	
KILL
	9
	
ALRM
	14
	
TERM
	15

Obs: Sua sintaxe varia de sistema para sistema e entre shells diferentes. Em alguns sistemas pode ser encontrado como um comando separado da shell. A lista de processos pode ser uma lista de números ou de nomes de processos. O sinal SIGTERM (15) é enviado por default. Somente o superusuário pode enviar sinais a processos de outros usuários.
Exemplos:
kill -HUP 1

kill -9 %2
last
Mostra os últimos logins de usuário ou terminal. O tamanho do registro de log é determinado pelo administrador do sistema.
Sintaxe:
last [-#] [-t term] [nome ...]
Parâmetro
	Descrição
	
-#
	Limita a saída do comando em Élinhas.
	
-t term
	Seleciona um terminal (apenas para as
	
	implementações que não permitem terminais
	
	em linha de comando).

Exemplo:
last macan
login
Inicia a sessão do usuário. Para encerrar a sessão, usa-se o comando logout.
Sintaxe:
login [usuário]
Exemplo:
login root
logout
Encerra a sessão do usuário (função interna da shell). Veja o comando login.
Sintaxe:
logout
nice
Faz com que um processo seja executado com uma prioridade de escalonamento diferente da padrão.
Sintaxe:
nice [-#] <comando> [args]
Parâmetro
	Descrição
	
-#
	Valor a ser adicionado à prioridade do processo
	
	que será executado. Quanto maior este valor,
	
	MENOR será a prioridade de escalonamento do
	
	processo. Em alguns sistemas este valor
	
	representa o valor absoluto da prioridade.
	
comando
	O comando a ser executado com uma prioridade
	
	diferente.
	
args
	Os argumentos do comando a ser executado.

Obs: Os valores padrão de nice e as prioridades limites variam entre as várias versões do Unix, portanto convém consultar os manuais do sistema para a obtenção dos valores corretos. O nome nice vem do fato de alguém estar sendo “bacana” com os outros usuários do sistema, baixando a prioridade de um processo. Apenas o super-usuário pode aumentar a prioridade de escalonamento (especificando valores negativos de nice).
Exemplo:
nice -4 find / -name readme.txt -print
nohup
Faz com que um comando continue sua execução mesmo que o usuário que o iniciou saia do sistema.
Sintaxe:
nohup <comando> [args]
Parâmetro
	Descrição
	
comando
	O comando a ser executado. Este poderá ser
	
	executado em background se após seus
	
	argumentos estiver presente o caractere &.
	
args
	Os argumentos a serem passados em linha de
	
	comando para o comando cmd.
	
Obs:
	Em algumas versões de nohup, a saída do
	
	comando executado é armazenada num arquivo
	
	chamado nohup.out, no diretório corrente,
	
	ou no diretório HOME do usuário caso
	
	o diretório corrente não ofereça permissão
	
	de escrita.

Exemplo:
nohup find / -print &
passwd
Altera a senha do usuario.
Sintaxe:
passwd [usuario]
Obs: Apenas o superusuário (root) pode mudar a senha de outros usuários.
ps (BSD)
Mostra informações sobre os processos ativos.
Sintaxe:
ps [-aCejlSuvwxp] [-txx] pids
Obs: Se invocado sem parâmetros, ps mostrará informações suscintas sobre os processos associados ao terminal de controle. Esta seção cobre os parâmetros válidos para os vários sistemas que adotam a versão Berkeley do comando ps.
Parâmetro
	Descrição
	
-a
	Mostra também informações de processos de
	
	outros usuários.
	
-C
	Mostra o consumo da CPU, ignorando-se o
	
	“resident time”.
	
-e
	Mostra também variáveis do ambiente
	
	(environment) em que o processo estiver sendo
	
	executado.
	
-j
	Mostra informações associadas ao sistema de
	
	job control.
	
-l
	Mostra a saída no formato longo.
	
-S
	Muda o modo através do qual o tempo do
	
	processo é calculado, somando-se o tempo dos
	
	processosfilhos que já terminaram sua execução.
	
-u
	Mostra o nome do usuário e hora do início do
	
	processo.
	
-v
	Mostra informações associadas ao uso da
	
	memória virtual pelo processo.
	
-w
	Não trunca as linhas para que caibam no terminal.
	
-x
	Mostra também os processos não associados a
	
	um terminal de controle.
	
-p pid
	Mostra o processo cujo número é dado por pid.
	
-t xx
	Mostra todos os processo associados ao terminal
	
	especificado por xx.

Exemplo:
ps -aux | grep macan
ps (SYSV)
Mostra informações sobre os processos ativos.
Sintaxe:
ps -[adefl] [-t terms] [-p procs] [-u uids] [-g gids]
Obs: Se invocado sem parâmetros, ps mostrará informações suscintas sobre os processos associados ao terminal de controle. Esta seção cobre os parâmetros válidos para os vários sistemas que adotam a versão System V do comando ps.
Parâmetro
	Descrição
	
-a
	Mostra informações sobre os processos mais
	
	requisitados; ou seja, todos, menos os líderes de
	
	grupo de processos e aqueles não associados a
	
	um terminal.
	
-d
	Mostra informações sobre todos os processos
	
	exceto líderes de grupo de processos (process
	
	group leaders).
	
-e
	Mostra informações sobre todos os processos
	
	em execução no presente momento.
	
-f
	Gera uma listagem completa (full). _
	
-l
	Gera uma listagem no formato longo (long).
	
-t term
	Mostra apenas os processos associados ao
	
	terminal especificado por term.
	
-p procs
	Mostra apenas os processos cujos números
	
	(PIDs) estejam presentes na lista procs.
	
-u uids
	Mostra apenas os processos cujos nomes (ou
	
	números) dos usuários proprietários (owners)
	
	estejam presentes na lista uids.
	
-g gids
	Mostra apenas-os processos cujos grupos
	
	estejam presentes na lista uids.

Exemplo:
ps -efu macan
su
Troca o ID efetivo do usuário. Solicita confirmação através de senha para efetuar a execução da shell, exceto quando executado pelo superusuario (root).
Sintaxe:
su [-] [user]
Parâmetro
	Descrição
	
-
	Executa uma shell de login, carregando todo o
	
	ambiente do usuário.
	
user
	O nome do usuário para o qual se quer altemar. Se
	
	omitido, su tomará o usuário root como padrão.

Exemplo:
su - macan
users
Mostra quem está usando o sistema.
Sintaxe:
users
Obs: Em algumas implementações de users pode-se indicar um arquivo alternativo ao arquivo utmp de onde users retirará a informação.
whoami
Mostra o ID efetivo do usuário.
Sintaxe:
whoami
who
Mostra quem está usando qual terminal.
Sintaxe:
who [arquivo] [am i]
Parâmetro
	Descrição
	
arquivo
	Indica o nome de um arquivo alternativo a ser
	
	usado como fonte de informações para who.
	
am i
	Mostra o nome real do usuário (real user name).

Exemplo:
who am i
Obs: Por default, who usará os dados do arquivo utmp, a não ser que um arquivo alternativo seja indicado. Se invocado sem argumentos, who mostrará o login de todos os usuários com processos associados a terminais, o nome dos terminais e dados sobre atividade e tempo de login.
w
Mostra os usuários conectados ao sistema e o que estão fazendo.
Sintaxe:
w [-hls] [user]
Parâmetro
	Descrição
	
-h
	Não mostra o cabeçalho na saída.
	
-l
	Saída em formato longo (default).
	
-s
	Saída em formato simplificado.

Obs: Se nenhum usuário for especificado, w retornará informações sobre todos os usuários atualmente ativos.
Miscelânea
apropos
Mostra informações sobre um assunto. Equivalente a man -k.
Sintaxe:
apropos [chave ...]
Parâmetro
	Descrição
	
chave
	Identifica um assunto.

Exemplo:
apropos directory
biff
Notifica a chegada de mensagem de correio eletrônico.
Sintaxe:
biff [yn]
Parâmetro
	Descrição
	
y
	Liga o aviso de chegada de mensagens.
	
n
	Desliga o aviso de chegada de mensagens.

calendar
Serviço de agenda. Notifica o usuário das atividades do dia.
Sintaxe:
calendar [-a]
calendar [-]
Parâmetro
	Descrição
	
-a
	Notifica as atividades do dia aos usuários do
	
sistema
	via e-mail. É executado automaticamente
	
	pelo sistema todos os dias.
	
-
	Em alguns sistemas a opção - substitui -a.

Obs: Os compromissos devem estar armazenados em um arquivo chamado calendar, no diretório HOME do usuário, um por linha, no formato MÉS/DIA DESCRIÇÃO.
cal
Imprime o calendário de um determinado mês/ano.
Sintaxe:
cal [[mês] ano]
Parâmetro
	Descrição
	
mês
	O mês para o qual se quer o calendário.
	
ano
	O ano para o qual se quer o calendário.

Obs: Se invocado sem parâmetros, cal imprimirá o calendário do mês atual (data do sistema).
Exemplo:
#Imprime o calendário de julho de 1974.

cal 7 1974
crontab
Instala, lista ou remove arquivo crontab de usuário.
Sintaxe:
crontab [arquivo]

crontab [ -! | -r| -e]
Parâmetros
	Descrição
	
-l
	Mostra o arquivo crontab atual do usuario.
	
-r
	Remove o arquivo crontab atual do usuário.
	
-e
	Edita o arquivo crontab atual do usuário. Presente
	
	em algumas versões de crontab.
	
arquivo
	Indica um arquivo de crontab a ser posto em atividade,
	
	veja o formato do arquivo crontab abaixo.

Obs: Um arquivo de crontab é um arquivo texto onde cada linha especifica um comando e a periodicidade com queo mesmo será executado (automaticamente) pelo sistema, no formato:
minuto hora dia mês dia da semana comando
Os campos podem ser separados por espaços ou TABs, os cinco primeiros podem assumir um valor numérico, um intervalo (no formato m-n), asterisco ou uma lista de quaisquer destes, separada por vírgulas. Os valores válidos são O a 59 para minuto, 0 a 23 para hora, 1 a 31 para dia, 1a 12 para mês e 0 a 6 para dia da semana (0=domingo).
Exemplos:
# Seguem exemplos de linhas válidas de um arquivo crontab:

# Enviará e-mail ao autor deste guia todo dia 16 de julho 
# às 00:00h.
0 0 16 7 * mail -s'Feliz aniversario!' macan

# Executa o script teste.pl de quinze em quinze minutos,
    # de segunda a sexta-feira, no horário comercial.

0,15,30,45 8-11,13-16 * * 1-5 /bin/teste.pl
date
Mostra a data e a hora atuais do sistema, com a possibilidade de formatação da saída.
Sintaxe:
date [-u] [+formato]
Parâmetro
	Descrição
	
-u
	Universal time. Mostra o horário GMT.
	
+formato
	formato é uma string que contém informações
	
	sobre a formatação da saída do comando date.
	
	Os seguintes operandos especiais serão
	
	substituídos por seus valores correspondentes
	
	quando encontrados dentro da string formato:
	
%n
	Caractere newline (quebra de linha).
	
%t
	Caractere de tabulação (TAB).
	
%m
	Mês do ano (01 a 12).
	
%d
	Dia do més (01 a 31).
	
%y
	Últimos dígitos do ano (00 a 99).
	
%D
	Data no formato MM/DD/AA.
	
%H
	Hora (00 a 23).
	
%M
	Minuto (00 a 59).
	
%S
	Segundo (00 a 59).
	
%T
	Hora no formato HH:MM:SS.
	
%j
	Dia do ano (001 a 366).
	
%w
	Dia da semana (Dom=0 a Sáb=6).
	
%a
	Dia da semana abreviado (Sun … Sat).
	
%h
	Mês abreviado (Jan, Feb,… Nov,Dec).
	
%r
	Hora no formato am/pm.

Exemplos:
date +"Agora são %H horas e %M minutos$n"

date +' Hoje é %d/%m/%y '

date +"\\ Hoje é %d/%m/%y \\"
false
Nãofaz nada, apenas retorna status diferente de zero. Muito útilem shell scripts. Veja também o comando true.
Sintaxe:
false
hostname
Mostra ou configura o nome da máquina em que se está conectado. Apenas o super usuário (root) pode configurar o nome da máquina.
Sintaxe:
hostname [nome]
Parâmetro
	Descrição
	
nome
	Se informado um parâmetro em linha de
	
	comando, hostname tentará configurar o nome
	
	da máquina.

lpr
Envia arquivos para a fila de impressão.
Sintaxe:
lpr [-c] [-d dest] [-n& ] [arquivo ...]
Parâmetro
	Descrição
	
-c
	Envia cópias dos arquivos para a fila de impressão.
	
	Modificações feitas nos arquivos durante aimpressão
	
	não se refletirão no resultado impresso.
	
-d dest
	Envia um arquivo para impressão na impressora
	
	cujo nome seja dest.
	
-n#
	Imprime # copias de cada arquivo.

Exemplo:
lpr -dlaserl readme.txt install.txt
man
Consulta os manuais on-line do sistema.
Sintaxe:
man [-fk] [seção] [chave ...]

man [-fk] [-s seção] [chave ...]
Parâmetro
	Descrição
	
-f
	Mostra descrições de uma linha sempre que
	
	chave coincidir com uma entrada do manual.
	
-k
	Pesquisa informações sobre palavras-chave nas
	
	descrições das páginas dos manuais on-line.
	
-s seção
	Algumas versões de man necessitam do
	
	parâmetro -s caso se queira especificar uma
	
	seção dos manuais onde buscar a informação.

Obs: As páginas do manual são tradicionalmente divididas em 8 seções principais, a saber:
Seção
	Descrição
	
1
	Comandos de usuário.
	
2
	Chamadas de sistema.
	
3
	Subrotinas (programação).
	
4
	Dispositivos.
	
5
	Formatos de arquivos.
	
6
	Jogos.
	
7
	Miscelânea.
	
8
	Administração do sistema.

Exemplos:
man man

man ls

man -k tape
sleep
Suspende a execução por um tempo determinado.
Sintaxe:
sleep <segundos>
tee
Mostra a saída de um programa e a escreve em um arquivo simultaneamente.
Sintaxe:
tee [-ai] [arquivo ...]
Parâmetro
	Descrição
	
-a
	Append. Concatena a saída ao arquivo, em vez
	
	de sobrescrevê-lo.
	
-i
	Ignora interrupções.

Exemplo:
# Guarda uma cópia de sua seção de ftp em ftp.out.

ftp ftp.cdrom.com | tee ftp.out
test
Checa tipos de arquivos e compara valores. Resultado do teste como valor de retorno do comando.
Sintaxe:
test [expr]
Parâmetro
	Descrição
	
-b arq
	Verdadeiro se arq existir e for um block device.
	
-c arq
	Verdadeiro se arq existir e for um character device.
	
-d arq
	Verdadeiro se arq existir e for um diretório.
	
-f arq
	Verdadeiro searq existir e for um arquivo regular.
	
-g arq
	Verdadeiro se arq existir e seu bit setgid estiver
	
	ligado.
	
-h arq
	Verdadeiro se arq existir e for um link simbólico.
	
-k arq
	Verdadeiro searqexistir e seu bitsticky estiver
	
	ligado.
	
-n str
	Verdadeiro se a string str tiver comprimento
	
	diferente de zero.
	
-p arq
	Verdadeiro se arq existir e for um FIFO.
	
-r arq
	Verdadeiro seargexistiretiver permissão de leitura.
	
-s arq
	Verdadeiro seargexistire tivertamanho diferente
	
	de zero.
	
-t [n]
	Verdadeiro se o arquivo aberto com descritor de
	
	arquivo n estiver associado a um terminal (defaut
	
	n=1).
	
-u arq
	Verdadeiro se arq existir e seu bit suid estiver
	
	ligado.
	
-w arq
	Verdadeiro se arq existir e tiver permissão de
	
	escrita.
	
-x arg
	Verdadeiro se arq existir e for executável.
	
-z str
	Verdadeiro se a string str tiver comprimento zero.
	
s1
	Verdadeiro se s1 tiver comprimento maior do
	
	que zero.
	
s1!=s2
	Verdadeiro se as strings s1 e s2 não forem
	
	idênticas.
	
s1=s2
	Verdadeiro se as strings s1 e s2 foremidénticas.
	
n1 op n2
	Verdadeiro, de acordo comos valores numéricos
	
	de n1 en2 eo operador utilizado. Operadores
	
	podem ser:
	
-eq
	Igual a.
	
-ne
	Diferente de.
	
-gt
	Maior do que.
	
-ge
	Maior ou igual a.
	
-It
	Menor do que.
	
-le
	Menor ou igual a.

Operador
	Significado
	
!
	Operador de negação.
	
-a
	Operador “e” binário.
	
-o
	Operador “ou” binario (-a tem maior precedéncia
	
	do que -o).

Exemplos (shell scripts):
#!/bin/sh
# Script para testar tipo de um arquivo.
# Exemplo 1 do comando test.
# Uma implementação simplista do comando “file” 
# do Unix, em shell script.
# Eduardo Macan - 1997

if “tests
  then
    for FILE In S*
    do
      if test -h SFILE
      then
        echo “SFILE e' um link simbólico.”
      elif test -b SFILE
      then
        echo “SFILE e' um block device.”
      elif test -c $FILE
      then
        echo “SFILE e' um character device.”
      elif test -d $FILE
      then
        echo “SFILE e' um diretorio.”
      elif test -p $FILE
      then 
        echo “SFILE e' um FIFO.”
      elif test -f $FILE
      then
        echo “SFILE e’ um arquivo comum.”
      fi
    done
  else
    echo “uso: testa [arquivo... ]”
  fi

#!/bin/sh
#Exemplo 2 do comando test
#Eduardo Marcel Macan - 1997
echo “Quantos anos voce tem?”
read AGE
if test SAGE CIC
then
  echo “Voce ainda nao nasceu?”
elif test SAGE -eq 18
then
  echo “Parabens, voce ja pode ser preso!”
elif test SAGE -lt 10
then
  echo “Seu pai sabe que voce esta aqui?”
elif test SAGE -gt 18 -a SAGE -lt 80
then
  echo “Lembre-se do Imposto de renda...
elif test SAGE -gt 79
then
  echo “Vida longa e prospera.”
else
  echo “Volte para seu videogame!”
fi

#!/bin/sh
#Exemplo 3 do comando test
echo “Voce gosta de batatas [s|n]?”
read RESP
if test SRESP
  then
    if test SRESP = s -o SRESP = S
       then echo “Eu tambem gosto! :)”
       exit O
    elif test SRESP ='n -o SRESP = N
      then echo “Eu gosto. :p”
      exit 1
    fi
fi
echo "Responda s ou n da proxima vez! :("
exit 1
time
Mede o tempo de execução de um comando.
Sintaxe:
time <comando>
tr
Substitui caracteres de entrada presentes em str1 por seus correspondentes em str2.
Sintaxe:
tr [-cds] [strf [str2]]
Parâmetro
	Descrição
	
-c
	Efetua a troca em todos os caracteres que não
	
	estejam especificados em str1 (complemento).
	
-d
	Elimina ocorrências de caracteres de str1 na
	
	entrada.
	
-s
	Elimina repetições de caracteres de str2 na
	
	saída.

Exemplo:
# Mostra o nome de todos os arquivos do diretório 
# corrente em maiúsculas.
ls | tr 'a-z' 'A-Z'
true
Não faz nada, apenas retorna status igual a zero. Muito útil em shell scripts. Veja também o comando false.
Sintaxe:
true
uname
Mostra informações sobre o sistema operacional e o hardware. Se não forem fornecidos parâmetros, a ação default é imprimir o nome do sistema operacional.
Sintaxe:
uname [-amnrsv]
Parâmetro
	Descrição
	
-a
	Equivale a especificar todas as opções.
	
-m
	Mostra o nome da plataforma na qual o sistema
	
	está sendo executado.
	
-n
	Mostra o nome da maquina (hostname).
	
-r
	Mostra o “release level” do sistema operacional.
	
-s
	Mostra o nome do sistema operacional.
	
-v
	Mostra a versão (version level) do sistema
	
	operacional.

uptime
Mostra a data atual, o tempo desde o último boot do sistema, o número de usuários on-line e a média de carga nos últimos 5, 10 e 15 minutos.
Sintaxe:
uptime
Obs: Por carga entenda-se o número de processos esperando para serem executados em um determinado momento no sistema.
whatis
Consulta manuais on-line do sistema e mostra um sumário de uma linha sobre palavras-chave. Equivale a man -f
Sintaxe:
whatis [chave ...]
Parâmetro
	Descrição
	
chave
	A palavra a ser procurada nos manuais on-line
	
	do sistema.

xargs
Constrói e executa linhas de comando a partir de stdin.
Sintaxe:
xargs [-pt] [-e [str }] [-i [str ]] 1 [n]] [-n n]
      [-s n] [comando [arg ...]]
Parâmetro
	Descrição
	
-t
	Modo detalhado. Imprime a linha de comando
	
	em stderr antes de executá-la.
	
-e str
	Usa str como string de fim de arquivo. Ignora
	
	toda a entrada que vier após uma linha contendo
	
	str.
	
-i str
	Substitui ocorrências de str nos argumentos
	
	iniciais (veja args) por nomes lidos de stdin.
	
-l n
	Usa no máximo n linhas de texto por linha de
	
	comando; default=1.
	
-n n
	Usa no máximo n argumentos por linha de
	
	comando.
	
-p
	Modo interativo; pede confirmação antes de
	
	executar cada linha de comando.
	
-s n
	Usa no máximo n caracteres por linha de
	
	comando. O defaulté o maior possível, variando
	
	de sistema para sistema.
	
-x
	Termina se o tamanho máximo da linha de
	
	comando (veja -s) for excedido.
	
comando
	O comando a ser executado em cada linha de
	
	comando montada.
	
arg
	Argumento inicial a ser informado ao comando.

Exemplos:
# Comprime todos os arquivos com extensão txt 
  # abaixo do diretório corrente, pedindo confirmação, 
  # dois arquivos de cada vez.

find . -name N*. txt | xargs -pn 2 compress

# Comprime arquivos um a um até encontrar a string 
  # gif em um nome de arquivo ou diretório (saida de
  # find) e encerra a leitura de stdin.

find .| xargs -pn 1 -e gif compress -v
yes
Imprime uma resposta afirmativa indefinidamente. Se invocado sem parametros, yes escreve y.
Sintaxe:
yes [mensagem]
Parâmetro
	Descrição
	
mensagem
	mensagem a ser impressa.

Exemplos:
yes | rm -i \*.gif

# Para comandos que pedem confirmação em português.
yes s
ftp
Transfere arquivos entre máquinas da rede.
Sintaxe:
ftp [-ginv] [maquina]
Parâmetro
	Descrição
	
-g
	Desabilita o “globbing” dos nomes de arquivos,
	
	habilitado por default. Veja o comando glob abaixo.
	
-i
	Não pede confirmação antes da transferência de
	
	múltiplos arquivos. Veja o comandoprompt abaixo.
	
-n
	Desabilita o “auto-login”. Veja o comando open
	
	abaixo.
	
-v
	Habilita a saida descritiva. Default se a entrada
	
	padrão estiver associada a um terminal.

Comandos:
Comando
	Descrição
	
![cmd [args]]
	Invoca uma shell na máquina local e executa o
	
	comando cmd.
	
append loc[rem]
	Concatena o arquivo loc na máquina local
	
	ao arquivo remoto rem.
	
ascii
	Ativa o modo de transferência adequado para a
	
	transferência de arquivos texto.
	
bell
	Soa um alarme a cada transferência de arquivo
	
	completada.
	
binary
	Ativa o modo de transferência adequado a
	
	arquivos binários.
	
bye
	Encerra a sessão como servidor remoto e saido
	
	programa ftp. Um caractere EOF (geralmente
	
	^D) tem o mesmo efeito.
	
case
	Converte o nome dos arquivos transferidos para
	
	minúsculas.
	
cd dir
	Muda diretório de trabalho na máquina remota
	
	para dir.
	
cdup
	Muda para o diretório pai do diretório atual no
	
	servidor.
	
chmod modo arq
	Muda o modo de acesso do arquivo remoto arq
	
	para aquele especificado por modo.
	
close
	Termina a sessão com o servidor remoto e
	
	retorna ao interpretador de comandos.
	
cr
	Liga/desliga a filtragem de caracteres CR durante
	
	transferências do tipo ascii. Ativada é o default.
	
delete arq
	Remove o arquivo arq da máquina remota.
	
dir [dir] [arq]
	Mostra o conteúdo do diretório remoto dir,
	
	opcionalmente colocando a saída no arquivo
	
	local arq.
	
disconnect
	O mesmo que close.
	
get arq [loc]
	Transfere o arquivo arq da máquina remota
	
	para a máquina local, renomeando-o para loc
	
	caso esse parâmetro seja fornecido.
	
glob
	Liga/desliga a expansão de nomes de arquivos
	
	para os comandos mget , mput e mdelete. O
	
	default é a expansão de nomes ativada.
	
hash
	Mostra um caractere # (hash) para cada bloco de
	
	dados recebido (1Kbyte).
	
help [cmd]
	Mostra uma mensagem informativa sobre o comando
	
	cmd. Se nenhum comando for especificado, lista
	
	todos os comandos disponiveis.
	
idle[seg]
	Ajusta o relógio de inatividade no servidor remoto
	
	para seg segundos. Se seg não for especificado,
	
	mostra o valor atual do contador.
	
lcd [dir]
	Muda o diretório de trabalho na máquina local.
	
	Se dir não for especificado, o diretório
	
	HOME do usuário será usado.
	
ls [dir] [arq]
	Similar a dir, porém inclui informações
	
	dependentes de sistema fornecidas pelo servidor.
	
mdelete [arqs]
	Similar a delete para múltiplos arquivos.
	
mdir arqs loc
	Gera uma listagem de arqs no arquivo
	
	local loc.
	
mget arqs
	Similar a get para multiplos arquivos.
	
mkdir dir
	Cria um diretório na máquina remota.
	
mls arqs loc
	Gera listagem similar à de ls para os arquivos
	
	dados por arqs e grava sua saída no arquivo local loc.
	
modtime arq
	Mostra a data de modificação do arquivo remoto arq.
	
mput arqs
	Copia os arquivos dados por arqs para o
	
	diretório de trabalho corrente na máquina remota.
	
newer arq
	Copia um arquivo somente se a versão remota
	
	for mais recente do que a versão local, cujo
	
	nome será dado por arq.
	
open host[porta]
	Abre uma conexão com o host na porta
	
	especificada. Se a opção auto-login estiver
	
	habilitada, ftp tentará logar no host remoto.
	
prompt
	Liga ou desliga o modo interativo, onde ftp pede
	
	confirmação antes de transferir ou eliminar
	
	múltiplos arquivos.
	
put arq [rem]
	Armazena um arquivo na máquina remota,
	
	opcionalmente com o nome dado por rem.
	
pwd
	Imprime o diretório corrente da máquina remota.
	
quit
	O mesmo que bye.
	
recv rem [loc]
	O mesmo que get.
	
remotehelp [cmd]
	Pede informações sobre os comandos do
	
	servidor ftp remoto.
	
rename old new
	Altera o nome do arquivo remoto chamado
	
	old, chamando-o de new.
	
reset
	Sincroniza o cliente com o servidor de ftp.
	
rmdir dir
	Remove do servidor o diretório especificado.
	
runique
	Evita a sobreposição de arquivos, concatenando
	
	a seu nome um sufixo numérico.
	
sendarq loc [rem]
	O mesmo que put.
	
status
	Mostra o estado atual do ftp.
	
sunique
	O equivalente a runique para o sistema remoto.
	
type [tipo]
	Muda o “tipo de representação” para tipo. Os
	
	tipos ascii e binary (ou image) são válidos, sendo
	
	ascii o default.
	
user nome
	Identifica o usuário nome com o servidor ftp. Se uma
	
	senha de acesso for necessária o servidor irá
	
	pedi-la.
	
verbose
	Aciona o modo detalhado de apresentação.
	
	Default se os comandos estiverem sendo
	
	digitados em um terminal.
	
? [comando]
	O mesmo que help.

Exemplos:
ftp sunsite.unc. edu

ftp -niv ftp.linux.org < comandos.txt &
lpr
Envia arquivos para afila de impressão remota. Caso nenhuma impressora seja especificada, Ipr usará a impressora padrão do sistema.
Sintaxe:
lpr [-hmrs][-J jobJ[-Pprinter][ -n& ][arquivo ...]
Parâmetro
	Descrição
	
-h
	Não imprime a página de identificação da
	
	impressão.
	
-m
	Envia mail ao final da impressão.
	
-r
	Remove o arquivo após a impressão (com a
	
	opção -s).
	
-s
	Usa links simbólicos em vez de copiar os arquivos
	
	para o diretório de spool.
	
-J job
	Nome a ser impresso na página de identificação.
	
	O nome do primeiro arquivo é o default.
	
-Pprinter
	Envia um arquivo para impressão na impressora
	
	cujo nome seja printer.
	
-n#
	Imprime # cópias de cada arquivo.

Exemplo:
lpr -Plaser3 -J game readme.txt install.txt
Comandos de Rede
ftp
Transfere arquivos entre máquinas da rede.
Sintaxe:
ftp [-ginv] [maquina]
Parâmetro
	Descrição
	
-g
	Desabilita o “globbing” dos nomes de arquivos,
	
	habilitado por default. Veja o comando glob abaixo.
	
-i
	Não pede confirmação antes da transferência de
	
	múltiplos arquivos. Veja o comandoprompt abaixo.
	
-n
	Desabilita o “auto-login”. Veja o comando open
	
	abaixo.
	
-v
	Habilita a saida descritiva. Default se a entrada
	
	padrão estiver associada a um terminal.

Comandos:
Comando
	Descrição
	
![cmd [args]]
	Invoca uma shell na máquina local e executa o
	
	comando cmd.
	
append loc[rem]
	Concatena o arquivo loc na máquina local
	
	ao arquivo remoto rem.
	
ascii
	Ativa o modo de transferência adequado para a
	
	transferência de arquivos texto.
	
bell
	Soa um alarme a cada transferência de arquivo
	
	completada.
	
binary
	Ativa o modo de transferência adequado a
	
	arquivos binários.
	
bye
	Encerra a sessão como servidor remoto e saido
	
	programa ftp. Um caractere EOF (geralmente
	
	^D) tem o mesmo efeito.
	
case
	Converte o nome dos arquivos transferidos para
	
	minúsculas.
	
cd dir
	Muda diretório de trabalho na máquina remota
	
	para dir.
	
cdup
	Muda para o diretório pai do diretório atual no
	
	servidor.
	
chmod modo arq
	Muda o modo de acesso do arquivo remoto arq
	
	para aquele especificado por modo.
	
close
	Termina a sessão com o servidor remoto e
	
	retorna ao interpretador de comandos.
	
cr
	Liga/desliga a filtragem de caracteres CR durante
	
	transferências do tipo ascii. Ativada é o default.
	
delete arq
	Remove o arquivo arq da máquina remota.
	
dir [dir] [arq]
	Mostra o conteúdo do diretório remoto dir,
	
	opcionalmente colocando a saída no arquivo
	
	local arq.
	
disconnect
	O mesmo que close.
	
get arq [loc]
	Transfere o arquivo arq da máquina remota
	
	para a máquina local, renomeando-o para loc
	
	caso esse parâmetro seja fornecido.
	
glob
	Liga/desliga a expansão de nomes de arquivos
	
	para os comandos mget , mput e mdelete. O
	
	default é a expansão de nomes ativada.
	
hash
	Mostra um caractere # (hash) para cada bloco de
	
	dados recebido (1Kbyte).
	
help [cmd]
	Mostra uma mensagem informativa sobre o comando
	
	cmd. Se nenhum comando for especificado, lista
	
	todos os comandos disponiveis.
	
idle[seg]
	Ajusta o relógio de inatividade no servidor remoto
	
	para seg segundos. Se seg não for especificado,
	
	mostra o valor atual do contador.
	
lcd [dir]
	Muda o diretório de trabalho na máquina local.
	
	Se dir não for especificado, o diretório
	
	HOME do usuário será usado.
	
ls [dir] [arq]
	Similar a dir, porém inclui informações
	
	dependentes de sistema fornecidas pelo servidor.
	
mdelete [arqs]
	Similar a delete para múltiplos arquivos.
	
mdir arqs loc
	Gera uma listagem de arqs no arquivo
	
	local loc.
	
mget arqs
	Similar a get para multiplos arquivos.
	
mkdir dir
	Cria um diretório na máquina remota.
	
mls arqs loc
	Gera listagem similar à de ls para os arquivos
	
	dados por arqs e grava sua saída no arquivo local loc.
	
modtime arq
	Mostra a data de modificação do arquivo remoto arq.
	
mput arqs
	Copia os arquivos dados por arqs para o
	
	diretório de trabalho corrente na máquina remota.
	
newer arq
	Copia um arquivo somente se a versão remota
	
	for mais recente do que a versão local, cujo
	
	nome será dado por arq.
	
open host[porta]
	Abre uma conexão com o host na porta
	
	especificada. Se a opção auto-login estiver
	
	habilitada, ftp tentará logar no host remoto.
	
prompt
	Liga ou desliga o modo interativo, onde ftp pede
	
	confirmação antes de transferir ou eliminar
	
	múltiplos arquivos.
	
put arq [rem]
	Armazena um arquivo na máquina remota,
	
	opcionalmente com o nome dado por rem.
	
pwd
	Imprime o diretório corrente da máquina remota.
	
quit
	O mesmo que bye.
	
recv rem [loc]
	O mesmo que get.
	
remotehelp [cmd]
	Pede informações sobre os comandos do
	
	servidor ftp remoto.
	
rename old new
	Altera o nome do arquivo remoto chamado
	
	old, chamando-o de new.
	
reset
	Sincroniza o cliente com o servidor de ftp.
	
rmdir dir
	Remove do servidor o diretório especificado.
	
runique
	Evita a sobreposição de arquivos, concatenando
	
	a seu nome um sufixo numérico.
	
sendarq loc [rem]
	O mesmo que put.
	
status
	Mostra o estado atual do ftp.
	
sunique
	O equivalente a runique para o sistema remoto.
	
type [tipo]
	Muda o “tipo de representação” para tipo. Os
	
	tipos ascii e binary (ou image) são válidos, sendo
	
	ascii o default.
	
user nome
	Identifica o usuário nome com o servidor ftp. Se uma
	
	senha de acesso for necessária o servidor irá
	
	pedi-la.
	
verbose
	Aciona o modo detalhado de apresentação.
	
	Default se os comandos estiverem sendo
	
	digitados em um terminal.
	
? [comando]
	O mesmo que help.

Exemplos:
ftp sunsite.unc. edu

ftp -niv ftp.linux.org < comandos.txt &
mail
Sistema de processamento de correspondência eletrônica.
Sintaxe:
mail [-ilnv] [-s ass] [-c lista] [-b lista] end...

mail [-ilnNv] -f [nome]

mail [-ilnNv] [-u user]
Parâmetro
	Descrição
	
-v
	Modo detalhado (verbose). Os detalhes da
	
	entrega de mail serão mostrados no terminal do
	
	usuário.
	
-i
	Ignora sinais de interrupção do terminal. Útilem
	
	linhas com ruido.
	
-l
	Força o modo interativo mesmo quando a entrada
	
	não for o terminal.
	
-n
	Inibe a leitura do arquivo de inicialização global
	
	do sistema de mail.
	
-N
	Inibe a exibição inicial dos cabeçalhos das
	
	mensagens.
	
-s ass
	Especifica o assunto (subject) em linha de
	
	comando. Apenas o argumento seguinte à opção
	
	-S será considerado. Assuntos contendo espaços
	
	deverão aparecer entre aspas.
	
-c lista
	Envia uma copia da mensagem para os
	
	endereços especificados em lista.
	
-b lista
	Envia uma cópia da mensagem para os
	
	endereços especificados em lista, sem que os
	
	outros destinatários saibam.
	
-f[nome]
	Lê o conteúdo do arquivo nome para
	
	processamento (ou de mbox, caso nenhum
	
	nome de arquivo tenha sido especificado).
	
-u nome
	Lê o mailbox do usuário especificado por nome.

Utilização: Se invocado sem parâmetros, mail irá mostrar o conteúdo do mailbox e esperar por comandos do usuário, que podem ser:
Comando
	Descrição
	
?
	Lista os comandos disponíveis de forma suscinta.
	
! cmd
	Abre uma shell e executa o comando cmd.
	
R
	Reply. Responde ao remetente da mensagem
	
	corrente.
	
a[args]
	Sem argumentos, mostra todos os aliases
	
	definidos; com um argumento, mostra apenas
	
	um alias; com mais de um argumento, define o
	
	alias com o nome dado pelo primeiro argumento.
	
c [dir]
	Muda o diretório corrente para aquele
	
	especificado pordir ou para o diretório HOME do
	
	usuário caso não haja argumentos.
	
d[msgs]
	Marca as mensagens cujos identificadores
	
	estejam na lista msgs para eliminação. Se
	
	nenhuma mensagem tiver sido especificada, a
	
	mensagem corrente será marcada.
	
e[msgs]
	Edita todas as mensagens dadas por msgs,
	
	passando uma a uma para o editor.
	
x
	Sai abandonando alteragées feitas no mailbox
	
	ou no arquivo que estiver sendo processado.
	
m addr
	Envia mail para todos os enderegos especificados
	
	na lista addr.
	
n
	Passa para a próxima mensagem; equivale a “+”
	
	ou CR (carriage return).
	
q
	Termina a execução do programa e efetiva todas
	
	as alterações feitas pelo usuário (eliminando
	
	mensagens marcadas, etc.).
	
r
	Reply. Envia mensagem ao remetente e demais
	
	destinatários de uma mensagem.
	
s list f
	ile Toma uma lista de mensagens e as concatena
	
	ao arquivo cujo nome seja o dado por file, na
	
	ordem especificada.
	
sh
	Invoca uma shell interativa.
	
u
	Undelete. Remove a marca de eliminação de
	
	uma mensagem.
	
w list f
	ile Idem a s, exceto pelo fato dos cabeçalhos das
	
	mensagens serem ignorados.
	
z
	Avança uma página na lista de mensagens.
	
z-
	Retrocede uma pagina na lista de mensagens.
	
Edição
	Quando usamos os comandosm, rou R, ou especificamos
	
	um destinatário em linha de comando, entramos no modo de
	
	edição de mensagens. Aqui utilizamos os chamados “tilde
	
	escapes”, comandos especiais que devem ser digitados no
	
	início de uma linha para serem reconhecidos. Se o caractere
	
	“=” for necessário no início da linha da mensagem, este deve
	
	ser digitado duas vezes.
	
~!cmd
	Abre uma shell e executa o comando cmd,
	
	retornando à mensagem em edição.
	
~cnomes
	Acrescenta os nomes da lista nomes à lista de
	
	receptores das cópias da mensagem.
	
~d
	Insere o arquivo dead.letter na mensagem
	
	corrente.
	
~e
	Invoca o editor de textos e edita a mensagem que
	
	estiver sendo composta. Ao final da edição pode-se
	
	continuar acrescentando texto à mensagem.
	
~f msgs
	Insere as mensagens especificadas na
	
	mensagem em edição.
	
~h
	Edita os campos do cabeçalho (header) da
	
	mensagem.
	
~m msgs
	Insere as mensagens da listamsgs endentadas
	
	na mensagem em edição.
	
~q
	Aborta a mensagem em edição, guardando seu
	
	conteúdo no arquivo dead.letter.
	
~r file
	Insere o arquivo file na mensagem em edição.
	
~s strin
	g Muda o assunto (subject) da mensagem para
	
	string.
	
-w nome
	Grava o conteúdo da mensagem em edição no
	
	arquivo nome.
	
~|cmd
	Passa a mensagem em edição para o programa
	
	cmd através de um pipe.

Obs: Dentre todas as ferramentas que compõe um sistema UNIX, os agentes de mail são, sem dúvida, os mais populares eos que apresentam maior variedade de implementação. O agente documentado aqui é o popular mailx, presente na maioria dos sistemas, tiver sido escolhido pela generalidade almejada por este guia. As listas de mensagens requeridas por alguns comandos são listas de números ou intervalos separados por vírgulas. Intervalos têm a forma X-Y (leia de X a Y).
Exemplos:
cat arq1.txt arq2.txt | mail -s textos macan

mail macan -c wada, tulio, mauronr -b flexa

mail -s "falha no backup" root
rcp
Copia arquivos de uma maquina remota.
Sintaxe:
rcp [-pr] <fonte> <destino>
Parâmetro
	Descrição
	
-p
	Mantém os atributos do arquivo original, como,
	
	por exemplo, datas de acesso e modificação e
	
	permissões de acesso.
	
-r
	Copia também o conteúdo dos subdiretórios
	
	abaixo do diretório especificado.
	
fonte
	Especifica um arquivo ou diretório em máquina
	
	remota, podendo assumir duas formas:
	
	maquina:path ou ainda usuario@maquina:path
	
	(o ultimo, no caso do arquivo pertencer a outro usuario).
	
destino
	Similar a fonte. Quando multiplos arquivos são
	
	especificados por fonte, o destino precisa
	
	necessariamente ser um diretório.

Obs: O usuário e a máquina destino precisam ter permissão de acesso via rede nas máquinas fonte. Consulte o manual do sistema para maiores informações.
Exemplo:
# Copia o arquivo teste.pl, residente em /bin na máquina
# chamada cradle para o diretório corrente.

rcp -p leonardo@cradle:/bin/teste.pl .

# Copia todo o diretório /home/macan/bin da maquina chamada
# dracula para o diretorio corrente.

rcp -r dracula:/home/macan/bin/ .
rsh
Executa um comando no host especificado. Se invocado sem a especificação de um comando, executa uma shell interativa no host remoto.
Sintaxe:
rsh [-Iuser] host [comando]
Parâmetro
	Descrição
	
-l user
	Permite executar a shell como outro usuario no
	
	host remoto (por default, o nome do usuário
	
	remoto será o mesmo do local).

Exemplo:
#outro.host.exemplo e dracula sao nomes
#ficticios de hosts.

rsh -l macan outro.host.exemplo
rsh dracula
ruptime
Mostra o status de cada máquina da rede local, obtendo seus dados de pacotes difundidos pelas máquinas de tempos em tempos (geralmente entre 1 e 3 minutos).
Sintaxe:
ruptime [-alrtu]
Parâmetro
	Descrição
	
-a
	Conta até mesmo os usuários que estejam
	
	inativos há mais de uma hora.
	
-l
	Ordena a saída pela carga média de cada host.
	
-r
	Inverte a ordenação da saída.
	
-t
	Ordena a saída por tempo de atividade do sistema
	
	(uptime).
	
-u
	Ordena a saida pelo numero de usuarios.

Obs: Uma máquina é considerada inativa (down) quando a mesma não difunde informações sobre seu estado há algum tempo (geralmente entre 5 e 11 minutos, dependendo do sistema utilizado).
Exemplo:
ruptime -1
rup
Mostra informações sobre o status de uma máquina da rede. Similar a uptime, para máquinas da rede local.
Sintaxe:
rup [máquina ...]
Obs: Se não forem fornecidos parâmetros, rup fará um pedido do status por difusão (broadcast) a todas as máquinas da rede local, mostrando os resultados na ordem em que asrespostas forem recebidas.
rusers
Mostra quem está usando as máquinas da rede.
Sintaxe:
rusers [-al] [máquina ...]
Parâmetro
	Descrição
	
-a
	Mostra informação de todas as máquinas que
	
	responderam, mesmo que não haja nenhum
	
	usuário conectado.
	
-l
	Seleciona o formato longo de saída.

Obs: Se nenhuma máquina tiver sido especificada na linha de comando, rusers mostrará informações de todas as máquinas da rede local.
rwall
Envia mensagem a todos usuarios de uma maquina. Sintaxe:
rwall [máquina]
Parâmetro
	Descrição
	
máquina
	O nome da máquina para a qual se deseja enviar
	
	a mensagem.

Obs: rwall lerá a mensagem da entrada padrão (stdin) até encontrar o caractere EOF (geralmente CTRL-D).
rwho
Mostra quem está usando as máquinas da rede local e o que estão fazendo.
Sintaxe:
rwho [-a]
Parâmetro
	Descrição
	
-a
	Mostra inclusive usuários com tempo de
	
	inatividade maior do que uma hora.

telnet
Abre um canal de comunicação entre duas máquinas através do protocolo TELNET.
Sintaxe:
telnet [ host [ port] ]
Parâmetro
	Descrição
	
host
	Identifica a máquina remota com a qual se quer
	
	estabelecer a conexão.
	
port
	Identifica a porta através da qual se estabelecerá
	
	a conexão entre as duas máquinas.

Obs: Se não forem fornecidos parâmetros, telnet entrará no modo de comando interativo. Para alternar para o modo interativo durante uma sessão usa-se o caractere de escape CTRL-] (^D).
Comandos:
Comando
	Descrição
	
open host [ port]
	Abre uma conexão com host através da porta
	
	especificada.
	
close
	Encerra uma conexão TELNET e retorna ao
	
	modo de comando.
	
quit
	Fecha qualquer sessão aberta e termina a
	
	execução de telnet. Um EOF (geralmente ^D)
	
	no modo de comando tem o mesmo efeito.
	
z
	Suspende telnet. Este comando só funciona se
	
	a shell do usuário implementar mecanismos de
	
	controle de processos.
	
mode modo
	Seleciona atransmissão dos dados por caractere
	
	ou linha; character ou line, respectivamente.
	
status
	Mostra o estado atual de telnet.
	
display [arg…]
	Mostra o valor de um (ou todos) argumento(s)
	
	dos comandos set e toggle (veja adiante).
	
?[comando]
	Mostra informações de ajuda sobre comando.
	
	Se invocado sem argumentos, listaos comandos
	
	válidos.
	
![comando]
	Invoca uma shelle executacomando caso este
	
	tenha sido especificado. Disponível em algumas
	
	versões de telnet.
	
send argumentos
	Envia uma sequência especial de caracteres
	
	para o host remoto. Os seguintes argumentos
	
	podem ser especificados:
	
escape
	Envia o caractere de escape (inicialmente “] ).
	
synch
	Envia a sequência de sincronismo do protocolo
	
	TELNET, o host remoto descarta todos os
	
	caracteres recebidos que ainda não foram
	
	interpretados.
	
brk
	Envia a sequência de BRK (break).
	
ip
	Envia a sequência IP (Interrupt Process), que
	
	faz com que o host remoto interrompa a
	
	execução do processo que estiver sendo
	
	executado.
	
ao
	Envia a sequência AO (Abort Output), que faz
	
	o host remoto descartar toda a saída do host
	
	remoto para o terminal do usuário.
	
ayt
	Envia a sequência AYT (Are You There?) para
	
	o host remoto, que pode escolher responder
	
	ou não.
	
ec
	Envia a sequência EC (Erase Character), que
	
	faz com que o host remoto cancele o último
	
	caractere recebido.
	
el
	Envia a sequência EL (Erase Line), que faz
	
	com que o host remoto descarte a linha que
	
	estiver sendo digitada.
	
ga
	Envia a sequência GA (GO AHEAD). Sem
	
	significado para o host remoto.
	
nop
	Envia a sequência NOP (No Operation).
	
?
	Mostra informações sobre o comando send.
	
set variável valor
	Ajusta o valor de uma ou mais variáveis telnet.
	
	Os valores especiaison e off ligam ou desligam
	
	a função associada a uma variável (veja toggle
	
	abaixo).
	
echo
	Caractere para ligar ou desligar o eco local
	
	dos caracteres digitados (Inicialmente ^E).
	
escape
	Caractere de escape para o modo de comando
	
	(inicialmente ^] ).
	
interrupt
	Caractere para provocar interrupção do
	
	processo remoto. O default dependerá da
	
	configuração do terminal (veja stty).
	
quit
	Caractere para provocar aborto de processo.
	
	O default dependerá da configuração do
	
	terminal (veja stty).
	
flushoutput
	Caractere para provocar um Abort Output.
	
erase
	Caractere usado para eliminar um caractere.
	
	O valor default dependerá da configuração do
	
	terminal (veja stty).
	
kill
	Caractere usado para cancelar a entrada de
	
	uma linha. O default dependerá da
	
	configuração do terminal (veja stty).
	
eof
	Caractere para demarcar o fim da entrada. O
	
	default dependerá da configuração do terminal
	
	(veja stty).
	
toggle args…
	Inverte o valor associado a uma (ou várias)
	
	variável(eis) booleana(s) (veja set acima).
	
localchars
	Liga/desliga o reconhecimento local de certos
	
	caracteres de controle.
	
autoflush
	Liga/desliga o descarte da saída quando
	
	enviando caracteres de interrupção.
	
autosynch
	Liga/desliga o envio automático de caracteres
	
	de interrupção no modo “urgente” de
	
	transmissão.
	
crmod
	Liga/desligao mapeamento local de caracteres
	
	de retorno de carro (CR) recebidos.
	
options
	Liga/desliga a visualização do processamento
	
	de opções (debugging).
	
netdata
	Liga/desliga a impressão em hexadecimal de
	
	dados provenientes da rede (debugging).
	
?
	Mostra informações sobre o comandotoggle.

Exemplo:
telnet localhost
whois
Pesquisa um identificador, tal como nomes, handles ou organizações em um banco de registros na internet.
Sintaxe:
whois [-h host] identificador
Parâmetro
	Descrição
	
-h host
	Indica o host ao qual se deve fazer a consulta.

Exemplos:
whois pigs.com

whois -h whois.internic.net Silva
Obs: O servidor central de whois da internet, para os “top level domains” (.com .org .mil .br , etc) é a máquina whois.internic.net.
Correspondência DOS-UNIX
Esta tabela demonstra a correspondéncia entre alguns comandos do DOS e os comandos do Unix e nao uma equivaléncia. Os comandos do Unix sao, em geral, mais complexos e poderosos do que os correspondentes no MS-DOS.
Comando do DOS
	Correspondente UNIX
	
ATTRIB
	chmod
	
CD
	cd
	
CLS
	clear
	
COMP
	diff
	
COPY
	cp
	
DATE
	date
	
DEL
	rm
	
DELTREE
	rm -rf
	
DIR
	ls
	
ECHO
	echo
	
EDIT
	vi
	
EDLIN
	ed
	
HELP
	man
	
MD
	mkdir
	
MORE
	more
	
MOVE
	mv
	
PRINT
	lp , lpr
	
RD
	rmdir
	
REN
	mv
	
SORT
	sort
	
TIME
	date
	
TYPE
	cat
	
VER
	uname -a
	
XCOPY /S
	cp -r
	
Tabela simplificada de Correspondência DOS-UNIX
Leitura Recomendada
•	UNIX System Programming, Keith Haviland e Ben Salama, Addison- Wesley Publishing.
•	The UNIX System, S. R. Bourne, Addison-Wesley Publishing.
•	The UNIX System V Environment, S. R. Bourne, Addison-Wesley Publishing.
•	Modern Operating Systems, Andrew S. Tanembaum, Prentice Hall.
•	Operating systems: Design and Implementation, Andrew S. Tanembaum, Prentice Hall.
•	Computer Networks, Andrew S. Tanembaum, Prentice Hall.
•	The C Programming Language, B. W. Kernighan e D. M. Ritchie, Prentice Hall .
•	Internetworking with TCP/IP: Principles, Protocols and Architecture, D. Comer, Prentice Hall.
Obs: Parte destes titulos esta disponivel em portugués, consulte a livraria mais proxima.
WWW
Pagina oficial da lista de discussão linux-br, a maior e mais antiga do pais.
~ http://www.openline.com.br/linux-br
Lista de Usuários Avançados de Linux (lista fechada, inscrição mediante indicação).
~ http://www.mondotech.com/lual
Site oficial da linux international.
http://www.linux.org
Site oficial da freebsd.org no Brasil.
http://www.br.freebsd.org
O Site do Servidor X Free.
http://www.xfree86.org
Free Software Foundation.
http://www.gnu.org
Debian GNU/LINUX.
http://www.debian.org
Home page da lista Linux-BR.
http://www.openline.com.br/linux-br
Unix World on-line Magazine.
http://unixworld.com/unixworld
Unix Guru Universe.
http://www.ugu.com
Mirror brasileiro oficial da Sunsite.
http://sunsite.unicamp.br
Sunsite Archives.
http://sunsite.unc.edu
FTP Sites
Mirror dos pacotes GNU (Free Software Foundation).
ftp://ftp.unicamp.br/pub/software/gnu
GNU Software.
ftp://ftp.unicamp.br/pub/gnu
Arquivos da DICAS-L.
ftp://ftp.unicamp.br/pub/dicas-1
Internet RFC (Request For Comments).
ftp://ftp.unicamp.br/pub/documents/rfc/
Listas de Discussão
listproc@netway.unicamp.br
Dicas-l, uma lista moderada com dicas periódicas valiosas para administradores. Para se inscrever, envie para o endereço acima a mensagem: subscribe dicas-l nome completo.
listproc@listas.ansp.br
Este servidor disponibiliza duas listas nacionais de grande importância, linux-br e redes-l. Para se inscrever envie uma mensagem com os seguintes comandos: subscribe linux-br nome completo. subscribe redes-| nome completo.
petidomo@igm.unicamp.br
Este serrvidor distribui a lista FreeBSD-I. Para se inscrever, envie o comando add FreeBSD no corpo do e-mail.
Software Livre
Há alguns anos a Free Software Foundation (FSF) vem produzindo software com qualidade no minimo equivalente à dos similares comerciais; o software é desenvolvido por voluntários de várias partes do mundo e garante a liberdade do usuário de redistribui-lo e modificá-lo, pois o código fonte está sempre disponível, o que facilita a adaptação do código a várias plataformas.
Você pode encontrar seu programa “free” preferido, compilado para várias arquiteturas e se não houver versão disponível para seu sistema, você poderá tomar a iniciativa de portá-lo, sem depender do interesse comercial de uma grande companhia.
A iniciativa de produção de software livre*, patrocinada ou não pela FSF, trouxe grandes contribuições ao público, entre elas os sistemas Unix free, destacando-se Linux e FreeBSD.
Para saber mais sobre “free software” consulte as páginas da seção Internet deste guia.
* A tradução adequada de “free” para este caso é “livre” e não “grátis”, pois o usuário tem todaliberdade com o sofware. Os direitos de cópia são reservados ao autor, que os cede ao interesse público. O software é pago mediante doação para o autor ou instituição que detiver os direitos do software.
A Respeito do Autor
Eduardo Marcel Maçan, natural de Santa Mariana - PR, ingressou no curso de Engenharia de Computação da Universidade Estadual de Campinas (UNICAMP) em 1992, tendo trabalhado desde então com administração e desenvolvimento para o sistema Unix.
Fundador da lista de discussão linux-br, atualmente presta consultoria em projeto, implantação e integração de redes, Intranet e Internetworking, suporte Unix, desenvolvimento de material didático e cursos para a Mondo Technologies.
Sobre Este Guia
Escrever um guia de consulta rápida para UNIX é uma tarefa no mínimo desafiadora. Há inúmeras versões de UNIX, comerciais ou não, cada uma sendo constantemente modificada de forma independente, sem muita preocupação de se adotar (ou respeitar) padrões de desenvolvimento.
Esta desordem aliada à quantidade assombrosa de informação envolvida nos comandos do sistema resulta na necessidade de se estabelecer critérios quanto ao que é realmente útil em um guia de consulta rápida e a quem o mesmo se destina.
Este guia foi escrito baseando-se na experiência do autor com vários “sabores” de UNIX, a saber: Linux, FreeBSD, SunOS, Solaris, HP-UX, AIX e OSF/1 e nos manuais dos quatro primeiros. Visamos sempre a documentação do que era comum a todas as versões de cada comando, delimitando desta forma um núcleo de informação genérica o suficiente para que pudéssemos afirmar que este guia será útil em qualquer versão de sistema e para toda classe de usuários.
Os iniciantes têm nesta seleção de comandos um volume de informações bem além do essencial, a nível de usuário, e uma tabela de correspondência de comandos que facilita muito a migração a partir de um ambiente DOS / Windows, tornando possível o ingresso imediato no mundo de um dos mais completos e fascinantes sistemas operacionais já desenvolvidos.
O texto deste guia foi inteiramente composto e editado usando free software. O autor utilizou o sistema operacional Linux (Debian/GNU), XFree86 (sistema de janelas) e o editor de textos GNU Emacs (ainda estou tentando convencer a editora a usar LaTeX para a formatação. :-)).
O autor deste guia pode ser contatado pela Internet, através do endereço:
E-Mail: macan@novatec1.com
Sugestões e comentários sobre este guia são sempre bem-vindos.
Convenção Utilizada neste Guia
Convenção
	Significado
	
[ texto ]
	Texto é opcional.
	
<texto>
	Texto é obrigatório.
	
texto…
	Texto pode ocorrer mais de uma vez.
	
texto1 | texto2
	Texto1 etexto2 são alternativas mutuamente exclusivas.

Licença
O conteúdo deste guia tanto no formato Markdown original quando nos formatos derivados de seu processamento (pdf, epub, etc) é regido pela licença Creative Commons CC BY 4.0, o que significa que trabalhos derivados são permitidos, contanto que o autor original seja mencionado e receba os devidos créditos pelo material utilizado.
Os scripts utilizados para o preprocessamento do guia são licenciados sob a Licença MIT.
Copyright 2022 Eduardo M. Maçan
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.