Dicas de Linux

Veja algumas ótimas dicas de linux, fique por dentro de tudo!

Por | @oficinadanet Softwares
Dicas para Linux

Encontre aqui as seguintes dicas para Linux:


   1. visualizando arquivos em modo texto;
   2. executando aplicações em segundo plano;
   3. trabalhando com atalhos;
   4. calendário em modo texto;
   5. protegendo seu Linux do comando "rm";
   6. alterando o prompt do modo texto;
   7. copiando arquivos do Windows para Linux;
   8. fazendo backup de arquivos com o TAR;
   9. obtendo e alterando informações de usuários do sistema;
  10. instalando o gerenciador de janelas Blanes 2000.

1 - visualizando arquivos em modo texto:

Os comandos para visualizar conteúdo de arquivos em modo texto no Linux são comuns e muita gente conhece, porém, existem alguns que podem se tornar mais "amigos" do usuário no dia-a-dia. Veja quando usar o cat, more, tac, head, tail:

cat: O comando "cat" possibilita a leitura de qualquer arquivo contendo texto, entre outras utilidades a mais (como concatenar arquivos. Para maiores informações, digite "$ man cat"). Deve-se utilizar da seguinte maneira:

$ cat arquivo.que.voce.quer.ler

Caso o arquivo seja maior que a quantidade máxima de caracteres que você puder observar na tela, você pode utilizá-lo em conjunto com o "more", veja:

$ cat arquivo.de.conteudo.grande | more

Pode-se utilizar diretamente o "more" para esta ação, sem a necessidade de usá-lo em conjunto com o cat, veja:

$ more arquivo.de.conteudo.grande.tambem

Nos dois casos, é só ir apertando a tecla "Enter" até o final do documento para visualizá-lo todo ou pressionar a tecla "q" para sair (quit).

tac: Tudo que você leu para o "cat"é válido para o "tac", com a diferença de que, com o tac (e o próprio nome sugere - inverso de cat), você visualiza os textos ao contrário, ou seja, se você tem um arquivo com o seguinte conteúdo:

1
2
3

Você visualizará, ao utilizar o tac, assim:

$ tac teste.numeros.inverso
3
2
1

head: Mostra as 10 primeiras linhas do arquivo, caso você só necessite do cabeçalho. Deve ser usado da seguinte forma:

$ head arquivo.que.será.visualizado.as.10.primeiras.linhas

Existem parâmetros interessantes, vou citar o "-n". Ele permite especificar a quantidade de linhas você quer ver de um arquivo. Utilize assim:

$ head -n NÚMERO arquivo.a.ver.NÚMERO.de.linhas

tail: Utilizado da mesma forma que o `head', porém serve para visualizar as últimas 10 linhas do arquivo. Pode-se utilizar também o parâmetro "-n" definindo o número de linhas a visualizar.

$ tail -n 2 default.phpl

Para maiores detalhes dos comandos listados acima, utilize:

$ man comando

e/ou:

$ comando --help

2 - executando aplicações em segundo plano:

Quando estamos num terminal, queremos utilizar algum comando/aplicação e necessitamos ainda do terminal livre, podemos executar o que queremos em segundo plano. É muito simples, veja:

$ comando &

Simplesmente adicione o caracter & ao final do comando/aplicativo que você quer executar. Acho interessante quando estamos no X e queremos abrir uma aplicação diretamente do terminal. Veja:

$ kcalc &
$

Executou o kcalc (calculadora) e o shell continuou livre.

Veja outro exemplo em que rodei uma aplicação e o shell ficou ocupado, então, mesmo depois disso, há como fazê-lo ficar em background (segundo plano), veja:

$ su -c xcdroast
passwd:

Depois de ter fornecido a senha, ele ficou ali, estático, e o xcdroast permaneceu aberto. Como eu queria ter o shell livre, utilizei (no bash):

Ctrl + z

[1]+ Stopped su -c xcdroast

Então, ele volta ao shell, e aqui eu forneço o comando:

$ bg

[1]+ su -c xcdroast &

O programa continua executado e o shell livre.

Caso eu queria voltar o programa para foreground, é só utilizar o comando:

$ fg
su -c xcdroast

E o shell fica novamente ocupado.

Podemos fazer também o X iniciar em segundo plano (caso você utilize inicialização em modo texto e use o comando `startx' para entrar em modo gráfico), veja:

$ startx 2>&1 > /dev/null &

Você pode adicionar também essas informações ao arquivo /etc/profile, como um alias:

alias startx="startx 2>&1 > /dev/null &"

3 - trabalhando com atalhos:

Suponha que você está acostumado no dia-a-dia com o shell do Linux (bash) e faz às vezes comandos enormes. No outro dia, você quer repetir o comando e não se lembra mais de todos os parâmetros... "Ihhh, vou ter que procurar...". Nada disso. É só utilizar o modo de pesquisa do .bash_history, executando, no shell, a combinação de teclas "Ctrl + r". Para exemplo, vamos usar um comando do programa mpg123:

$ mpg123 -z -g 100 -o arts -v -@ Lista_Mp3.txt

Que servia para: utilizar shuffle, utilizar o som na altura máxima utilizando o dispositivo de saída através do arts, adicionando verbose e por fim utilizando uma lista de músicas. Ufa... Às vezes não conseguimos guardar isso tudo rapidamente, não é mesmo? Simplesmente abra um shell, e utilize: "Ctrl + r". Você visualizará:

(reverse-i-search)`':

Nesse ponto, digite o início do comando (mpg123)... Antes que você perceba o comando já apareceu na tela, do jeito que foi digitado pela ÚLTIMA vez. Se quiser executar, pressione ENTER, se não quiser, pressione BASKSPACE. Ainda no bash, é possível repetir comandos utilizando o caracter "!" (ponto de exclamação). Baseados no mesmo exemplo do mpg123 anterior, no shell utilize:

$ !mpg123

Isso executará o último comando que você fez utilizando o mpg123.

4 - calendário em modo texto:

No Linux está disponível um calendário em modo texto, em que é possível visualizar do ano 1 a 9999. O uso é muito simples, veja:

$ cal

Será exibido o calendário do mês atual.

Veja os parâmetros:

- -1 => Mostra a saída de um mês simples;
- -3 => Mostra mês anterior/atual/posterior;
- -m => Exibe a segunda-feira como o primeiro dia da semana;
- -j => Exibe o dia atual do ano (contado de 1 a 365);
- -y => Mostra o calendário do ano atual.

$ cal -m

Exibe o calendário do mês atual com a segunda-feira no primeiro dia da semana.

$ cal -3

Exibe o calendário do mês passado, atual e do próximo mês.

$ cal 2003

ou

$ cal -y

Exibe o calendário completo do ano de 2003.

$ cal 10 2000

Exibe o calendário do mês de outubro do ano de 2002.

$ cal -j 12 2002

Exibe o calendário do mês de dezembro, porém do dia 335 até o 365.

Para outros detalhes, utilize:

$ man cal

5 - protegendo seu Linux do comando "rm":

Às vezes podemos cometer erros que podem ser irreversíveis. O comando "rm", usado para remover diretórios e/ou arquivos pode nos irritar. Suponha que você tem um diretório muito importante, e quer protegê-lo. Tudo que for excluído deve ser confirmado, para você ter absoluta certeza do que está fazendo. É simples. Crie um arquivo chamado "-i". Para fazer isso, no bash, digite:

$ > -i

Este arquivo será o primeiro no diretório, devido o seu nome. Suponha que você digite:

$ rm *

O comando "rm *" será interpretado como "rm -i *", ou seja, pedindo confirmação de exclusão. Agora, suponha que você tem muitos diretórios importantes, e não quer se arriscar a perder nada! Ou seja, ao invés de criar vários arquivos `-i', você pode adicionar o seguinte alias ao arquivo ~/.bashrc, veja:

alias rm="rm -i"

Veja o conteúdo do arquivo /home/copag/.bashrc (mesma coisa que ~/.bashrc):

[copag@linuxbq testes]$ cat ~/.bashrc
# .bashrc
# User specific aliases and functions

alias cd..="cd .."
alias cds="cd /etc/rc.d/init.d && ls && cd -"
alias rm="rm -i"

[...]

Faça logout e teste: todas as vezes que você digitar "rm", será assumido que você utilizou "rm -i".

Maiores informações:

# rm --help

e/ou:

# man rm

e/ou:

# info rm

6 - alterando o prompt do modo texto:


É possível alterar as informações disponíveis no prompt, ao invés de usar [user@host dir]$. Para isso, existem vários parâmetros que podem ser passados para o sistema na variável PS1. Os arquivos que devemos alterar são:

/etc/profile => Configurações globais
~/.profile
~/.bash_profile => Os dois para configurações locais


Veja qual é o default da maioria dos sistemas utilizando bash:

PS1="[u@h W]$"

Agora, entendendo o que quer dizer cada "letrinha" dessas apresentadas anteriormente:

u => Exibe o usuário no momento;
h => Exibe o host da máquina;
W => Exibe o último diretório que você está no momento (se estiver no /home/copag, será apresentado apenas copag);
$ => Se você for usuário comum, será apresentado o símbolo $, em caso do superusuário (root), será #.

Bom, existem muitos outros, não é simples guardar, mesmo porquê não utilizamos isso com freqüência. Porém, veja-os a seguir:

d => Exibe a data no formato "Dia-Semana Mês Dia-Mês";
t => Exibe a hora no formato "HH:MM:SS";
n => "Pula" para a linha de baixo;
w => Exibe o diretório atual no formato completo;
s => Exibe o nome do shell (no caso do bash);
# => Exibe um contador de comandos, ou seja, incrementa a cada comando feito;
! => Exibe o número do comando no `history', incluindo o ~/.bash_history;
\ => Exibe uma barra ( ).

Agora, veja como utilizar ANSI, com cores e deixar o prompt mais bonito... Para inserir as cores utilizando ANSI, utilize:

33[FFm33[LLm Comandos-Apresentados-Acima 33[0m

Explicando:

33[ => Iniciando string com caracteres ANSI;
FFm => FF = Cor de fundo, deve-se utilizar o "m" no final;
33[ => Iniciando novamente caracteres ANSI;
LLm => LL = Cor da letra, utilizando-se também o "m" no final;
33[ => Mais uma string de carateres ANSI;
0m => O número 0 desliga as cores anteriores (bom para evitar conflitos!).

Obs.: "Comandos-Apresentados-Acima" são comandos para alteração de prompt.

Veja o tão esperado exemplo:

PS1="33[41m33[32mu@h:w$ 33[0m"

Explicando:

PS1 => Variável responsável pela alteração do prompt;
33[ => Iniciando string ANSI;
41m => Cor de fundo: 41 corresponde a fundo vermelho;
33[ => Iniciando nova string ANSI;
32m => Cor de letra: 32 corresponde a verde;
u => Usuário corrente;
@ => Exibe (adiciona) o caracter "@" na linha de prompt;
h => Mostra o host local;
: => Exibe (adiciona) o caracter ":" na linha de prompt;
w => Exibe o caminho completo do diretório atual;
$ => Exibe $ (usuário comum) ou # (superusuário - root);
33[ => Iniciando última string ANSI;
0m => Anula as cores ao digitar um comando (como já dito, recomendável!).

Bom, não é tão complicado quanto parece, reserve alguns minutos para entender o que você está fazendo.

O exemplo acima, adicionado ao meu ~/.bash_profile exibirá, em minha máquina:

copag@linuxbq:~$

Isso no diretório /home/copag.
Se eu estiver no diretório /home/copag/LinuxBQ, seria apresentado:

copag@linuxbq:~/LinuxBQ$

É claro que seria apresentado com fundo vermelho e letras verdes. Use a sua imaginação para criar o seu, você pode!

Veja agora a lista completa de cores:

CC => Define a cor de fundo:
40 => Preto
41 => Vermelho
42 => Verde
43 => Amarelo
44 => Azul
45 => Rosa
46 => Azul claro
47 => Branco

FF => Define a cor da letra:
30 => Preta
31 => Vermelha
32 => Verde
33 => Amarela
34 => Azul
35 => Rosa
36 => Azul claro
37 => Branca

X => Opções especiais:
0 => Desliga a cor anterior
1 => Negrito
2 => Escuro
4 => Sublinhado (para monitores mono)
5 => Piscando (Blink)
7 => Reverso

Outros exemplos:

PS1="[u@t s:w]$ "

Exibiria:

[copag@07:32:50 bash:~]$

PS1="s@d W$ "

Exibiria:

bash@Sat Jun 15 copag$

PS1="33[47m33[5m33[34mu@s #:w$ 33[0m"

Exibiria:

copag@bash 1:~$

Isto seria exibido em fundo branco, letras azuis e piscando (blink). 1 é a quantidade de comandos (varia de máquina para máquina, é lógico!).

7 - copiando arquivos do Windows para Linux:

Entenda que, para visualizar uma partição Windows, do Linux, você deve ter um diretório onde a partição será montada.
Para entender melhor, imagine que todo o conteúdo do Windows (o que fica no C:), ficará disponível em um diretório no Linux. Esse diretório é comumente chamado de Ponto de Montagem. A partição é chamada de dispositivo. Utilize o super usuário (root) para fazer todo o procedimento. Veja a seguir.

Você pode acessar a sua partição Windows, da seguinte forma:

1) Crie um diretório win, dentro de /mnt:

# mkdir /mnt/win

2) Agora você deve montar a partição FAT32 do Windows nesse diretório /mnt/win. Isso é feito da seguinte forma:

# mount -t vfat /dev/IdxX /mnt/win

Repare que no comando acima, eu coloquei /dev/IdxX. Cada um desses dois "x" (x e X) tem um significado. A letra I também tem um sigfnicado. Quando IDE, o I tem equivalência de "h"; quando SCSI, de "s".

Para discos rígidos IDE:

Dispositivo Master primário: /dev/hda
Dispositivo Slave primário: /dev/hdb
Dispositivo Master secundário: /dev/hdc
Dispositivo Slave secundário: /dev/hdd

Para discos rígidos SCSI:

Primeiro disco SCSI: /dev/sda
Segundo disco SCSI: /dev/sdb
Terceiro disco SCSI: /dev/sdc
Quarto disco SCSI: /dev/sdd

Você pode reparar que eu expliquei apenas o que é o primeiro "x". É essa letra correspondente ao dispositivo. Se você tem apenas um HD na máquina, e Windows e Linux instalados nele, é bem provável que ele seja /dev/hda ou /dev/sda. E a partição do Windows é a inicializável, ou seja, é a primeira partição do HD. Logo, ela será /dev/hda1.

Na maioria dos casos (grande maioria), o dispositivo é /dev/hda1. Certifique-se dos discos em sua máquina, e depois utilize o seguinte comando para montar a sua partição Windows, no Linux:

# mount -t vfat /dev/hda1 /mnt/win

Vale lembrar que o parâmetro "-t vfat" corresponde ao seguinte:

- -t é quando você precisa especificar o tipo de sistema de arquivos (type);
vfat corresponde ao sistema de arquivos do Windows (FAT).

Para maiores informações do comando mount, utilize "mount --help" e/ou "man mount".

Depois de montado o sistema de arquivos do Windows, é hora de acessá-lo:

# cd /mnt/win

A partir daqui, você já está "dentro" do Windows. Pode utilizar comandos de copiar (cp), mover e renomear (mv), editar, etc. Faça a mesma coisa para as outras partições que você deseja acessar. O "chato" disso tudo é que você vai precisar digitar sempre o comando do "mount" para ter acesso à partição. Isso pode ser contornado da seguinte forma:

Edite o arquivo /etc/fstab, adicionando a seguinte linha:

/dev/hda1 /mnt/win vfat defaults 0 0

Lembre-se de ter atenção ao colocar essa linha, verifique como no comando: dispositivo e ponto de montagem. Agora, a cada reinicialização, sua partição estará montada em /mnt/win. Você pode acessá-la normalmente como usuário comum depois de ter feito esses procedimentos.

Obs: dica não válida para partições NTFS (Windows NT, 2000, XP).

8 - fazendo backup de arquivos com o TAR:

Quando precisamos fazer backups (cópias de segurança), salvar um grande número de arquivos (até mesmo um pequeno número, porquê não?), podemos utilizar o TAR (Tape ARchive). Eu tenho um diretório de arquivos texto (.txt), e tem também dois subdiretórios com arquivos textos mas que estão separados por se tratarem de assuntos diferentes. É só um exemplo. Quero fazer backup de tudo. Então, é só usar:

$ find . -name *.txt | tar cvzf backup.txt.tar.gz -T -

O "find" fará uma busca por arquivos com a extensão .txt, no diretório corrente;
O "tar" recebe a saída do comando através do pipe ( | ), através do parâmetro -T.
O caracter "-" funciona para leitura do comando find.

Um arquivo de nome "backup.txt.tar.gz" será criado e conterá todos os arquivos com a extensão .txt. Para descompactar o backup, quando necessitar, utilize:

$ tar zxvf backup.txt.tar.gz

Como você pode ver, é apenas um exemplo, você pode fazer o backup com os tipos de arquivo que você quiser.

Detalhes? Digite:

$ man tar

e/ou:


$ man find

9 - obtendo e alterando informações de usuários do sistema:

O arquivo /etc/passwd é usado para guardar as informações dos usuários no sistema. Nós podemos adicionar opções ao arquivo, para maiores informações do usuário. Primeiro, faça um teste, e veja o conteúdo do arquivo /etc/passwd da máquina:

$ cat /etc/passwd

Entre muitas linhas, uma delas é a seguinte:

copag:x:500:500::/home/copag:/bin/bash

copag => Usuário;
x => O que seria a senha, mas que, logicamente, não é informada;
500 => UID e GID;
/home/copag => Diretório do usuário;
/bin/bash => Shell do usuário.

O root pode alterar essas informações manualmente, editando o arquivo /etc/passwd.

Veja agora, um comando que permite adicionarmos maiores informações à conta, e que o usuário também tem acesso:

$ chfn copag
Changing finger information for copag.
Password: Informe a senha do seu login
Name []: Copag (Seu nome, ou o que desejar)
Office []: LinuxBQ - Linux ao alcance de todos! (Alguma identificação do que você faz)
Office Phone []: 5555-5555 (Telefone do trabalho)
Home Phone []: 4444-4444 (Telefone residencial)

Finger information changed.

O comando "chfn" vem de "Change Finger". Você não pode alterar as informaões de finger de alguém sem estar usando o login da mesma, mesmo com a senha. Nesse caso, faça login com o usuário que você deseja alterar. O root pode alterar qualquer um, e você pode utilizar "su login" para alternar para o login que quiser, caso possua a senha.

Agora, experimente olhar novamente o arquivo /etc/passwd:

$ cat /etc/passwd

Novamente, dentre muitas linhas, encontramos:

copag:x:500:500:Copag,LinuxBQ - Linux ao alcance de todos, 5555-5555, 4444-4444:/home/copag:/bin/bash

Repare que você pode visualizar informações de um determinado usuário, de uma forma mais cômoda, utilizando:

$ finger usuário

Veja:

$ finger copag
Login: copag Name: Copag
Directory: /home/copag Shell: /bin/bash
Office: LinuxBQ - Linux ao alcance de todos!
Office Phone: 5555-5555 Home Phone: 4444-4444
[...]
No mail.
No Plan.

Observação: [...] contém as linhas de informações de login e permanência no sistema.

Para maiores informações, use:

$ man finger
$ man 5 passwd
$ man chfn

10 - instalando o gerenciador de janelas Blanes 2000:

Para quem ainda não conhece, o Blanes 2000 (http://www.blanes.com.br) é um gerenciador de janelas com aparência semelhante ao Windows. Segundo os desenvolvedores, é uma boa opção para quem está migrando/testando agora o sistema operacional Linux, pois não encontrá maiores dificuldades. Saiba como instalar e adicionar a opção ao gerenciador de login gráfico. Primeiramente, faça o download do Blanes 2000 diretamente do site: http://labdid.if.usp.br/~blanes/download.php.

Eu fiz download de dois arquivos RPM (blwm-1.0.4-1.i386.rpm e blwm-1.0.4-1.src.rpm), já que utilizo Red Hat. Faça download dos arquivos referentes à sua distribuição. Instale os arquivos, utilizando, no diretório onde eles estão salvos (como root), o comando:

# rpm -ivh blwm*

Após ter instalado, adicione a entrada para o Blanes ao login de inicialização do X (gdm).

Para adicionar a opção ao menu de inicialização (no meu caso é GDM, verifique se você usa GDM - Gnome, ou KDM - do Kde), faça:

1) Como root, entre no diretório /etc/X11/gdm/Sessions:

# cd /etc/X11/gdm/Sessions

Crie um arquivo com o nome que você quer que seja apresentado no GDM, por exemplo:

# touch Blanes 2000

Será criado um arquivo de nome "Blanes 2000". Aquela informa ao shell que o próximo espaço também faz parte do nome do arquivo. Agora, altere as permissões:

# chmod 755 Blanes 2000

Edite agora o arquivo Blanes 2000 com o seu editor preferido:

# vim Blanes 2000

Adicione as seguintes linhas:

#!/bin/bash
exec /usr/local/bin/blwm

Como você pode ver, isso é pelo GDM. Se você utiliza KDM, veja como alterar:

Edite, como superusuário (root), o arquivo /etc/sysconfig/desktop em seu editor de textos preferido. Veja:

# cat /etc/sysconfig/desktop
DESKTOP="GNOME"

Na opção DESKTOP, você pode alterar para "KDE" ou "GNOME", usando assim o gerenciador gráfico de sua preferência.
O GDM é utilizado quando DESKTOP é definido como "GNOME".

Pronto, agora reinicie o X e escolha a opção Blanes 2000 para testar.

Quando você precisar adicionar outros gerenciadores de janela, já sabe como proceder.

Mais sobre:
Share Tweet
DESTAQUESRecomendado
Mais compartilhados
Comentários