Comandos básicos de manexo de ficheiros

De Deseño, implantación e configuración dun dominio/rede Linux.
Saltar a: navegación, buscar

O intérprete de comandos

  • A misión fundamental do intérprete de comandos ou shell é recibir os comandos e parámetros introducidos polo usuario e transformalos en chamadas ao sistema
  • Existen varios intérpretes de comandos para Linux moi completos dado que nos contornos UNIX é moi utilizada a programación sobre os intérpretes de comandos (con scripts de shell).
  • O intérprete de comandos máis utilizado actualmente é bash. Algunhas características prácticas del son:
    • Os shells de Linux distinguen entre maiúsculas e minúsculas: ls <> Ls!!
    • Bash almacena un historial dos últimos comandos introducidos polo usuario (que se almacena no ficheiro .bash_history), que podemos utilizar de distintas formas:
      • Coas teclas do cursor de arriba e abaixo podemos movernos polos comandos introducidos.
      • O comando history permítenos visualizar o historial de datos almacenados
      • O carácter “!” antes dun comando invoca o comando cos últimos parámetros cos que foi invocado
    • Podemos utilizar o tabulador para que bash complete o comando que se vai introducir.
    • O shell mantén unha serie de variables de contorno, con información relevante do usuario, das aplicacións e do sistema. Por exemplo, o número de comandos que se almacena no historial é o establecido na variable HISTSIZE
    • O comando exit pecha unha sesión no modo texto

Obter o directorio actual con pwd

  • Cando estamos utilizando o intérprete de comandos sempre temos un directorio de traballo, o directorio no que nos atopamos nese momento.
  • Para saber cal é o directorio de traballo, utilizamos o comando pwd
$ pwd
/home/usuario

Ver o contido dun directorio con ls

  • O comando ls permítenos visualizar os directorios e ficheiros que hai dentro dun directorio.
  • Se usamos o comando sen ningún parámetro, mostrará o contido do directorio actual; tamén podemos indicarlle o cartafol do que queremos ver o contido:
$ ls
cache/   db/     lib/    lock/  mail@   nis/  preserve/  spool/  vmware/  yp/
catman/  games/  local/  log/   mtink/  opt/  run/       tmp/    www/
$ ls /opt
openoffice.org2.2/  TapDown.sh*  TapUp.sh*  VirtualBox-1.4.0/
  • O intérprete de comandos permite introducir metacaracteres nas rutas que se lles pasan aos comandos:
    • * : Cero ou varios caracteres.
    • ? : Un caracter.
    • […] : Algún dos caracteres indicados (Por exemplo [ahc])
  • Tamén podemos pasarlles parámetros aos comandos:
    • Os parámetros introdúcense despois do comando ás veces precedidos do símbolo
    • Pódense combinar distintos parámetros.
    • Non importa a orde na que se introduzan os distintos parámetros do comando.
  • O comando ls acepta moitos parámetros, os máis destacables son:
    • l: Mostra un listado completo con características dos ficheiros e directorios
    • i: Mostra os números de i-nodo dos ficheiros e directorios
    • a: Mostra tamén os ficheiros e directorios ocultos (empezan por .)
    • h: Mostra os tamaños en formato humano.
    • R: Listado recursivo.
$ ls -liha /opt/
total 20K
58720480 drwxr-xr-x  4 root root   85 Xuñ 15 01:51 ./
     128 drwxr-xr-x 25 root adm  4,0K Xul  1 14:31 ../
17561312 drwxr-xr-x  8 root root 4,0K Mar 22 11:09 openoffice.org2.2/
59481135 -rwxrwxrwx  1 root root   38 Mai  1 06:12 TapDown.sh*
59481136 -rwxrwxrwx  1 root root   68 Mai  1 06:12 TapUp.sh*
42100114 drwxr-xr-x  7 root root 4,0K Xuñ 15 01:51 VirtualBox-1.4.0/

Tipos de ficheiros: Crear ficheiros, directorios e enlaces

En Linux existen catro tipos de ficheiros:

  • Ficheiros normais (-):
    • Son ficheiros con datos, xa sexan de texto ou binarios. Teñen un nome e poden ter unha extensión, aínda que Linux non asocia tipos de ficheiros nin aplicacións segundo as extensións dos mesmos (si pode facelo unha aplicación concreta, como konqueror ou nautilus).
    • Os ficheiros de datos xenéranse dende distintas aplicacións (editores de texto, compiladores, etc.). Podemos crear un ficheiro baleiro co comando touch.
  • Directorios (d):
    • Os directorios ou cartadois en Linux son ficheiros dun tipo especial, que como información conteñen unha lista de entradas cos números de i-nodo e nome dos ficheiros e directorios que conteñen (táboa de entradas de directorio).

Para crear un directorio, usaremos mkdir nome_directorio.

  • Dispositivos: Represéntanse en Linux como ficheiros, que serán de tipo b se son dispositivos de bloque e c se son de carácter.
  • Enlaces: Son ficheiros aparentemente independentes que en realidade acceden ao mesmo elemento do sistema de ficheiros. Podemos distinguir dous tipos de enlaces:
    • Enlaces débiles ou simbólicos: Un enlace simbólico é un “acceso directo” a outro ficheiro. Ao crear un enlace simbólico créase un novo ficheiro dun tipo especial (l) que como datos ten a ruta do ficheiro de destino. Creamos un enlace con ln –s:
$ mkdir DirExemplo
$ ln -s DirExemplo EnlaceExemplo
$ ls -li
total 4
33638607 drwxr-xr-x 2 antonio antonio  6 Xul  1 22:04 DirExemplo/
42320067 lrwxrwxrwx 1 antonio antonio 10 Xul  1 22:04 EnlaceExemplo -> DirExemplo/
    • Enlaces fortes ou duros: Os enlaces duros son distintas rutas na árbore que apuntan ao mesmo i-nodo. Non aparecen marcados de ningún xeito especial, pero accedamos a un ou a outro en realidade estaremos accedendo ao mesmo ficheiro. Non se permite crear enlaces fortes entre directorios. Creamos un enlace forte con ln:
$ touch FichExemplo
$ ln FichExemplo EnlaceForteExemplo
$ ls -li
total 12
33638607 drwxr-xr-x 2 antonio antonio  6 Xul  1 22:04 DirExemplo/
42320067 lrwxrwxrwx 1 antonio antonio 10 Xul  1 22:04 EnlaceExemplo -> DirExemplo/
42320068 -rw-r--r-- 2 antonio antonio  0 Xul  1 22:08 EnlaceForteExemplo
42320068 -rw-r--r-- 2 antonio antonio  0 Xul  1 22:08 FichExemplo

Moverse polos directorios con cd

  • O comando cd permítenos cambiar o directorio de traballo. Simplemente o invocaremos como cd rutaDirectorio para movernos a ese directorio.
  • Hai unha serie de valores especiais que podemos indicar na ruta do directorio:
    • cd . , cd..: Todo directorio en Linux ten a entrada . que apunta ao propio directorio e a entrada .. que apunta ao directorio superior.
    • cd : Se non indicamos ningunha ruta levaranos ao noso cartafol persoal.
    • cd -: Permite volver atrás; ao último directorio de traballo.

Copiar e mover ficheiros e directorios

  • Podemos copiar ficheiros dunha ruta a outra co comando cp. Usaremos cp orixe destino.
  • O parámetro –R permítenos copiar recursivamente directorios completos.
  • Se en lugar de copiar, queremos mover ficheiros ou directorios, usaremos mv orixe destino.

Visualizar ficheiros

  • Dende o intérprete de comandos podemos visualizar o contido dos ficheiros con dous comandos:
    • more: Mostra o contido do ficheiro de forma paxinada.
    • cat: Permite concatenar ficheiros e mostralos pola saída estándar (a consola). Se só lle pasamos un ficheiro, mostra por pantalla o contido do mesmo.

Borrar ficheiros e directorios

  • Para borrar ficheiros utilizamos o comando rm. Os parámetros máis destacables deste comando son:
    • R ou –r: Permite borrar directorios, borrando previamente todo o contido dos mesmos.
    • i: Pide confirmación ao usuario antes de cada borrado.
    • f: Non pide confirmación nin amosa erros no proceso.
  • Se queremos borrar directorios baleiros podemos utilizar o comando rmdir.


Comprimir a información

En Linux existen diversas utilidades para a compresión de información, que poden ser utilizadas de modo gráfico ou con comandos:

  • Compresión con tar (utilidade de empaquetado) e gzip (compresión):
    • Comprimimos con tar czvf FicheiroDestino FicheirosOuDirectorio
    • Descomprimimos un ficheiro con tar xzvf FicheiroComprimido
    • Podemos visualizar o contido dun ficheiro con tar tzvf FicheiroComprimido
    • Podemos comprimir e descomprimir en varios volumes coa opción M.
  • Compresión con zip/unzip:
    • Comprimiremos con zip –r FicheiroDestino Directorio
    • Descomprimiremos con unzip FicheiroComprimido


Buscar ficheiros

  • O comando find permite realizar buscas de ficheiros na árbore de directorios segundo diversos criterios.
  • Usarémolo tecleando find ruta expresión:
    • A ruta indica dende que punto da árbore queremos facer a busca.
    • A expresión permítenos indicar os criterios da busca, que entre outros poden ser:
      • name nome: Busca un ficheiro co nome especificado.
      • atime +/-numDias: Busca os ficheiros que foron accedidos dende fai máis/menos o número de días indicados.
      • size +/-tamañok: Busca os que teñen un tamaño maior/menor que o indicado.