slackware.linuxbr.org
Menu
   Principal
   Comandos
   Configuração
   Documentos
   Artigos
   Screenshots
   Plataformas
   Downloads
   Contato
   Sobre

Links
   Slackware Linux
   GUS Brasil
   Linux Packages


   Host: LinuxLots
   English Version

Linha de comando/Bash (parte 2)

Permissões

As permissões dos arquivos são definidas através dos comandos chmod, chown e chgrp.

Estrutura do comando:

 chmod <opções> <arquivo ou diretorio>

Ao listar as informações de um arquivo ou diretório, o formato é o seguinte: drwxrwxrwx.
Respectivamente: diretório (d), permissão do dono (read/write/execute), do grupo (read/write/execute) e de outros (read/write/execute).

Por exemplo, para transformar um arquivo em executável:

  • chmod +x nome_do_arquivo (executável para todos)
  • chmod g+x nome_do_arquivo (executável para o grupo)

Para alterar o usuário e o grupo de um arquivo ou diretório:

  • chown root.root /sbin/firewall.sh (-R: recursivamente)

Outros exemplos:

  • chmod 755 (executável): -rwxr-xr-x
  • chmod 4700 (suid) set user id para programas que precisam rodar com permissão de root: -rws------

Para calcular o valor numérico das permissões, basta considerar o valor do executavel como 1, de escrita como 2 e de leitura como 4, que seria o equivalente decimal aos bits:

rwx = 111 (todos bits ligados) = 2**2 + 2**1 + 2**0 = 7

Dessa forma, uma permissao de leitura e escrita (4+2) para o owner, e de leitura apenas para os outros teria o valor 644. Para calcular a umask, que seria a máscara de permissão aplicada na criação de um novo arquivo, basta então subtrair 666 (ou 777 para diretórios) resultando em umask 022.


Como se encontrar no sistema

Localizar arquivo por nome:
find [path...] -name [nome_do_arquivo]
find . -name slackware.png
find / -name "*.png" -print (arquivos png do dir. atual)
find /home -size +5000k -print (arquivos com mais de 5Mb)

Local de um binário:
whereis (ou which) [nome_do_arquivo]
which gcc
gcc: /usr/bin/gcc

Criar um banco de dados com o local dos arquivos (para busca imediata)
updatedb
Para pesquisar: (s)locate [nome_do_arquivo]

Localizar texto em arquivo:
grep [param] [texto] [arquivo]
grep -ni man /var/log/packages/grep.tgz (-i : case insensitive, -n : número da linha)
(use ' '(aspas simples) no [texto] para procurar palavra exata.)

ls -l | grep '^-..x' (lista executáveis)
ls -l | grep '^d' (lista diretórios - '^' indica a primeira letra da linha)

Outros:
cd - : alternar entre diretórios
pwd: listar caminho atual

Verificando integridade de um arquivo:

  sum: retorna checksum (16-bit) e número de blocos de cada arquivo.
$ sum arquivo.tar.gz

  cksum: retorna CRC checksum e bytes de cada arquivo.
$ cksum *.tar.gz > cksums

  md5sum: retorna o MD5 checksum (128-bit) do arquivo, e verifica a consistência.
$ md5sum --check MD5SUMS

Operações com texto:

comm/diff: compara dois arquivos.
ispell: verficador ortográfico (-d br: dicionário em português).
sort: ordena em ordem crescente, alfabética, etc.
uniq: remove linhas duplicadas.
cut: retorna area delimitada (-c5: quinto caracter).
wc: conta linhas, palavras e bytes.
fold: ajusta o texto para a largura especificada.
nl: numera as linhas de um arquivo.
fmt: reformata as linhas de um arquivo.
expand/unexpand: converte tabs em espaços e vice-versa.
tr: remove e substitui caracteres (-d a-d para remover as letras entre a-d, tr a-d A-D para torná-las maiúsculas).

Alterar data do sistema:
$ date 0109143001 (09/01/2001 14:30)
$ date -s "mm/dd/aaaa hh:mm:ss"

Criando aliases

  Adicionar arquivo de alias (ex: aliases.sh) em /etc/profile.d/
   chmod 755 aliases.sh
# exemplo de script alias.sh
# System wide functions and aliases

alias cdrom.on="mount /dev/hdd /mnt/cdrom"
alias cdrom.off="umount /dev/hdd"
alias zipdisk="mount -t vfat /dev/hdb4 /mnt/zip"
alias rm="rm -i"
alias x="startx -- -nolisten tcp"
 	    
Criando arquivos compactados
tar.gz
  É possível criar tarfile (tarball) da seguinte forma:
     tar -c file1 file2 > foo.tar
  Para 'zipar' o tar a mesma coisa:
     gzip -c file1 file2 > foo.tar.gz
 Ou então:
     tar -cvzf diretorio.tar.gz diretorio/
tar.bz2
  Troque o 'z' pelo 'j' para criar arquivos bzip2.
     tar -jxvf arquivo.tar.bz2 (descompactanto bz2)
zip
     zip -r filename.zip files

Screenshots
import -w root tela.jpg
xwd > tela.xwd

O editor vi(m)
 a / i: adiciona texto (append/insert).
 y / p: copiar e colar (copy/paste).
 x: deletar letra.
 /: buscar palavra (n: next N: prev).
 u: desfazer (undo).
 v: selecionar texto (visual).
:edit file: cria novo buffer.
:ls: lista buffers.
:buffer N: edita buffer N.
:bdelete: deleta buffer.
:so \$VIMRUNTIME/syntax/2html.vim: converte source em html.
:ab SW slackware: cria abreviação (abclear: remove abs.)
 map <F10>:qa!<Cr> : mapeia tecla (adicione em .vimrc)

Para gravar digite ESC seguido por :wq (write and quit), :q! (sair sem gravar) ou :qa! (fechar todos).


Outros utilitários no console
whatis/apropos: descrição do programa.
bc: calculadora (ex: echo "scale=2;1/10"|bc //scale são as casas decimais).
nano: editor de texto simples (nano-editor.org).
jed: editor de texto para programadores.
mc: o midnight commander.

Magic SysRq!

Para situações onde não temos acesso ao sistema via ssh/telnet, a combinação ALT + SysRq/PrintScrn + X pode ser muito útil.

Ex: ALT + SysRq + ... k: mata o VC atual; e: sigterm (exceto ao init); i: sigkill (exceto ao init)

Para reiniciar o sistema de forma segura, digite na sequência:

Alt+SysRq S (sync), Alt+SysRq U (unmount), Alt+SysRq B (reboot)

No terminal, os processos serão descritos, portanto apenas siga para o próximo passo após o término do primeiro.

©2002 r_linux & misfit
Slackware® is a registered trademark of Slackware Linux, Inc. Linux is a registered trademark of Linus Torvalds.

XHTML 1.0 Transitional