Buscar

03 Soft Livre e Linux

Prévia do material em texto

So
ft
w
ar
e 
L
iv
re
 e
 L
in
u
x 
– 
P
ág
in
a 
1
 
Software Livre e 
Linux 
 
1. HISTÓRICO 
 
 Em 1971, quando Richard Stallman iniciou sua carreira no 
Laboratório de Inteligência Artificial do MIT (Massachusetts Institute 
of Technology), fazia parte de uma comunidade que incluía empresas 
e programadores onde havia cooperação entre seus membros, 
compartilhando programas. Porém, no início dos anos 80, quase 
todos os softwares passaram a ser proprietários, proibindo e 
impedindo a livre troca de softwares entre os usuários. 
 Numa tentativa de trazer de volta o espírito cooperativo que 
prevalecia na comunidade de informática nos seus primórdios, Stallman 
idealizou o Projeto GNU (Gnu is Not Unix) em 1983, com a intenção de 
criar um sistema operacional livre e tornar a cooperação possível outra 
vez, removendo os obstáculos impostos pelos donos dos softwares 
proprietários. Como o interesse no Projeto GNU e seus softwares 
começou a crescer, outras pessoas se envolveram no projeto e, em 
1985, foi criada a Free Software Foundation, uma instituição 
filantrópica para o desenvolvimento dos softwares livres e arrecadar 
fundos para ajudar a desenvolver o GNU. O primeiro objetivo do projeto 
deveria ser a construção de um sistema operacional, que serviria como 
base para a instalação de qualquer outro software livre. 
 O sistema operacional Unix foi escolhido como modelo por ser 
um software com design geral já testado e portável, muito robusto, 
usado em computadores de grande porte nas empresas e 
universidades e porque a compatibilidade tornava fácil para os atuais 
usuários do Unix a mudança para o GNU. De 1984 ao início dos anos 
90 o Projeto GNU já havia conseguido produzir todos os componentes 
principais do sistema operacional, exceto um: compiladores, editores, 
formatadores de texto, software de e-mail e muitos outros estavam 
prontos, mas faltava o kernel, o núcleo do sistema. 
 Em 1991, o estudante finlandês Linus Torvalds desenvolveu um 
kernel Unix-like (semelhante ao UNIX) e concorrente do MINIX (um 
outro sistema UNIX-Like, criado por um conhecido professor 
americano e autor de diversos livros: Andrew Tanenbaum), 
batizando-o Linux, disponibilizado em 1992. 
 Linus enviou, aos interessados, o código-fonte do seu sistema, 
para que pudessem entender, modificar e melhorar o seu projeto. Ele 
já o havia testado rodando alguns programas, mas precisava de ajuda 
para torná-lo um sistema operacional viável. 
 Ele escreveu uma mensagem numa lista de discussão na Internet 
encorajando outros programadores e usuários do UNIX a ajudá-lo na 
tarefa de criar um sistema operacional semelhante para micros 
domésticos que superasse, em muitos aspectos, o MINIX (até então, 
uma das pouquíssimas opções de sistema UNIX-Like para PCs). A 
combinação do Linux com o quase completo sistema GNU resultou 
em um sistema operacional completo: o sistema GNU/Linux. 
 A meta do Projeto GNU era dar liberdade aos usuários, não apenas 
ser popular. Então, foram criadas algumas regras de distribuição que 
evitassem a transformação do software GNU em software proprietário. 
O método utilizado é chamado de Copyleft, o qual usa a lei de direitos 
autorais dos softwares licenciados (copyright), mas no sentido oposto 
de seu propósito habitual: em vez de um meio de privatização do 
software, torna-se um meio de manter o software livre. 
 A ideia central do copyleft é dar a todos permissão para executar 
o programa, copiar o programa, modificar o programa, e distribuir 
versões modificadas, mas não a permissão para adicionar restrições 
próprias. Assim, as liberdades cruciais que definem o "software livre" 
são garantidas a todos que tem uma cópia, pois eles tornam-se 
direitos inalienáveis. 
 A licença de software livre deve minimamente conceder ao 
usuário os direitos de executar o programa, estudar o código-fonte e 
adaptá-lo às suas necessidades, redistribuir cópias, além de 
aperfeiçoar e comercializar o programa [ANAC - Cargo 7: Analista Administrativo – 
Área 2: Tecnologia da Informação - Caderno R – Cespe 07/2009]. 
 A GNU General Public License (Licença Pública Geral), GNU GPL ou 
simplesmente GPL é a licença com maior utilização por parte de 
projetos de software livre, em grande parte devido à sua adoção para o 
Linux. Em termos gerais, a GPL baseia-se em 4 liberdades: 
 
LIBERDADE NRO 0 - Executar o programa, para qualquer propósito 
[MTE - Auditor Fiscal do Trabalho - ESAF 2003]. 
LIBERDADE NRO 1 - Estudar como o programa funciona e adaptá-
lo para as suas necessidades. 
LIBERDADE NRO 2 - Redistribuir cópias de modo que o usuário 
possa ajudar ao seu próximo. 
LIBERDADE NRO 3 - Aperfeiçoar o programa e liberar os seus 
aperfeiçoamentos, de modo que toda a comunidade se beneficie 
deles. 
 
Software livre é software que vem com permissão para qualquer um 
copiar, usar e distribuir, com ou sem modificações, gratuitamente ou 
por um preço. Em particular, isso significa que o código fonte deve estar 
disponível. O Linux é um sistema operacional de código aberto que 
pertence à classificação de software livre e permite a verificação de 
seu mecanismo de funcionamento e até mesmo a correção de 
eventuais falhas ou problemas [SERPRO – Cargo 16 – Analista – Operação de 
Redes – Cespe 05/2010]. 
 Para um software seja efetivamente livre, as versões modificadas 
também devem ser livres. Isso garante que o trabalho baseado em 
software GNU se torne disponível para a comunidade, se ele for 
publicado. A distribuição de software livre requer que a este seja anexada 
uma licença de software livre e a abertura de código [ANAC - Cargo 7: Analista 
Administrativo – Área 2: Tecnologia da Informação - Caderno R - Cespe 07/2009]. 
 São liberdades ou direitos pertinentes ao conceito de software 
livre, como estabelecidos pela FSF, entre outros: o estudo do 
funcionamento do software, em seu formato de código fonte; a 
modificação desse código; a execução do programa para qualquer 
propósito, independentemente de solicitação ou consulta ao 
detentor da licença; a redistribuição de cópias do software livre ou 
trabalhos derivados livres, inclusive com cobrança de dinheiro por tal 
ação [ANATEL - Cargo 8: Analista Administrativo — Área: Tecnologia da 
Informação – Especialidade: Análise de Negócios - Caderno J – Cespe 03/2009]. 
Aquele que redistribuir um software GNU poderá cobrar pelo ato de 
transferir uma cópia ou poderá distribuí-las gratuitamente [MTE - Auditor 
Fiscal do Trabalho - ESAF 2003]. 
 Um modelo de negócio com o uso de software livre é a 
consultoria e suporte, com a implantação e a manutenção de 
software livre sem custo nenhum de licenciamento para o cliente, 
sendo pagos somente os serviços prestados [ANP - Perfil 5: Analista Administrativo 
– Área V – Cespe 01/2013]. 
 O software livre (free software), difere do software gratuito 
(freeware), shareware e software proprietário: 
 Ao contrário de um software proprietário, o software livre, ou de 
código aberto, permite que o usuário tenha acesso ao código-
fonte do programa, o que torna possível estudar sua estrutura e 
modificá-lo. O GNU/Linux é exemplo de sistema operacional livre 
usado em servidores [IBAMA – Técnico Administrativo – Cespe 10/2012]. 
 O conceito de software livre é diferente do de software em domínio 
público. O primeiro garante as prerrogativas de autoria do 
programador, enquanto o segundo surge quando o software já se 
tornou bem comum, segundo a legislação de cada país [EMBASA - Analista 
de Saneamento – TI Redes – Cespe 02/2010]. 
 Um software é denominado freeware se o autor optar por 
oferecê-lo gratuitamente a todos, mas mantiver a sua 
propriedade legal, do que se conclui que ele pode impor 
restrições de uso a esse software [Correios - Analista de Correios- Cargo 5: 
Suporte de Sistemas – Cespe 05/2011].So
ft
w
ar
e 
L
iv
re
 e
 L
in
u
x 
– 
P
ág
in
a 
2
 
2. KERNEL E DISTRIBUIÇÕES 
 
 No Linux, o kernel é o próprio sistema operacional – o restante é 
acessório. O kernel do Linux em si é muito pequeno e não tem muita 
coisa, mas claro que tem o mais importante, já que ele é o sistema 
propriamente dito. Porém, para que o Linux seja utilizável, é 
necessário que existam, também, outros programas que, junto com o 
kernel, façam o sistema completo e amigável para um usuário 
qualquer. 
 Muitas empresas e programadores obtêm o Kernel do Linux e 
juntam a ele outros programas que julgam importantes. Cada uma 
dessas mesmas pessoas ou instituições relança o Linux com seu 
próprio nome, ou com algum “apelido”, chamado Distribuição Linux. 
As diversas distribuições do Linux representam a união do kernel, que 
é uma parte importante do sistema operacional, com alguns 
programas auxiliares. [SEPLAG/IBRAM - Conhec. Básicos NS – Cespe 07/2009]. 
 Algumas distribuições são bem pequenas (cabendo em um 
disquete ou em um CD) e outras já são bem maiores (com centenas 
de programas juntos). O que diferencia uma da outra é a maneira 
como são organizados e pré-configurados os aplicativos e como será 
feita a instalação do sistema. Entre as distribuições do sistema Linux, 
estão Debian, Slackware, Red Hat e Conectiva [SEPLAG/IBRAM - Conhec. Básicos 
NS – Cespe 07/2009]. Outros exemplos de distribuições são Suse, Fedora, 
Mandrake, Mandriva, Kurumin, Kalango, Ubuntu, Kubuntu, Gentoo, 
Knopix, Turbo Linux, Mint, CentOS. 
 
3. DUAL BOOT 
 
 Dual boot ou multi boot é a possibilidade de se escolher um entre 
vários sistemas operacionais disponíveis para um mesmo 
computador. 
 Com o uso de programas apropriados, é possível instalar mais de 
um sistema operacional em um computador, tal que, ao se iniciar uma 
seção de trabalho, pode-se selecionar qual sistema operacional será 
utilizado [SEFAZ-ES – Consultor do Executivo – Cespe 04/2010]. O Linux pode ser 
instalado na configuração dual boot com o Windows. Nesse caso, os 
arquivos da partição Windows podem ser lidos dentro do Linux [EMBASA 
- Analista de Saneamento – TI Redes – Cespe 02/2010]. 
 O carregamento (boot) do sistema operacional Linux pode ser 
gerenciado pelo programa LILO (LInux LOader) [PC-ES – Escrivão de Polícia – Cespe 
01/2010]. Grub (GRand Unified Bootloader) é a ferramenta que realiza o 
procedimento de gerenciador de boot no Linux Ubuntu Desktop 12.10 
[TRT 10ª - Técnico Jud. – Cargo 12 - TI - Cespe 02/2013]. 
 
4.6. Shell e Usuários 
 
 O Linux, assim como qualquer sistema operacional moderno, é 
perfeitamente capaz de oferecer interação com o usuário através de 
gráficos, fazendo com que seja possível utilizar a maioria de seus 
recursos através do mouse. Porém, em dado momento, o modo 
gráfico pode não estar disponível, restando apenas o modo texto 
(para a inserção de comandos). Além disso, determinadas tarefas só 
podem ser executadas por comandos digitados. 
 Quando o comando é inserido, cabe ao interpretador de 
comandos, o shell, executá-lo. O Linux conta com mais de um, sendo 
os mais conhecidos o bash e o sh. 
 Quando um terminal é acessado, uma informação aparece no 
campo de inserção de comandos. É importante saber interpretá-la. 
Para isso, veja os exemplos abaixo: 
 
Exemplo 1 
root@tosha: /root# 
Exemplo 2 
marrrcelo@queijominas:~$ 
 
 Nos exemplos, a palavra existente antes do símbolo @ diz qual o 
nome do usuário que está usando o terminal. Os nomes que 
aparecem depois do @ indicam o computador que está sendo 
acessado seguido do diretório. 
 O caractere que aparece no final indica qual o poder do usuário. 
Se o símbolo for #, significa que usuário tem poderes de 
administrador (root). Por outro lado, se o símbolo for $, significa que 
este é um usuário comum, incapaz de acessar todos os recursos que 
um administrador acessa. Independentemente de qual seja, é depois 
do caractere $ ou # que o usuário pode digitar os comandos. 
 
5. DIRETÓRIOS 
 
 No Linux, o sistema de diretórios e arquivos começa na raiz, 
simbolizada por “/”. Abaixo dela é possível achar os diretórios dos 
usuários, das configurações globais, dos programas instalados e dos 
dispositivos disponíveis no computador. Essa estrutura foi inspirada 
no Unix e é usada em quase todas as distribuições Linux. No Linux, 
pode-se definir um caminho de diretórios a partir do uso de barras 
não invertidas (/), diferentemente do Windows, em que são utilizadas 
barras invertidas (\) [Assunto exigido em CEF RJ-SP – Téc. Bancário – Cespe 04/2010]. 
 O sistema de diretório do Linux apresenta os diretórios de 
maneira hierarquizada, por isso, também é conhecido como árvore 
de diretórios [PC-ES - Delegado Polícia Substituto – Cespe 2010]. Esses 
diretórios incluem /bin, /dev e /etc. No diretório /bin, encontram-se 
diversos comandos Linux, como ls, sort, date e chmod [UERN – Técnico NS – 
Cespe 04/2010]. 
 A estrutura hierarquizada de pastas do Linux inclui, 
normalmente: 
/bin - os comandos do Linux são arquivos com permissão para serem 
executados e estão armazenados, em sua maioria, no diretório /bin 
[MinC - Nível V – Atividades de Complexidade Intelectual NS – Especialidade 
12 – Cespe 08/2013]. O diretório /bin contém programas do sistema que 
são utilizados com frequência pelos usuários, não sendo necessário, 
para que esses programas sejam executados, que eles possuam a 
extensão .exe [TRE RJ – Analista Judiciário – Cespe 08/2012]. 
/boot - contém arquivos necessários para a inicialização do sistema. 
/cdrom - ponto de montagem da unidade de CD-ROM. 
/media - ponto de montagem de dispositivos diversos do sistema 
(rede, pen-drives, CD-ROM em distribuições mais novas). 
/dev - contém arquivos usados para acessar dispositivos (periféricos) 
existentes no computador. No Linux, o diretório raiz, que é 
representado pela barra /, e o diretório representado por /dev 
servem para duas funções primordiais ao funcionamento do 
ambiente: o primeiro é onde fica localizada a estrutura de diretórios 
e subdiretórios do sistema; o segundo é onde ficam os arquivos de 
dispositivos de hardware do computador em que o Linux está 
instalado [TRT 21ª Região - Analista Administrativo – Cespe 11/2010]. 
/etc - arquivos de configuração de seu computador local. 
Os diretórios /etc e /lib contêm, respectivamente, os arquivos de 
configuração dos sistemas do tipo Linux e os arquivos de bibliotecas 
do sistema [TRT 10ª - Técnico Jud. – Cargo 12 - TI – Cespe 02/2013]. 
Na criação de uma conta de usuário no Linux, origina-se um diretório 
de base, o qual é populado com um conjunto de arquivos padrão, 
copiados do diretório /etc/skel [UERN – Técnico NS - Cespe 04/2010]. 
Para alterar o arquivo de configuração do serviço de DHCP no Linux, 
deve-se acessar o diretório /etc [TRT 8ª Região - Cargo 8: Analista 
Judiciário - TI – Cespe 09/2013]. 
/floppy - ponto de montagem de unidade de disquetes 
/home - diretórios contendo os arquivos dos usuários. 
A estrutura de diretórios do Linux é diferente da estrutura do 
Windows: neste, os arquivos do sistema são concentrados nas pastas 
Windows e Arquivos de programas, podendo o usuário criar e 
organizar suas pastas conforme desejar; naquele, as pastas do 
sistema ficam no diretório-raiz, esperando-se que o usuário armazene 
seus arquivos pessoais em uma pasta localizada no diretório /home 
[TRE-ES - Tec. Jud. – Cargo 14: Oper. Computadores – Cespe 01/2011]. 
/lib - bibliotecas compartilhadas pelos programas do sistema e 
módulos do kernel. 
/lost+found - local para a gravação de arquivos/diretórios 
recuperados pelo utilitário fsck.ext2. Cada partição possui seu próprio 
diretório lost+found. 
/mnt - ponto de montagem temporário. 
 
So
ft
w
ar
e 
L
iv
re
 e
 L
in
u
x 
– 
P
ág
in
a 
3
 
/proc - sistema dearquivos do kernel. Este diretório não existe em seu 
disco rígido, ele é colocado lá pelo kernel e usado por diversos 
programas que fazem sua leitura, verificam configurações do sistema 
ou modificar o funcionamento de dispositivos do sistema através da 
alteração em seus arquivos. 
/root - diretório do usuário root. 
/sbin - diretório de programas usados pelo superusuário (root) para 
administração e controle do funcionamento do sistema. 
/tmp - diretório para armazenamento de arquivos temporários 
criados por programas. 
/usr - contém maior parte de seus programas. Normalmente acessível 
somente como leitura. 
/var - contém maior parte dos arquivos que são gravados com 
frequência pelos programas do sistema, e-mails, spool de impressora, 
cache, etc. 
 
6. COMANDOS 
 
 Quando se liga um computador, o sistema operacional é 
acionado, possibilitando inicializar e gerenciar o hardware e tornando 
possível sua utilização pelo usuário. O Linux e o Windows são sistemas 
operacionais distintos e possuem comandos diferentes para executar 
uma mesma tarefa, como listar arquivos de um diretório, por exemplo 
[IBAMA – Técnico Administrativo – Cespe 10/2012]. 
 Para utilizar os comandos em Linux, basta digitá-los e pressionar 
a tecla Enter. É importante frisar que, dependendo da distribuição 
Linux utilizada, um ou outro comando pode estar indisponível. Além 
disso, alguns comandos só podem ser executados por usuários com 
privilégios de administrador. 
 A relação a seguir mostra os principais comandos seguidos de 
uma descrição: 
 
adduser – adiciona usuário ao sistema, solicita a senha e cria o 
diretório home do usuário. 
cal (calendar) - exibe um calendário. 
cat arquivo (concatenate) – concatena arquivos ou mostra o 
conteúdo de um arquivo. 
cat info.txt 
resultado: mostra o conteúdo do arquivo info.txt na tela. 
cat info.txt info2.txt 
resultado: concatena os arquivos info.txt e info2.txt e mostra o resultado na tela. 
cd diretório (change directory) - abre um diretório. Por exemplo, para 
abrir a pasta /mnt, basta digitar cd /mnt. Para ir ao diretório raiz a 
partir de qualquer outro, digite cd / ou cd ~ para ir à pasta pessoal do 
usuário atual. 
 
Permissões 
 
Os arquivos, pastas e links (objetos) no GNU/Linux pertencem a 
um usuário (dono do objeto, cadastrado no sistema em /etc/passwd) e 
um grupo (elemento cadastrado em /etc/group). Cada um desses 
objetos oferece um certo nível de permissão para execução (execute – x), 
escrita/alteração/remoção (write – w) e leitura (read – r). 
Quando usado o comando ls –l é listado com detalhamentos o 
conteúdo de uma pasta, incluindo suas permissões: 
 
drwx------ 2 root root 512 Nov 12 23:30 Editais/ 
-rw-r----- 1 root root 280232 Nov 16 20:52 banca.pdf 
 
permissões links, usuário dono 
e grupo dono 
tamanho 
em bytes 
data/hora 
última modificação 
nome do arquivo 
ou pasta 
 
 O primeiro grupo de informações mostra a string, ou permissões 
do arquivo banca.pdf, que é formada por dez caracteres e pode ser 
dividida em quatro partes: 
 
- r w - r - - - - - 
tipo permissões do dono permissões do grupo permissões dos outros 
 
 Os tipos possíveis são: - (arquivo comum), d (diretório), b 
(arquivo de bloco). C (arquivo especial de caractere), p (canal) e s 
(socket). As permissões a seguir indicam, neste exemplo, que o dono 
do arquivo pode ler e modificar e o arquivo não é executável; o grupo 
a que pertence o usuário pode apenas ler; outros usuários não podem 
ler ou modificar. 
 Em sistemas Unix, a proteção de arquivos é efetuada pelo 
controle dos campos dono, grupo e universo, compostos de três bits 
(rwx), que definem se um usuário pode ler, escrever ou executar o 
arquivo [BACEN - Analista - Área 1: Análise e Desenvolvimento de Sistemas – Cespe 10/2013]. 
 Considere que o resultado a seguir tenha sido obtido após a 
execução do comando $ ls -ld ch3 test. 
 
-rw-rw-r-- 1 corr vend 4983 Jan 18 22:13 ch3 
drwxr-xr-x 2 corr vend 1024 Jan 24 13:47 test 
 
 Nesse caso, é correto afirmar que o arquivo ch3 tem permissão 
de leitura para todos os usuários do sistema operacional e de escrita 
apenas para os usuários owner e group; e que, para o diretório test, 
o usuário owner pode adicionar, mudar e apagar arquivos [Correios - Cargo 
4: Analista – Produção – Cespe 05/2011] 
 
 Para alterar as permissões, pode-se usar o comando chmod nos 
modos simbólico ou numérico: 
chmod <ugOa> <+-=><rwx> <arquivo, diretório ou link> (change 
mode) - altera as permissões de arquivos, pastas e links usando 
símbolos, onde: 
u (usuário), g (grupo), O (outros), a (todos) 
+ (adiciona permissão), - (remove), = (define) 
r (permissão de leitura), w (modificação), x (execução) 
 
chmod g+w banca.pdf 
resultado: dá permissão ao grupo do dono para a realização de modificações 
no arquivo banca.pdf. 
 
chmod ABC <arquivo, diretório ou link> (change mode) - altera as 
permissões de arquivos, pastas e links usando números, onde: 
A: número de 0 a 7 que define os direitos do usuário DONO sobre o objeto. 
B: número de 0 a 7 que define os direitos dos usuários pertencentes ao grupo 
do DONO sobre o objeto. 
C: número de 0 a 7 que define os direitos dos demais usuários sobre o objeto. 
 
E os números significam: 
0 : --- (nenhuma permissão) 
1 : --x (somente execução) 
2 : -w- (somente escrita) 
3 : -wx (escrita e execução) 
4 : r-- (somente leitura) 
5 : r-x (leitura e execução) 
6 : rw- (leitura e escrita) 
7 : rwx (leitura, escrita e execução) 
x = 1 
w = 2 
r = 4 
- = 0 
 
chmod 640 info.txt 
resultado: o arquivo info.txt poderá ser lido e escrito pelo dono (não 
executado), poderá ser lido apenas pelos usuários do grupo do dono e nenhum 
outro usuário do sistema terá qualquer direito sobre ele. 
chmod 545 /etc/ppp 
resultado: dá permissão de xr ao dono, r ao grupo e xr aos usuários, em relação 
ao diretório /etc/ppp. 
 
chown (change owner) - para a alteração do nome do proprietário de 
um arquivo ou diretório, é correto utilizar o comando chown [MEC - 
Ativ. Técn. Complexidade Gerencial – Cargo 12: Analista Sist. Operacionais – 
Cespe 10/2011]. 
 
 O comando chown permite a alteração do dono e do grupo 
relacionado ao arquivo, ou arquivos selecionados. Um usuário 
comum pode alterar o grupo de um arquivo caso seja membro tanto 
do grupo de origem quanto do grupo de destino. Porém, por motivos 
de segurança, apenas o super-usuário (root) pode alterar o dono de 
um arquivo. 
chown [novo_proprietário][:novo_grupo] arquivo/diretório 
 O comando chgrp altera apenas o grupo para os arquivos ou 
diretórios indicados. Um usuário comum pode alterar o grupo de um 
arquivo caso ele pertença tanto ao grupo de origem como ao grupo 
 
So
ft
w
ar
e 
L
iv
re
 e
 L
in
u
x 
– 
P
ág
in
a 
4
 
de destino. O super-usuário (root) pode alterar o grupo do arquivo 
para qualquer grupo válido no sistema. 
chgrp [ opções ] arquivo(s) 
clear - elimina todo o conteúdo visível, deixando a linha de comando 
no topo, como se o sistema acabasse de ter sido acessado. 
cp origem destino (copy) - copia um arquivo ou diretório para outro 
local. Por exemplo, para copiar o arquivo info.txt com o nome 
info2.txt para /home, basta digitar cp info.txt /home/info2.txt. 
date - mostra ou altera a data e a hora atual. 
df - mostra o espaço livre/ocupado pelas partições. 
diff arquivo1 arquivo2 (difference) - mostra as diferenças entre os 
conteúdos de dois arquivos de texto ou diretórios. O comando diff é 
usado para comparar arquivos de texto [ANATEL - Cargo 2: Técnico 
Administrativo – Cespe 11/2012]. 
du diretório (directory usage) - mostra o espaço em disco ocupado por 
um diretório recursivamente. 
echo [mensagem] – mostra mensagens na tela. 
emacs - abre o editor de textos emacs. 
file arquivo - mostra informações de um arquivo.find diretório parâmetro termo - o comando find serve para localizar 
informações. Para isso, deve-se digitar o comando seguido do 
diretório da pesquisa mais um parâmetro e o termo da busca. 
Parâmetros: 
name - busca por nome 
type - busca por tipo 
size - busca pelo tamanho do arquivo 
mtime - busca por data de modificação 
finger usuário - exibe informações sobre o usuário indicado. 
free - mostra a quantidade de memória RAM disponível. 
halt - desliga o computador. 
history - mostra os últimos comandos inseridos pelo usuário. 
id usuário - mostra qual o número de identificação do usuário 
especificado no sistema. 
Ifconfig - no Unix, o comando ifconfig mostra as interfaces de redes 
ativas e as informações relacionadas a cada uma delas [FUB - Cargo 20: 
Técnico de TI – Cespe 10/2013]. 
kill - encerra (mata) processos em andamento. 
ls (list) - no ambiente Linux, o comando ls permite listar todos os 
arquivos do diretório atual [EBC – Advogado – Cespe 10/2011]. Os sistemas 
Windows e Linux se assemelham na possibilidade de uso de interface 
de linha de comandos: o comando dir, no Windows, pode produzir 
listagem de arquivos em pasta ou diretório, assim como o comando 
ls, no Linux [PC-BA - Delegado de Polícia – Cespe 05/2013]. 
lpr arquivo - imprime o arquivo especificado. 
lpq - mostra o status da fila de impressão. 
lprm - remove trabalhos da fila de impressão. 
lynx - abre o navegador de internet de mesmo nome. 
mv origem destino (move) - em ambiente Linux, o comando mv é 
utilizado para mover ou renomear um ou mais arquivos e diretórios, 
o que facilita a organização das informações [Perícia Oficial-AL - Conhecimentos 
Básicos Técnico Forense – Cespe 11/2013]. 
mkdir diretório (make directory) - cria um ou vários diretórios 
(separados por espaços) dentro do diretório atual. Os comandos 
mkdir e cd permitem, respectivamente, criar um diretório e trocar o 
diretório atual [Assunto exigido em UERN – Técnico NS – Cespe 04/2010]. 
passwd usuário (password) – cadastra ou altera senha, bloqueia (-l) e 
desbloqueia (-u) usuários. 
ps (process stat) - mostra os processos em execução. Ao se executar 
o comando de administração ps -aux, serão apresentados todos os 
processos correntes no sistema Linux [MinC - Nível V – Atividades de Complexidade 
Intelectual NS – Especialidade 12 – Cespe 08/2013]. 
pwd (pathway directory) - mostra o diretório em que o usuário está. 
 
reboot - reinicia o sistema imediatamente. 
renice - altera-se a prioridade de um processo em execução, por 
intermédio do comando renice [CPRM (Companhia de Pesquisa de Recursos Minerais) - 
Cargo 16: Analista em Geociências – Sistemas – Cespe 08/2013]. 
rm arquivo (remove) - apaga o arquivo especificado. No Linux, os 
comandos rm e cp permitem, respectivamente, remover e copiar um 
ou mais arquivos [MPS – Administrador – Cespe 01/2010]. 
rmdir diretório (remove directory) - apaga o diretório especificado, 
desde que vazio. 
sleep tempo – deixa o computador em espera por segundos, minutos, 
horas ou dias). 
shutdown - desliga ou reinicia o computador. 
shutdown -r now: reinicia o computador 
shutdown -h now: desliga o computador 
O parâmetro now pode ser modificado para indicar daqui a 
quanto tempo o comando deve ser executado: a execução do 
comando shutdown -r +10 faz o sistema ser reiniciado após 10 
minutos [SEPLAG/IBRAM - Conhecimentos Básicos NM – Cespe 07/2009]. 
su (subsitute user) – alterna o usuário atual. 
tar -xzvf arquivo.tar.gz - extrai um arquivo compactado em tar.gz. 
telnet - ativa o serviço de Telnet em uma máquina. Para acessar esse 
computador a partir de outros por Telnet, basta digitar telnet 
nomedamáquina ou telnet IP. Por exemplo: telnet 192.168.0.10. 
top - exibe a lista dos processos, conforme os recursos de memória 
consumidos. Uma das vantagens do comando top, em relação ao 
comando ps, é mostrar os processos em execução, atualizando-os e 
ordenando-os na tela, conforme a utilização de CPU [TRT 10ª - Analista Jud. – 
Cargo 7: Analista Jud. TI – Cespe 11/2012]. 
touch - o comando touch é utilizado para criar um arquivo vazio [ANATEL 
- Cargo 2: Técnico Administrativo – Cespe 11/2012]. 
uname - mostra informações do sistema operacional e do 
computador. 
useradd usuário - cria uma nova conta de usuário, sem parâmetros. 
userdel usuário - apaga a conta do usuário especificado. 
uptime - mostra a quantas horas o computador está ligado. 
vi - inicia o editor de textos vi. 
w - mostra os usuários logados atualmente no computador, mostrando 
mais detalhes que o comando who. 
whereis nome - procura pelo binário do arquivo indicado, útil para 
conhecer seu diretório ou se ele existe no sistema. 
who - mostra os usuários conectados ao sistema, o terminal, data e 
hora da conexão. O Linux permite logins simultâneos de vários 
usuários. Para visualizar os usuários logados no Linux em 
determinado momento, deve-se executar o comando who [MPU - Cargo 
33: Técnico TI e Comunicação – Cespe 10/2013]. 
whoami – exibe o nome do usuário que está conectado. 
 Praticamente todos os comandos citados possuem parâmetros 
que permitem incrementar suas funcionalidades. Por exemplo, se o 
usuário digitar o comando ls com o parâmetro -R (ls -R), este mostrará 
todos os arquivos do diretório atual e subdiretórios, inclusive os 
arquivos ocultos (o parâmetro –R gera uma operação recursiva pois 
varre diretórios). 
 A forma mais prática de conhecer os parâmetros disponíveis para 
cada comando é consultando as informações de ajuda. Para isso, 
pode-se usar a chave --help após o comando para o qual se deseja 
conseguir informações. Também é possível utilizar os comandos man, 
help ou info, seguidos do comando para o qual se deseja obter 
informações mais detalhadas.

Continue navegando